• 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
  • 相关阅读:
    如何修改容器内的/etc/resolv.conf
    OpenShift DNS的机制
    OpenShift 容器日志和应用日志分离问题
    python办公自动化(一)PPTX
    python装饰器 语法糖
    一步一步FLASK(一)
    linux python 安装 pymssql
    定制flask-admin的主页
    复制pycharm虚拟环境
    离线安装pycharm数据库驱动
  • 原文地址:https://www.cnblogs.com/TangPro/p/3260701.html
Copyright © 2020-2023  润新知