Java中的資料庫及MYSQL基礎操作
阿新 • • 發佈:2019-02-08
1.資料庫
就是存資料的倉庫。本文所使用的為MYSQL資料庫。
2.SQL語句
2.1.簡介
它是一種資料庫的程式碼,我們在建立資料庫,向資料庫中新增或修改資訊時,都要通過它來傳遞。
對於SQL語句的語法:要以分號結尾,不區分大小寫,常用型別為int,double,varchar(字串),date(日期)
注:日期date型的格式為yyyy-MM-dd,只有年月日。
2.2.相關語句
2.2.1建立表
2.2.2查看錶create table 表名( 欄位名 型別(長度) 約束, 欄位名 型別(長度) 約束 );
show 表名;
2.2.3刪除表
drop table 表名;
2.2.4插入表(常用)
insert into 表 (列名1,列名2,列名3..) values (值1,值2,值3..);
2.2.5更新表
update 表名 set 欄位名=值,欄位名=值; update 表名 set 欄位名=值,欄位名=值 where 條件;
2.2.6刪除表
delete from 表名 [where 條件];
如果設定有自動計數的話,detete不刪除自動計數
2.2.7查詢表(常用)
select 欄位1,欄位2,...from 表名;
3.JDBC
JDBC是連線java和資料庫的工具,有了它,我們可以通過java來操作資料庫。
3.1 首先我們要自行匯入驅動jar包,將驅動包新增進工程
對於mysql的驅動包名字為:
mysql-connector-java-5.1.37
3.2 連線及關閉
由於我們會多次使用資料庫連線,為了節省資源,簡化程式,我們將每次重複連線的步驟做一整合,將它們所有連線步驟做成一個工具類,每次需要連線資料庫時只需要呼叫該工具類,得到他方法中的返回值,再進行操作。
每次使用時,進行呼叫。import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class JDBCUtils { private JDBCUtils() {} private static Connection con; static { try { Class.forName("com.mysql.jdbc.Driver"); String url="jdbc:mysql://localhost:3306/mybase"; //url: 資料庫地址 jdbc:mysql://連線主機IP:埠號//資料庫名字 String username="****";//自己設定的使用者名稱 String password="****";//自己設定的密碼 con=DriverManager.getConnection(url, username, password); } catch (Exception e) { throw new RuntimeException(e); } } public static Connection getConnection() { return con; } public static void close(Connection con,Statement stat,ResultSet rs) { if(con!=null) { try { con.close(); } catch (Exception e) {} } if(stat!=null) { try { stat.close(); } catch (Exception e) {} } if(rs!=null) { try { rs.close(); } catch (Exception e) {} } } }
import java.sql.Connection; public class JDBCtest { public static void main(String[] args) { Connection con=JDBCUtilsConfig.getConnection(); System.out.println(con); } }
3.3瀏覽資料庫
3.4修改表資料import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; /* * 瀏覽資料庫 */ public class JDBCDemo1 { public static void main(String[] args) throws ClassNotFoundException, SQLException { Connection con=JDBCUtils.getConnection();//獲得與資料庫的連線 Statement stat=con.createStatement();//建立一個Statment物件將SQL語句傳送到資料庫 String sql="select * from sort"; ResultSet rs=stat.executeQuery(sql);//執行SQL語句並返回一個ResultSet物件 //ResultSet表示資料庫結果集的資料表 while(rs.next()) { //遍歷rs這個結果集 System.out.println(rs.getInt("sid")+" "+rs.getString("sname")+" "+rs.getString("sprice")+" "+rs.getString("sdesc")); } JDBCUtils.close(con, stat, rs); //關閉 } }
3.5刪除資料import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; //資料表的修改 public class JDBCDemo3 { public static void main(String[] args) throws SQLException, ClassNotFoundException { Connection con=JDBCUtils.getConnection(); String sql="update sort set sname=?,sprice=? where sid=?"; //?為佔位符,需要後續將資料加入?所在的地方 PreparedStatement pst=con.prepareStatement(sql);//prepareStatement為Statement的子類,功能相仿 pst.setObject(1, "something");//將"something"新增到第一個?處 pst.setObject(2, 100);//將100新增到第二個?處 pst.setObject(3, 4);//將4新增到第三個?處,此時得到了完整的SQL語句 pst.executeUpdate();//執行SQL語句 JDBCUtils.close(con, pst, null);//關閉 } }
通過這些操作就可以對資料庫進行簡單的增刪改操作了。import java.sql.Connection; import java.sql.PreparedStatement; public class JDBCDemo6 { public static void main(String[] args) throws Exception{ Connection conn = JDBCUtils.getConnection(); String sql = "delete from sort where sid=?";// ?為佔位符 PreparedStatement stat = conn.prepareStatement(sql); stat.setInt(1, 1); int line = stat.executeUpdate(); stat.close(); conn.close(); } }