SQL基础语句(二)

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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值