1.NOT NULL 约束强制列不接受 NULL 值。NOT NULL 约束强制字段始终包含值
下面的 SQL 语句强制 "Id_P" 列和 "LastName" 列不接受 NULL 值
CREATE TABLE Persons ( Id_P int NOT NULL,LastName varchar(255) NOT NULL, FirstName varchar(255),Address varchar(255),City varchar(255) )
2.UNIQUE 约束唯一标识数据库表中的每条记录
请注意,每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束
CREATE TABLE Persons
(
Id_P int NOT NULL,LastName varchar(255) NOT NULL,
FirstName varchar(255),Address varchar(255),City varchar(255),
UNIQUE (Id_P)
)
3.主键:PRIMARY KEY 约束唯一标识数据库表中的每条记录,每个表都应该有一个主键,并且每个表只能有一个主键
CREATE TABLE Persons
(
Id_P int NOT NULL,LastName varchar(255) NOT NULL,
FirstName varchar(255),Address varchar(255),City varchar(255),
PRIMARY KEY (Id_P)
)
4.外键:一个表中的 FOREIGN KEY 指向另一个表中的 PRIMARY KEY
下面的 SQL 在 "Orders" 表创建时为 "Id_P" 列创建 FOREIGN KEY
CREATE TABLE Orders ( Id_O int NOT NULL,OrderNo int NOT NULL,Id_P int, PRIMARY KEY (Id_O),FOREIGN KEY (Id_P) REFERENCES Persons(Id_P) )
如果在 "Orders" 表已存在的情况下为 "Id_P" 列创建 FOREIGN KEY 约束,请使用下面的 SQL
ALTER TABLE Orders ADD FOREIGN KEY (Id_P) REFERENCES Persons(Id_P)
5.约束:在表已存在的情况下为 "Id_P" 列创建 CHECK 约束,请使用下面的 SQL
ALTER TABLE Persons ADD CHECK (Id_P>0)
6.默认:通过使用类似 GETDATE() 这样的函数,DEFAULT 约束也可以用于插入系统值
CREATE TABLE Orders ( Id_O int NOT NULL,OrderNo int NOT NULL,Id_P int, OrderDate date DEFAULT GETDATE() )
7.本例会创建一个简单的索引,名为 "PersonIndex",在 Person 表的 LastName 列
CREATE INDEX PersonIndex ON Person (LastName)
8.
我们希望在表 "Persons" 中添加一个名为 "Birthday" 的新列 ALTER TABLE Persons ADD Birthday date 接下来,我们删除 "Person" 表中的 "Birthday" 列 ALTER TABLE Person DROP COLUMN Birthday
9.下列 SQL 语句把 "Persons" 表中的 "P_Id" 列定义为 auto-increment 主键
CREATE TABLE Persons
(
P_Id int NOT NULL AUTO_INCREMENT,LastName varchar(255) NOT NULL,
FirstName varchar(255),Address varchar(255),City varchar(255),
PRIMARY KEY (P_Id)
)
10.视图
CREATE VIEW view_name AS SELECT column_name(s) FROM table_name WHERE condition