文章目录 1. 常用的数据字段2. 表的创建3. 添加注释4. 主键和外键4.1 主表和子表4.2 主键4.3 外键 1. 常用的数据字段 数据类型关键字描述字符串VARCHAR2(n)其中 n 表示的是字符串所能保存的最大长度,基本上保存 200 个左右的内容整数NUMBER(n)表示最多为 n 位的整数,有时候也可以使用 INT 替代小数NUMBER(n,m)其中 m 为小数位,n-m 位整数位,有时候也可以用FLOAT 代替日期DATE存放日期-时间大文本CLOB可以存储海量文字(4G),例如存储《三国演义》、《西游记》大对象BLOB存放二进制数据,例如:电影,MP3,图片,文字 2. 表的创建 -- 创建表 create table Grade ( grade_Id integer not null, grade_Name VARCHAR2(50) not null, primary key(grade_Id) -- 主键 ); 3. 添加注释 表的注释 COMMENT ON TABLE 表名 IS ‘表的注释’; 列的注释 COMMENT ON COLUMN 表名.列名 IS ‘列的注释’; -- Add comments to the table COMMENT ON TABLE Grade IS '年级表'; -- Add comments to the columns COMMENT ON COLUMN Grade.grade_id IS '年级编号'; COMMENT ON COLUMN Grade.grade_name IS '年级名称'; 4. 主键和外键 4.1 主表和子表 主表:关联关系中,起主导作用的表(Grade),主表中必须有主键;子表:关联关系中的附属表,子表中的外键引用主表中的主键; 4.2 主键 作用:唯一的标识表中的每一行数据主键不能为空,不能重复一张表中可以没有主键作为主键的列可以是一列、也可以是多列(复合主键)PRIMARY KEY(Grade_Id) 4.3 外键 作用:在外键表中添加对主键表的引用 外键可以为空 FOREIGN KEY FOREIGN KEY (Grade_Id) REFERENCES Grade(Grade_Id) 外键级联操作 Cascade :级联 a. 父表delete、update的时候,子表会delete、update掉关联记录; b. 年级表删除“一年级”,那么所有“一年级”的学生信息都被删除。Set Null:置空 a. 父表delete、update的时候,子表会将关联记录的外键字段所在列设为null,所以注意在设计子表时外键不能设为not null; b. 年级表删除“一年级”,那么所有“一年级”的学生Grade_Id列的值为null。 c. 外键必须允许为空。Restrict:限定、约束(默认值) a. 如果想要删除父表的记录时,而在子表中有关联该父表的记录,则不允许删除父表中的记录; b. 年级表删除“一年级”,那么先检查“一年级”的有没有学生,如果有学生信息,报错,不做删除。如果没有学生信息,删除“一年级”。No Action:不作处理 a. 同 RESTRICT,也是首先先检查外键; 示例 在子表上添加外键约束(两张表都已经存在,额外添加主外键关系) ALTER TABLE student ADD CONSTRAINT `FK_Student_Grade` FOREIGN KEY (`Grade_Id`) REFERENCES grade(Grade_Id) ON UPDATE SET NULL ON DELETE SET NULL;