温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

SQL Server数据库如何创建表及约束条件

发布时间:2022-11-15 09:17:37 来源:亿速云 阅读:148 作者:iii 栏目:开发技术

这篇文章主要介绍“SQL Server数据库如何创建表及约束条件”,在日常操作中,相信很多人在SQL Server数据库如何创建表及约束条件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”SQL Server数据库如何创建表及约束条件”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

    1.创建数据库:

    CREATE DATABASE my_db;

    2.创建表:

    CREATE TABLE Persons
    (
    Id_P int,
    LastName varchar(255),
    FirstName varchar(255),
    Address varchar(255),
    City varchar(255)
    )

    数据类型:

    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

    CREATE TABLE Persons
    (
    Id_P int 
    NOT NULL
    ,
    LastName varchar(255) 
    NOT NULL
    ,
    FirstName varchar(255),
    Address varchar(255),
    City varchar(255)
    )

    3.2.UNIQUE

    CREATE TABLE Persons
    (
    Id_P int NOT NULL 
    UNIQUE
    ,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Address varchar(255),
    City varchar(255)
    )

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

    ALTER TABLE Persons
    ADD UNIQUE (Id_P)

    如需命名UNIQUE 约束:

    ALTER TABLE Persons
    ADD CONSTRAINT uc_PersonID UNIQUE (Id_P)

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

    ALTER TABLE Persons
    DROP CONSTRAINT uc_PersonID

    3.3.PRIMARY KEY

    CREATE TABLE Persons
    (
    Id_P int NOT NULL 
    PRIMARY KEY
    ,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Address varchar(255),
    City varchar(255)
    )

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

    ALTER TABLE Persons
    ADD PRIMARY KEY (Id_P)

    如需命名PRIMARY KEY 约束:

    ALTER TABLE Persons
    ADD CONSTRAINT pk_PersonID PRIMARY KEY (Id_P)

    如需撤销 PRIMARY KEY 约束:

    ALTER TABLE Persons
    DROP CONSTRAINT pk_PersonID

    3.4.FOREIGN KEY

    "Persons" 表:

    SQL Server数据库如何创建表及约束条件

    "Orders" 表:

    SQL Server数据库如何创建表及约束条件

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

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

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

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

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

    CREATE TABLE Orders
    (
    Id_O int NOT NULL PRIMARY KEY,
    OrderNo int NOT NULL,
    Id_P int FOREIGN KEY REFERENCES Persons(Id_P)
    
    )

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

    ALTER TABLE Orders
    ADD 
    CONSTRAINT fk_PerOrders
     
    FOREIGN KEY (Id_P)
    REFERENCES Persons(Id_P)

    如需撤销 FOREIGN KEY 约束:

    ALTER TABLE Orders
    DROP CONSTRAINT fk_PerOrders

    3.5.check

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

    于 0 的整数。

    CREATE TABLE Persons
    (
    Id_P int NOT NULL 
    CHECK (Id_P>0)
    ,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Address varchar(255),
    City varchar(255)
    )

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

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

    如需撤销 CHECK 约束:

    ALTER TABLE Persons
    
    DROP CONSTRAINT chk_Person

    3.6.DEFAULT

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

    CREATE TABLE Persons
    (
    Id_P int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Address varchar(255),
    City varchar(255) DEFAULT 'Sandnes'
    )

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

    ALTER TABLE Persons
    ALTER COLUMN City SET DEFAULT 'SANDNES'

    撤销 DEFAULT 约束:

    ALTER TABLE Persons
    ALTER COLUMN City DROP DEFAULT

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

    到此,关于“SQL Server数据库如何创建表及约束条件”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

    向AI问一下细节

    免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

    AI