1>数据定义语言DDL 用于定义SQL模式,数据表,视图和索引等数据库对象
2>数据操纵语言DML 数据查询和数据更新语言
3>数据控制语言DCL 设定或更改数据库用户或角色
4>嵌入式SQL语言 SQL语句嵌入到宿主语言中
数据类型:
1>数字类型 INTEGER SMALLINT REAL NUMERIC DECIMAL FLOAT DOUBLE...
2>日期和时间类型 TIMESTAMP DATE TIME...
3>字符和字符串类型 CHARACTER CHAR VARCHAR...
聚合函数:AVG(),COUNT(),MAX(),MIN(),SUM().....
标量函数:
算术函数(求绝对值,平方)
字符串函数(求字符串长度)
时间日期函数(返回系统当前时间)
中继数据函数
模式:
数据库表的集合称为一个模式,由模式名和模式的拥有者组成
CREATE SCHEMA student AUTHORIZATION stu;
DROP SCHEMA student CASCADE;
CASCADE一起删除模式内的数据库对象
RESTRICT模式内存在数据库对象时不允许删除
CREATE TABLE student( xuehao CHAR(7) PRIMARY KEY, name CHAR(8) NOT NULL, sex CHAR(2), age SMALLINT, jiguan CHAR(20), dept CHAR(10) DEFAULT '计算机');
数据表的创建修改和删除
ALTER TABLE student ADD address CHAR(30);添加address列
DROP TABLE student CASCADE|RESTRICT
索引的创建和删除
CREATE INDEX xuehao_index ON student(xuehao)
DROP INDEX xuehao_index
数据修改UPDATE student SET age=age+1 WHERE xuehao='2004007'
数据删除DELETE FROM student;
JDBC编程
jdbc:subprotocal:data source identifier
jdbc:odbc:university 以jdbc odbc桥的方式连接university数据库
jdbc:odbc:university?user=username&password=password 带有参数的连接
连接网络数据库的格式
jdbc:subprotocal://[hostname][:port][dbname][?parameter1=value1][¶meter2=value2]......
jdbc:microsoft:sqlserver://localhost:1433;dataBase=university?user=username&password=password
使用JDBC驱动来连接sqlserver数据库:
Try{ forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=university" conn=DriverManager.getConnection(url,userName,password); catch(Exception e){ System.out.println(e); }
使用JDBC-ODBC桥来连接:
Try{ forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance(); url="jdbc:odbc:university" conn=DriverManager.getConnection(url,userName,password); catch(Exception e){ System.out.println(e); }
Statement对象主要是用来执行SQL语句,可以利用Connection对象的createStatement()方法创建一个Statement对象
Statement statement=conn.createStatement(); String sql="select * from student"; ResultSet rs=statement.executeQuery(sql);
ResultSet接受返回结果
如果要执行insert,delete,update,create,drop语句,应使用executeUpdate方法
String sql="delete from student where xuehao="+"'0741210'"; int i=statement.executeUpdate(sql);//返回值是受影响的行数 System.out.println(i); public boolean execute()throws Exception
用于执行事先不知道类型的SQL语句,用于动态处理未知的SQL语句