• SQL Server 脚本


    创建数据库:

     1 --创建数据库
     2 CREATE DATABASE Accounting -- 新数据库的名称
     3 ON --主文件
     4 (
     5     NAME = 'Accounting',  --文件名
     6     FILENAME = 'F:Project FilesSQL ServerDATAAccountingData.mdf',  --文件位置
     7     SIZE = 10,  --初始大小
     8     MAXSIZE = 50,  --数据库最大大小
     9     FILEGROWTH = 5  --增量
    10 )
    11 LOG ON  --日志文件
    12 (
    13     NAME = 'AccountingLog',
    14     FILENAME = 'F:Project FilesSQL ServerDATAAccountingLog.ldf',
    15     SIZE = 5MB,
    16     MAXSIZE = 25MB,
    17     FILEGROWTH = 5MB
    18 )
    19 GO

    查询数据库的信息:

    1 --查询 数据库信息
    2 EXEC sp_helpdb 'Accounting'

    创建表:

     1 CREATE TABLE Customers
     2 (
     3     CustomerNo int IDENTITY NOT NULL,
     4     CustomerName varchar(30) NOT NULL,
     5     Address1 varchar(30) NOT NULL,
     6     Address2 varchar(30) NOT NULL,
     7     City varchar(20) NOT NULL,
     8     State char(2) NOT NULL,
     9     Zip varchar(10) NOT NULL,
    10     Contact varchar(25) NOT NULL,
    11     Phone char(15) NOT NULL,
    12     FedIDNo varchar(9) NOT NULL,
    13     DateInSystem date NOT NULL,  --此列以后将添加一个 CHECK 约束
    14 )

    查询表的信息:

    EXEC sp_help Customers  --查询表的信息  使用 EXEC sp_help + 对象名,  查看相应的对象的信息

    添加一个 Check 约束

    1 -- 给 Customers 表的 DateInSystem 列添加一个 Check约束,因为该列的值不可能是未来的某个值
    2 ALTER TABLE Customers
    3     ADD CONSTRAINT CN_CustomerDataInSystem
    4     CHECK (DateInSystem <= GETDATE())

    执行查询:

    1 EXEC sp_helpconstraint Customers

    结果:

    插入数据:   DateInSystem 的值 超过现在的时间,所以不能插入成功

    1 --插入一个未来时间'12-31-2049',违反了CHECK约束,所以将失败
    2 INSERT INTO Customers(CustomerName,Address1,Address2,City,State,Zip,Contact,Phone,FedIDNo,DateInSystem)
    3 VALUES('Customer1','Address1','Address2','Mycity','NY','5555','No Contact','555','000','12-31-2049')

    结果:

    --创建表Orders
    CREATE TABLE Orders
    (
        OrderID int IDENTITY NOT NULL
            PRIMARY KEY,
        CustomerNo int NOT NULL --将此列设置为外键,该列必须在其他表中定义一个主键约束或者唯一性约束
            FOREIGN KEY REFERENCES Customers(CustomerNo),
        OrderDate date NOT NULL,
        EmployeeID int NOT NULL
    )
    1 --以修改表的方式, 添加 EmployeeID 为外键
    2 ALTER TABLE Orders
    3     ADD CONSTRAINT FK_EmployeeCreatesOrder
    4     FOREIGN KEY (EmployeeID) REFERENCES Employees(EmployeeID)

    查询表的信息:

    1 EXEC sp_helpconstraint Orders   --查询特定表的约束  消息中显示:没有外键引用表 'Orders',或者您没有引用表的相关权限。

    结果:显示为 两个外键约束 + 一个主键约束

    唯一性约束:

     1 CREATE TABLE Shippers
     2 (
     3     ShipperID int IDENTITY NOT NULL
     4         PRIMARY KEY,
     5     ShipperName varchar(30) NOT NULL,
     6     Address varchar(30) NOT NULL,
     7     City varchar(25) NOT NULL,
     8     State char(2) NOT NULL,
     9     Zip varchar(10) NOT NULL,
    10     PhoneNo varchar(14) NOT NULL
    11         UNIQUE   --表名 PhoneNo 需要满足唯一性约束
    12 )

    查询:

    1 EXEC sp_helpconstraint Shippers

    结果: 一个主键约束  + 一个唯一性约束(UNIQUE)

    1 -- 给已存在的表Customers的DateInSystem列添加约束,使其默认值为 此刻的时间
    2 ALTER TABLE Customers
    3     ADD CONSTRAINT CN_CustomerDefaultDateInSystem
    4     DEFAULT GETDATE() FOR DateInSystem
  • 相关阅读:
    jQuery EasyUI API 中文文档 可调整尺寸
    jQuery EasyUI API 中文文档 链接按钮(LinkButton)
    jQuery EasyUI API 中文文档 手风琴(Accordion)
    jQuery EasyUI API 中文文档 表单(Form)
    jQuery EasyUI API 中文文档 组合(Combo)
    jQuery EasyUI API 中文文档 布局(Layout)
    jQuery EasyUI API 中文文档 拆分按钮(SplitButton)
    jQuery EasyUI API 中文文档 菜单按钮(MenuButton)
    jQuery EasyUI API 中文文档 搜索框
    jQuery EasyUI API 中文文档 验证框(ValidateBox)
  • 原文地址:https://www.cnblogs.com/TangPro/p/3260701.html
Copyright © 2020-2023  润新知