码迷,mamicode.com
首页 > 数据库 > 详细

SQL笔记-第六章,索引与约束

时间:2015-01-24 11:20:04      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:

一.索引

CREATE INDEX 索引名 ON 表名(字段1, 字段2,……字段n)

CREATE INDEX idx_person_nameage ON T_Person(FName,FAge)

DROP INDEX 索引名ON 表名

DROP INDEX idx_person_nameage ON T_Person;

二.约束

数据库系统中主要提供了如下几种约束:

非空约束;唯一约束; CHECK 约束;主键约束;外键约束

1.非空约束

CREATE TABLE T_Person

(FNumber VARCHAR(20) NOT NULL ,

FName VARCHAR(20),

FAge INT)

2.唯一约束

CREATE TABLE T_Person (FNumber VARCHAR(20) UNIQUE, FName VARCHAR(20),FAge INT)

复合唯一约束

CONSTRAINT 约束名UNIQUE(字段1,字段2……字段n)

CREATE TABLE T_Person (FNumber VARCHAR(20),
FDepartmentNumber VARCHAR(20),
FName VARCHAR(20),FAge INT,
CONSTRAINT unic_1 UNIQUE(FNumber,FDepartmentNumber) ,
CONSTRAINT unic_2 UNIQUE(FDepartmentNumber, FName))

ALTER TABLE T_Person DROP CONSTRAINT unic_1;
ALTER TABLE T_Person DROP CONSTRAINT unic_2;
ALTER TABLE T_Person DROP CONSTRAINT unic_3;

3.CHECK约束

CREATE TABLE T_Person (
FNumber VARCHAR(20),
FName VARCHAR(20),
FAge INT CHECK(FAge >0),
FWorkYear INT CHECK(FWorkYear>0))

ALTER TABLE T_Person
ADD CONSTRAINT ck_2 CHECK(FAge>14)

4.主键约束

在字段定义后添加 PRIMARY KEY 关键字即可

追加

ALTER TABLE T_Person
ADD CONSTRAINT pk_1 PRIMARY KEY(FNumber,FName)

 外键约束

CREATE TABLE T_AUTHOR
(
FId VARCHAR(20) PRIMARY KEY,
FName VARCHAR(100),
FAge INT,
FEmail VARCHAR(20)
);
CREATE TABLE T_Book
(
FId VARCHAR(20) PRIMARY KEY,
FName VARCHAR(100),
FPageCount INT,
FAuthorId VARCHAR(20) ,
FOREIGN KEY (FAuthorId) REFERENCES T_AUTHOR(FId)
);

删除

DELETE FROM T_Book WHERE FAuthorId =5;

DELETE FROM T_AUTHOR WHERE FName=’badboy’

追加

ALTER TABLE T_Book
ADD CONSTRAINT fk_book_author
FOREIGN KEY (FAuthorId) REFERENCES T_AUTHOR(FId)

SQL笔记-第六章,索引与约束

标签:

原文地址:http://www.cnblogs.com/xieqianli/p/4245470.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!