1.定义基本表
create table <表名>(
<列名> <数据类型> [完整性约束条件],
<列名> <数据类型> [完整性约束条件],
<列名> <数据类型> [完整性约束条件],
<列名> <数据类型> [完整性约束条件],
);
例:建一个“课程表”Course
create table Course(
Con char(20) primary key, /*con是主码*/
Cname char(40) not null, /*cname不能取空值*/
Cpon char(4) /*cpon含义是先修课*/
Ccredit smallint,
Foreign key (Cpon)references course(cno)
Cpon是外码,被参照表是course,被参照列是cno
);
2.数据类型(部分)
Char(n),character(n) | 长度为n的定长字符串 |
Vachar(n),charactervaryign(n) | 最大长度为n的变长字符串 |
Int,integer | 长整数(4)字节 |
Smallint (small int) | 短整数 |
Bigint | 大整数 |
Date | 日期,包含年月日,YYYY-MM-DD |
Time | 时间,包含时分秒,HH:MM:SS |
Interval | 时间间隔类型 |
3.模式与表
一个模式包含多个基本表,定义表时定义它所属的模式
例;已有模式”S-T”,在里面建立表SC
- Create table “S-T”.SC
- CREATE SCHEMA TEST AUTHORIZATION ZHANG
CREATE TABLE TAB1();
4.修改基本表
alter table<表名>
[add [column]<新列名><数据类型>[完整性约束]] /*新加一列*/
[add <表级完整性约束>]
[drop [column]<列名>[CASCADE|RESTRICT]] /*删除一列*/
[drop CONSTRAINT<完整性约束名>[CASCADE|RESTRICT]]
[alter column<列名><完整性约束条件>] /*修改原有定义*/
/*新增的列一律为空*/
例1:向表SC中增加“入学时间”一列,类型为日期型
Alter table SC add S_entrance DATE;
例2:将SC中年龄得数据类型转为整数
Alter table SC alter column Sage int;
例3:增加唯一约束条件:课程名称必须唯一
Alter table SC add unique(Cname);
5.删除基本表
drop table<表名>[restrict | cascade]