经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » MS SQL Server » 查看文章
SQL?Server数据库创建表及其约束条件的操作方法
来源:jb51  时间:2022/11/17 8:48:39  对本文有异议

1.创建数据库:

  1. CREATE DATABASE my_db;

2.创建表:

  1. CREATE TABLE Persons
  2. (
  3. Id_P int,
  4. LastName varchar(255),
  5. FirstName varchar(255),
  6. Address varchar(255),
  7. City varchar(255)
  8. )

数据类型:

int   smallint  tinyint   整数 , 

char(size)     容纳固定长度的字符串,

varchar(size)      容纳可变长度的字符串,

date(yyyymmddd)     容纳日期。

3.约束:

 NOT NULL                  约束强制列不接受 NULL 值。

UNIQUE                      约束唯一标识数据库表中的每条记录。

PRIMARY KEY              PRIMARY KEY 约束唯一标识数据库表中的每条记录。

FOREIGN KEY             一个表中的 FOREIGN KEY 指向另一个表中的 PRIMARY KEY。

CHECK                       约束用于限制列中的值的范围。

DEFAULT                    约束用于向列中插入默认值。

3.1.Not  Null

  1. CREATE TABLE Persons
  2. (
  3. Id_P int
  4. NOT NULL
  5. ,
  6. LastName varchar(255)
  7. NOT NULL
  8. ,
  9. FirstName varchar(255),
  10. Address varchar(255),
  11. City varchar(255)
  12. )

3.2.UNIQUE

  1. CREATE TABLE Persons
  2. (
  3. Id_P int NOT NULL
  4. UNIQUE
  5. ,
  6. LastName varchar(255) NOT NULL,
  7. FirstName varchar(255),
  8. Address varchar(255),
  9. City varchar(255)
  10. )

当表已被创建时,如需在 "Id_P" 列创建 UNIQUE 约束:

  1. ALTER TABLE Persons
  2. ADD UNIQUE (Id_P)

如需命名UNIQUE 约束:

  1. ALTER TABLE Persons
  2. ADD CONSTRAINT uc_PersonID UNIQUE (Id_P)

如需撤销 UNIQUE 约束,请使用下面的 SQL:

  1. ALTER TABLE Persons
  2. DROP CONSTRAINT uc_PersonID

3.3.PRIMARY KEY

  1. CREATE TABLE Persons
  2. (
  3. Id_P int NOT NULL
  4. PRIMARY KEY
  5. ,
  6. LastName varchar(255) NOT NULL,
  7. FirstName varchar(255),
  8. Address varchar(255),
  9. City varchar(255)
  10. )

如果在表已存在的情况下为 "Id_P" 列创建 PRIMARY KEY 约束:

  1. ALTER TABLE Persons
  2. ADD PRIMARY KEY (Id_P)

如需命名PRIMARY KEY 约束:

  1. ALTER TABLE Persons
  2. ADD CONSTRAINT pk_PersonID PRIMARY KEY (Id_P)

如需撤销 PRIMARY KEY 约束:

  1. ALTER TABLE Persons
  2. DROP CONSTRAINT pk_PersonID

3.4.FOREIGN KEY

"Persons" 表:

"Orders" 表:

请注意,"Orders" 中的 "Id_P" 列指向 "Persons" 表中的 "Id_P" 列。

"Persons" 表中的 "Id_P" 列是 "Persons" 表中的 PRIMARY KEY。

"Orders" 表中的 "Id_P" 列是 "Orders" 表中的 FOREIGN KEY。

FOREIGN KEY 约束用于预防破坏表之间连接的动作。

FOREIGN KEY 约束也能防止非法数据插入外键列,因为它必须是它指向的那个表中的值之一。

  1. CREATE TABLE Orders
  2. (
  3. Id_O int NOT NULL PRIMARY KEY,
  4. OrderNo int NOT NULL,
  5. Id_P int FOREIGN KEY REFERENCES Persons(Id_P)
  6.  
  7. )

如果在 "Orders" 表已存在的情况下为 "Id_P" 列创建 FOREIGN KEY 约束:

  1. ALTER TABLE Orders
  2. ADD
  3. CONSTRAINT fk_PerOrders
  4. FOREIGN KEY (Id_P)
  5. REFERENCES Persons(Id_P)

如需撤销 FOREIGN KEY 约束:

  1. ALTER TABLE Orders
  2. DROP CONSTRAINT fk_PerOrders

3.5.check

下面的 SQL 在 "Persons" 表创建时为 "Id_P" 列创建 CHECK 约束。CHECK 约束规定 "Id_P" 列必须只包含大

于 0 的整数。

  1. CREATE TABLE Persons
  2. (
  3. Id_P int NOT NULL
  4. CHECK (Id_P>0)
  5. ,
  6. LastName varchar(255) NOT NULL,
  7. FirstName varchar(255),
  8. Address varchar(255),
  9. City varchar(255)
  10. )

如果在表已存在的情况下为列创建 CHECK 约束以及为多个列定义 CHECK 约束:

  1. ALTER TABLE Persons
  2.  
  3. ADD CONSTRAINT chk_Person CHECK (Id_P>0 AND City='Sandnes')

如需撤销 CHECK 约束:

  1. ALTER TABLE Persons
  2.  
  3. DROP CONSTRAINT chk_Person

3.6.DEFAULT

下面的 SQL 在 "Persons" 表创建时为 "City" 列创建 DEFAULT 约束:

  1. CREATE TABLE Persons
  2. (
  3. Id_P int NOT NULL,
  4. LastName varchar(255) NOT NULL,
  5. FirstName varchar(255),
  6. Address varchar(255),
  7. City varchar(255) DEFAULT 'Sandnes'
  8. )

如果在表已存在的情况下为 "City" 列创建 DEFAULT 约束:

  1. ALTER TABLE Persons
  2. ALTER COLUMN City SET DEFAULT 'SANDNES'

撤销 DEFAULT 约束:

  1. ALTER TABLE Persons
  2. ALTER COLUMN City DROP DEFAULT

这些就是创建表的一些约束及示例。

到此这篇关于SQL Server 创建表及其约束条件的文章就介绍到这了,更多相关SQL Server 创建表内容请搜索w3xue以前的文章或继续浏览下面的相关文章希望大家以后多多支持w3xue!

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号