一、创建数据表
一是可以通过图形界面:



2、第二种是根据SQL语句
(参照表和被参照表可以是同一个表)
CREATE TABLE Course(
Con CHAR(4) PRIMARY KEY,
Cname CHAR(40) NOT NULL,
Cpno CHAR(4),
Credit SMALLINT,
FOREIGN KEY(Cpno) REFERENCES Course(Con)
--表级完整性约束条件,Cpno是外码,被参照列是Cno
);

实战:创建学生选课表
CREATE TABLE SC(
Sno CHAR(9),
Cno CHAR(4),
Grade SMALLINT,
PRIMARY KEY(Sno,Cno),
--FOREIGN KEY(Sno) REFERENCES Student(Sno),
--FOREIGN KEY(Con) REFERENCES Course(Con)
);
2.数据类型
CHAR(n):长度为n的定长字符串
VARCHAR(n):最大长度为n的变长字符串
其他的数据类型根据需要问度娘
3.模式与表
每一个基本表都属于一个模式,一个模式包含多个基本表。
方法一:在表中显示地给出模式名
CREATE TABLE "S-T".Student(...);
CREATE TABLE "S-T".Course(...);
CREATE TABLE "S-T".SC(...);
方法二:在创建模式语句中同时创建表
方法三:设置所属的模式,这样在创建时表名不用给出模式名
4、修改表
1)添加列
ALTER TABLE Product ADD Product_test CHAR(9) NOT NULL;

2、改变数据类型
ALTER TABLE Product ALTER COLUMN Product_test INT;

3、增加约束条件
ALTER TABLE Product ADD UNIQUE(Product_test);
4、删除完整性约束

--这句话不知道为什么编译不通过
DROP CONSTRAINT PRIMARY KEY(ProNo) RESTRICT;
5、删除列
DROP COLUMN Product_test RESTRICT
6、删除表
DROP TABLE <表名>[RESTRICT|CASCADE];
RESTRICT:该表的删除是有限制条件的,欲删除的表不能被其他表的约束所引用,不能建立视图,不能有触发器…如果存在这些依赖该表的对象,则此表不能删除
CASCADE:该表的删除条件没有限制条件,在删除基本表的同时,相关的依赖对象一并被删除
4902

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



