主键和外键终于弄清楚了——定义基本表
SQL语言使用CREATE TABLE语句定义基本表,其基本格式:
create table 表名 (列名 数据类型 [列级完整性约束条件], //约束条件可有可无
列名 数据类型) [列级完整性约束条件],
.....)
例如1:建立一个学生表Student
create table Student
(Sno CHAR(9) PRIMARY KEY, //主码
Sname CHAR(20) UNIQUE, //唯一的
Ssex CHAR(2),
Sage SMALLINT,
Sdept CHAR(20),
);
注意:
PRIMARY KEY 表示为设置Sno学生的学号为主键或叫主码,是可以唯一标识一个元组的。一个表只给有一个主键,可以没有主键。建主键主要是辨识此表中的记录的唯一性,好操作,另一个优点就是用来做索引,可以大大提高查询的速度(就好比每个人都有身份证,身份证号就代表了你这个人是唯一性的)。
例如2:定义两张表,表1(学号,姓名,性别),学号为主键. 表2(学号,课程,成绩). 可以为表2的学号定义外键(FOREIGN KEY),该外内键的取值范围参照(REFERENCES)表1的学号
表1:
create table Student
(Sno CHAR(9) PRIMARY KEY, //主码
Sname CHAR(20) UNIQUE, //唯一的
Ssex CHAR(2),
);
表2:
create table Course
( Sno int ,
Sc char(8),
grade smallint,
foreign key(Sno) references Student(Sno) //意思为课程表中Sno学号参照Student中的Sno学号,
);