一个数据表的字段:
1.列名:最长为128个字符,包含了中文、英文、下划线、#、货币符号、@符号;
2.数据类型:
3.字段的长度和精度、小数位数。
4.允许为空:√就是一个允许为空;
5.默认值:
一.利用SQL创建数据表
CREATE TABLE <表名>
(
<列定义>[,<列定义> | <表约束>]
)
<表名> 最多128个字节,如S, SC, C等,不允许重名;
<列定义> 定义是 <列名> <数据类型> [DEFAULT] [{<列约束>}]
注:DEFAULT是默认值;
例子:
1.创建一个学生表S:
CREATE TABLE S
(
SNO CHAR(6), //创建了学号,大小为6
SN VARCHAR(8), // 创建一个学生的姓名,8个字符
Sex CHAR(2) DEFAULT ‘男’,//创建一个性别,是char类型的,并且默认是男;
Age INT, //年龄是一个int类型的
Dept VARCHAR(20) // 系别;是一个字符型的,大小是20
)
二、对列进行约束
格式:[CONSTRAINT <约束名>] <约束类型> :
<约束名> :约束名是系统给定的名称;
<约束类型>:
1.NULL/NOT NULL
[CONSTRAINT <约束名>] [NULL/NOT NULL]
例子:
CREATE TABLE S
(
SNO CHAR(6) CONTRAINT S_CONS NOT NULL 或者 NOT NULL ,
SN VARCHAR(8),
Sex CHAR(2) DEFAULT ‘男’,
Age INT,
Dept VARCHAR(20)
)
2.UNIQUE(唯一约束)
例子://姓名不能重复
CREATE TABLE S
(
SNO CHAR(6) NOT NULL,
SN VARCHAR(8) UNIQUE,
Sex CHAR(2) DEFAULT '男',
Age INT,
Dept VARCHAR(20)
)
例子://姓名和性别不能重复,也就是同一性别的人没有重名
CREATE TABLE S
(
SNO CHAR(6),
SN VARCHAR(8) UNIQUE,
Sex CHAR(2) DEFAULT '男',
Age INT,
Dept VARCHAR(20) ,
CONTRAINT S_UNIQ UNIQUE (SN,Sex)
)
3,PRIMARY KEY约束(主键唯一约束)
是一个对于主键的约束,唯一标识,不能为空,也不能重复;
CREATE TABLE S
(
SNO CHAR(6) CONTRAINT S_Prim PRIMARY KEY,
SN VARCHAR(8),
Sex CHAR(2) DEFAULT '男',
Age INT,
Dept VARCHAR(20)
)