1m1.数据完整性约束
1.1主键约束
基本语法:
字段名称 数据类型 PRIMARY KEY
例:
创建数据表student,并设置字段sno作为主键
CREATE TABLE student(
sno char(12)RPIMARY KEY,
sname varchar(50),
sgender varchar(10),
sage int(10),
sdept varchar(50)
);
1.2多字段主键
基本语法:
PRINARY KEY(字段名1,字段名2,...,字段名n)
例:创建数据表sc,在表中将sno和cno两个字段共同作为主键
PRIMARY TABLE SC(
sno char(12),
cno char(12),
grade float,
PRIMSRY KEY(sno,cno)
);
1.3非空约束
非空约束指的是字段的值不能为NULL,基本语法:
字段名称 数据类型 NOT NULL
创建数据表student2,将表中的sname字段设置为非空约束
CREATE TABLE student2(
sno char(12),
sname varchar(50)NOT NULL,
sgender varchar(10),
sage int(10),
sdept varchar(50)
);
1.4唯一约束
用于保证数据表中字段的唯一性,基本语法:
字段名称 数据类型 UNIQUE
例:创建数据表syudent3,将表中的sname设置为唯一约束
CREATE TABLE student(
sno char(12),
sname varchar(50)UNIQUE,
sgender varchar(10),
sage int(10),
sdept varchar(50)
);
1.5默认约束
基本语法:
字段名称 数据类型 DEFAULT 默认值
例:创建一个数据表sc2,将表中的hrade字段的默认值设置为0
PRIMARY TABLE SC(
sno char(12),
cno char(12),
grade float DEFAULT 0,
PRIMSRY KEY(sno,cno)
);
1.6自动增长
基本语法:
字段名称 数据类型 AUTO_INCREMENT
例:创建数据表student4将表中的sno字段设置为自动增长
CREATE TABLE student(
sno char(12)AUTO_INCREMENT
sname varchar(50)
sgender varchar(10),
sage int(10),
sdept varchar(50)
);
2.索引
2.1索引的创建
例: 创建一个名为ol的数据表,在其order_num和order_item上设置主键索引,prod_id字段设置为唯一索引(升序),在item_price字段设置单列索引
CREATE TABLE ol(
order_num char(12),
order_item char(12),
prod+id cahr(15),
quantity int(11),
item_price fioat,
PRIMARY INDEX prod_id ASC,
INDEX(item_price)
);
2.2在已经存在的数据表上创建索引
基本语法:
CREATE [UNIQUE | FULLTEXT | SPATLAL] INDEX 索引名称
NO 表名 (字段名称[(长度)] [ASC | DESC])
例:在ol表上的字段prod_id设置唯一索引
CREATE UNIQUE INDEX uni_peod ON orderdetail(prod_id);
2.3删除索引
使用ALTER TABLE 语句删除索引
ALTER TABLE 表名
DEOP INDEX 索引名称