JDBC操作(二)
CREATE DATABASE demo;
USE demo;
DROP TABLE IF EXISTS user;
CREATE TABLE user(
......
);
DESC user;
SELECT * FROM user;
对数据操作要使用Statement接口完成,此接口可以使用Connection接口中提供的createStatement()方法实例化:
createStatement
Statement createStatement() throws SQLException
- 创建一个
Statement
对象来将 SQL 语句发送到数据库。不带参数的 SQL 语句通常使用Statement
对象执行。如果多次执行相同的 SQL 语句,使用PreparedStatement
对象可能更有效。使用返回的
Statement
对象创建的结果集在默认情况下类型为TYPE_FORWARD_ONLY
,并带有CONCUR_READ_ONLY
并发级别。已创建结果集的可保存性可调用getHoldability()
确定。 - 返回:
- 一个新的默认
Statement
对象 - 抛出:
SQLException
- 如果发生数据库访问错误,或者在关闭的连接上调用此方法
实例操作 一:执行数据库插入操作
MySQL中操作如下:
INSERT INTO 表名称[(字段1, 字段2, ... ,字段n)] VALUES (值1,值2,...,值n);
JAVA中操作如下:
1 import java.sql.Connection; 2 import java.sql.Statement; 3 import java.sql.DriverManager; 4 import java.sql.SQLException; 5 6 public class InsertDemo{ 7 public static final String DBDRIVER = "org.gjt.mm.mysql.Driver"; 8 public static final String DBURL = "jdbc:mysql://localhost:3306/demo"; 9 public static final String DBUSER = "root"; 10 public static final String DBPASS = "123"; 11 12 public static void main(String args[]){ 13 Connection conn = null; 14 Statement stmt = null; 15 String sql = "INSERT INTO user(name,password,age,sex,birthday)" 16 +"VALUES('MATRIXyan','www.matrixyan.com',21,'male','1991-8-18')"; 17 try{ 18 Class.forName(DBDRIVER); 19 }catch(ClassNotFoundException e){ 20 e.printStackTrace(); 21 } 22 try{ 23 conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS); 24 }catch(SQLException e){ 25 e.printStackTrace(); 26 } 27 try{ 28 stmt = conn.createStatement(); 29 }catch(SQLException e){ 30 e.printStackTrace(); 31 } 32 try{ 33 stmt.executeUpdate(sql); 34 }catch(SQLException e){ 35 e.printStackTrace(); 36 } 37 try{ 38 stmt.close(); 39 }catch(SQLException e){ 40 e.printStackTrace(); 41 } 42 try{ 43 conn.close(); 44 }catch(SQLException e){ 45 e.printStackTrace(); 46 } 47 } 48 }
实例操作 二:执行数据库修改
UPDATE 表名 SET 字段1 = 值1 , ... ,字段n = 值n [WHERE 更新条件];
1 String name = "MATRIXYAN"; 2 String password = "www.matrixyan.com"; 3 int age = 20 ; 4 String sex = "female"; 5 String birthday = "1990-8-18"; 6 int id = 3 ; 7 String sql = "UPDATE user SET name="'+name+'",password="' 8 +password+'",age="'+age+'"sex="'+sex+'"birthday="'+birthday+' 9 "WHERE id="+id;
实例操作 三:执行数据库删除
DELETE FROM 表名[删除条件];
1 int id = 3 ; 2 String sql = "DELETE FROM user WHERE id =" + id ;