DROP TABLE member PURGE;
DROP SEQUENCE myseq;
CREATE SEQUENCE myseq;
CREATE TABLE member(
mid NUMBER,
name VARCHAR2(20),
birthday DATE DEFAULT SYSDATE,
age NUMBER(3),
note CLOB,
CONSTRAINT pk_mid PRIMARY KEY(mid)
);
mid要通过序列生成,序列操作“nextval”伪列取得下一个增长的数值。
###数据更新操作
数据的更新操作最关键的问题是每次完成更新之后都一定对返回影响的数据行数。
范例: 数据增加
语法:INSERT INTO 表名称(列, 列, ...) VALUES(值, 值, ...);
public class TestDemo {
private static final String DBDRIVER = "oracle.jdbc.driver.OracleDriver";
private static final String DBURL = "jdbc:oracle:thin:@localhost:1521:orcl";
private static final String USER = "scott";
private static final String PASSWORD = "tiger";
public static void main(String[] args) throws Exception {
// 1.加载数据库驱动程序,此时不需要实例化,因为会由容器自己负责管理
Class.forName(DBDRIVER);
// 2.连接数据库
Connection conn = DriverManager.getConnection(DBURL, USER, PASSWORD);
// 3.进行数据库的数据操作
Statement stmt = conn.createStatement();
// 在编写SQL的过程里面,如果太长的时候需要增加换行,一定要加上前后空格
String sql = "INSERT INTO member(mid, name, birthday, age, note) VALUES "
+ " (myseq.nextval, '张三', TO_DATE('1998-10-10','yyyy-mm-dd'), 21, '是个人')";
int len = stmt.executeUpdate(sql); // 执行SQL返回更新的数据行
System.out.println("影响的数据行:" + len);
// 4.关闭数据库
conn.close();
}
}
范例: 数据修改
语法:UPDATE 表名称 SET 字段 = 值, ... WHERE 更新条件(s);
public class TestDemo {
private static final String DBDRIVER = "oracle.jdbc.driver.OracleDriver";
private static final String DBURL = "jdbc:oracle:thin:@localhost:1521:orcl";
private static final String USER = "scott";
private static final String PASSWORD = "tiger";
public static void main(String[] args) throws Exception {
// 1.加载数据库驱动程序,此时不需要实例化,因为会由容器自己负责管理
Class.forName(DBDRIVER);
// 2.连接数据库
Connection conn = DriverManager.getConnection(DBURL, USER, PASSWORD);
// 3.进行数据库的数据操作
Statement stmt = conn.createStatement();
// 在编写SQL的过程里面,如果太长的时候需要增加换行,一定要加上前后空格
String sql = "UPDATE member SET name = '李四', birthday = SYSDATE, age = 30 WHERE mid IN(3, 5, 7, 9, 11, 13, 15, 17)";
int len = stmt.executeUpdate(sql); // 执行SQL返回更新的数据行
System.out.println("影响的数据行:" + len);
// 4.关闭数据库
conn.close();
}
}
范例: 删除数据
语法:DELETE FROM 表名称 WHERE 删除条件(s);
public class TestDemo {
private static final String DBDRIVER = "oracle.jdbc.driver.OracleDriver";
private static final String DBURL = "jdbc:oracle:thin:@localhost:1521:orcl";
private static final String USER = "scott";
private static final String PASSWORD = "tiger";
public static void main(String[] args) throws Exception {
// 1.加载数据库驱动程序,此时不需要实例化,因为会由容器自己负责管理
Class.forName(DBDRIVER);
// 2.连接数据库
Connection conn = DriverManager.getConnection(DBURL, USER, PASSWORD);
// 3.进行数据库的数据操作
Statement stmt = conn.createStatement();
// 在编写SQL的过程里面,如果太长的时候需要增加换行,一定要加上前后空格
String sql = "DELETE FROM member WHERE mid IN(10, 20, 30)";
int len = stmt.executeUpdate(sql); // 执行SQL返回更新的数据行
System.out.println("影响的数据行:" + len);
// 4.关闭数据库
conn.close();
}
}