1、建表
CREATE TABLE Student(Cno CHAR(4) PRIMARY KEY,Cname char(40) not null,Cpno CHAR(4),FOREIGN KEY Cpno REFERENCES Course(Cno));
注意: 主键的一种写法和外键的写法,还有一些约束(not null, autoincreament, unique...)
CREATE TABLE SC(Sno CHAR(9),Cno CHAR(4),Grade INTEGER,PRIMARY KEY(Sno, Cno),FOREIGN KEY (Sno) REFERENCES Student(Sno),FOREIGN KEY (Cno) REFERENCES Course(Cno));
注意: 两个主键的定义的方法和外键的定义方法。
2、修改表
ALTER TABLE <表名>#用于增加新列和新的完整性约束条件[ADD <新列名> <数据类型> [完整性约束]]#删除制动的完整性约束条件[DROP <完整性约束名>]#修改原有的列定义[ALTER COLUMN <列名><数据类型>]ALTER TABLE Student ADD S_entrance DATE;ALTER TABLE Student ALTER COLUMN Sage INT;ALTER TABLE Course ADD UNIQUE(Cname);
3、删除表
DROP TABLE <表名> [RESTRICT | CASCADE];
注意: 1、RESTRICT 删除表是有限制条件的
2、CASCADE删除表没有限制条件,删除基本表的同时,相关的依赖对象(如:
视图)也会被删除。
4、数据查询
SELECT [ALL | DISTINCT] <目标列表达式>[, <目标列表达式>]...FROM <表名或视图名> [, <表名或视图名>]...[ WHERE <条件表达式> ][ GROUP BY <列名1> [ HAVING <条件表达式> ]][ ORDER BY <列名2> [ASC | DESC]]
常用的查询条件:
字符匹配:
| 查询条件 | 谓词 |
| 比较 | =, >, <. >=, <=, !=, <>, !>, !<; NOT+上述比较运算符 |
| 确定范围 | BETWEEN AND, NOT BETWEEN AND |
| 确定集合 | IN, NOT IN |
| 字符匹配 | LIKE, NOT LIKE |
| 空值 | IS NULL, IS NOT NULL |
| 多重条件(逻辑运算) | AND, OR, NOT |
1、‘%’(百分号)代表任意长度(可以是0)的字符串
2、 ‘_' (下划线)代表任意单个字符
3、 如果用户要查询的字符串本身就含有通配符 % 或 _,那么就要用ESCAPE '<换码字符>'
SELECT * FROM Course WHERE Cname like 'DB\_%i_ _' ESCAPE '\'; #第一个_是普通字符,后面两个是通配符
5、插入数据
INSERTINTO <表名> [ (<属性列1> [ ,<属性列2 >...]) ]VALUES( <常量1> [, <常量列2>...]);
注意: 可以插入子查询的结果。
6、修改数据
UPDATE <表名>SET <列名1> = <表达式1> [, <列名2> = <表达式2>]...[WHERE <条件>];
注意: 可以带子查询的修改数据
7、删除数据
DELETEFROM <表名>[WHERE <条件>];
注意: 如果没有条件,那么删除操作将是删除这个表中的数据,但是这个表的仍然在,只是没有了数据。
2245

被折叠的 条评论
为什么被折叠?



