Statemen接口对象
利用Statement接口实现数据表的更新和查询操作
-取得Statement接口对象:Statement createStatement(int resultSetType, int resultSetConcurrency) throws SQLException
一个Connection 可以打开多个Statement
-数据更新操作:int executeUpdate(String sql, int autoGeneratedKeys) throws SQLException
返回int更新行数
-数据查询操作:ResultSet executeQuery(String sql) throws SQLException
返回ResultSet
编写数据库创建脚本,创建一个表格脚本
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通过序列生产
数据更新操作:
每次更新之后都会返回影响的数据行数
数据增加的Oracle命令
INSERTINTO 表名称 (列,列,、、) VALUSES (值,值。。。) ;
package cn; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Statement; public class Test { private static final String DBDRIVER = "oracle.jdbc.driver.OracleDriver"; private static final String DBURL = "jdbc:oracle:thin:@localhost:1521:mldn"; private static final String USER = "scott" ; private static final String PASSWORLD = "tiger" ; public static void main(String[] args) throws Exception{ //第一步 加载数据库驱动程序,此时不需要实例化,会有容器自己负责管理 Class.forName(DBDRIVER) ; //第二步 连接数据库 每一个Connection都代表一个数据库连接 Connection conn = DriverManager.getConnection(DBURL,USER,PASSWORLD) ; //第三步,进行数据库的数据操作 Statement stmt = conn.createStatement(); String sql = "INSERT INTO member (mid,name,birthday,age,note) VALUES(myseq.nextval,'张三',TO_DATE('1999-10-10','yyyy-mm-dd'),17,'人')"; int len = stmt.executeUpdate(sql); System.out.println(conn) ; System.out.println(len); //关闭连接 stmt.close(); conn.close(); } }
这个时候就会更新了数据库中的列表信息
范例:数据修改
命令格式 UPDATE 表名称 SET 字段=值,WHERE 更新条件
String sql = "UPDATE member SET name='李四' ,birthday=SYSDATE ,age=30 WHERE mid IN(2,3)";
结果:
范例:数据删除
命令: DELETEFROM 表名称 WHRER 删除条件() ;
String sql = "DELETE FROM member WHERE name = '张三'";
数据查询
数据查询的结果返回程序,由用户处理
在数据库中虽然有几百张数据表,但是数据表的数据组成的类型是固定的。
next
boolean next() throws SQLException
Moves the cursor froward one row from its current position
getInt
int getInt(String columnLabel) throws SQLException
等等。。。
//开发标准,不写 * String sql = "SELECT mid,name,age,birthday,note FROM member"; ResultSet rs = stmt.executeQuery(sql); while(rs.next()){ int mid = rs.getInt("mid") ; String name = rs.getString("name") ; int age = rs.getInt("age") ; Date birthday = rs.getDate("birthday"); String note = rs.getString("note"); System.out.println(mid + ", " + name +", " + age + ", " + birthday +", " +note); }