• sql server 如何使用sql语句创建表


    --使用master
    use master
    go

    --判断数据库HR是否存在
    if exists(select 1 from sysdatabases where name='HR')
    begin
    --如果存在则删除数据库HR
    drop database HR
    end
    go

    --创建数据库HR
    create database HR
    go

    --使用数据库HR
    use HR
    go

    -------------------------------------------
    -------------------------------------------
    --在数据库HR中创建JOBS表 存储公司中职位的信息
    --判断JOBS表是否存在
    if exists(select 1 from sysobjects where name='JOBS')
    begin
    --如果表存在则删除JOBS表
    drop table JOBS
    end
    go

    --创建JOBS表
    create table JOBS
    (
    JOB_ID varchar(10) not null primary key,--职位编号
    JOB_TITLE nvarchar(20) not null, --职位名称
    MIN_SALARY money not null, --职位最低薪资,不小于1000元
    MAX_SALARY money not null --职位最高薪资,不小于最低薪资
    )
    go

    ---------添加JOBS表中的约束条件-----------
    --检查MIN_SALARY不小于1000元
    alter table JOBS
    add constraint CH_MIN_SALARY check(MIN_SALARY>=1000)
    --检查MAX_SALARY不小于不小于最低薪资
    alter table JOBS
    add constraint CH_MAX_SALARY check(MAX_SALARY>=MIN_SALARY)
    go

    --向表JOBS中添加测试数据
    insert into JOBS values(1001,'经理',1200,1300)
    --insert into JOBS values(1002,'经理1', 200,1300)错误,职位最低薪资小于1000元
    go

    --显示JOBS中的所有的信息
    select * from JOBS
    go
    -------------------------------------------
    -------------------------------------------


    -------------------------------------------
    -------------------------------------------
    --在数据库HR中创建DEPARTMENTS表 存储公司中部门的信息
    --判断表DEPARTMENTS是否存在
    if exists(select 1 from sysobjects where name='DEPARTMENTS')
    begin
    --如果存在则删除
    drop table DEPARTMENTS
    end
    go

    --创建表DEPARTMENTS
    create table DEPARTMENTS
    (
    DEPARTMENT_ID int identity(1001,1) primary key not null,--部门编号,主键,自增
    DEPARTMENT_NAME nvarchar(30) not null, --部门名称
    MANAGER_ID int --部门主管编号,外键,引用EMPLOYEES表的EMPLOYEE_ID
    )
    go

    --向表中添加测试数据
    insert into DEPARTMENTS values('管理部门',null)
    go

    --显示表DEPARTMENTS中的所有的信息
    select * from DEPARTMENTS
    go
    -------------------------------------------
    -------------------------------------------

    -------------------------------------------
    -------------------------------------------
    --在数据库HR中创建EMPLOYEES表 存储公司中职员的信息
    --判断表EMPLOYEES是否存在
    if exists(select 1 from sysobjects where name='EMPLOYEES')
    begin
    --如果EMPLOYEES表中存在则删除表
    drop table EMPLOYEES
    end
    go

    --创建表EMPLOYEES
    create table EMPLOYEES
    (
    EMPLOYEE_ID int primary key identity(100,1) not null, --职员编号,主键,自增(起始值为100,每次增1)
    FIRST_NAME nvarchar(4) not null, --职员名称
    LAST_NAME nvarchar(4) not null,--职员姓氏
    EMAIL varchar(25) not null,--职员邮件
    PHONE_NUMBER varchar(20) not null,--职员电话
    HIRE_DATE datetime default(getdate()),--职员入职时间
    JOB_ID varchar(10) not null,--职员职位编号,外键,引用JOBS表的JOB_ID
    SALARY money ,--职员薪资,大于0
    MANAGER_ID int ,--职员主管编号,外键,引用EMPLOYEES表的EMPLOYEE_ID
    DEPARTMENT_ID int ,--职员部门编号,外键,引用DEPARTMENTS表的DEPARTMENT_ID
    )
    go

    ----------向表中添加约束条件---------------
    -- 职员职位编号,外键,引用JOBS表的JOB_ID
    alter table EMPLOYEES
    add constraint FK_JOB_ID foreign key(JOB_ID) references JOBS(JOB_ID)
    --职员薪资,大于0
    alter table EMPLOYEES
    add constraint CH_SALARY check(SALARY>0)
    --职员主管编号,外键,引用EMPLOYEES表的EMPLOYEE_ID
    alter table EMPLOYEES
    add constraint FK_EMPLOYEE_ID foreign key(EMPLOYEE_ID) references EMPLOYEES(EMPLOYEE_ID)
    -- 职员部门编号,外键,引用DEPARTMENTS表的DEPARTMENT_ID
    alter table EMPLOYEES
    add constraint FK_DEPARTMENT_ID foreign key(DEPARTMENT_ID) references DEPARTMENTS(DEPARTMENT_ID)
    go


    --向表EMPLOYEES中添加测试数据
    insert into EMPLOYEES values('李四','李','821670983@qq.com','180123266',default,'1001',2000,100,1001)
    go

    --显示表EMPLOYEES中的所有的信息
    select * from EMPLOYEES
    go
    -------------------------------------------
    -------------------------------------------

    -------------扩展练习---------------------
    -------------------------------------------
    -------------------------------------------
    --在数据库HR中,创建任职历史记录表distory
    --判断HR中的表distory是否存在
    if exists (select 1 from sysobjects where name='distory')
    begin
    --如果表存在则删除该表
    drop table distory
    end
    go


    --创建表distory
    create table distory
    (
    EMPLOYEE_ID int not null,--职员编号,主键
    START_DATE datetime not null,--开始时间,主键
    END_DATE datetime not null,--结束时间 默认为getdate()
    JOB_ID varchar(10) not null,--职员职位编号,外键,引用JOBS表的JOB_ID
    DEPARTMENT_ID int --职员部门编号,外键,引用DEPARTMENTS表的DEPARTMENT_ID

    )
    go

    ----------向表中添加约束条件---------------
    --职员编号,主键
    alter table distory
    add constraint PK_EMPLOYEE_ID primary key(EMPLOYEE_ID)
    --开始时间,主键
    alter table distory
    add constraint PK_START_DATE unique(START_DATE)
    --结束时间 默认为getdate()
    alter table distory
    add constraint DF_END_DATE default(getdate()) for END_DATE
    --职员职位编号,外键,引用JOBS表的JOB_ID
    alter table distory
    add constraint FK_JOB_ID1 foreign key(JOB_ID) references JOBS(JOB_ID)
    --职员部门编号,外键,引用DEPARTMENTS表的DEPARTMENT_ID
    alter table distory
    add constraint FK_DEPARTMENT_ID1 foreign key(DEPARTMENT_ID) references DEPARTMENTS(DEPARTMENT_ID)
    go

    --向表distory中添加测试数据
    insert into distory values(100001,'2012.12.12',default,'1001',1001)
    insert into distory values(100002,'2015. 2. 2',default,'1001',1001)
    go

    --查询表distory中的所有的信息
    select * from distory
    go
    -------------------------------------------
    -------------------------------------------

  • 相关阅读:
    大数据DDos检测——DDos攻击本质上是时间序列数据,t+1时刻的数据特点和t时刻强相关,因此用HMM或者CRF来做检测是必然! 和一个句子的分词算法CRF没有区别!
    什么是私有密钥密码技术——密钥加密算法采用同一把密钥进行加密和解密
    条件随机场——时间序列(句子单词序列也算),其特征函数必须要考虑前一刻的数据
    隐形马尔可夫模型——前向算法就是条件概率
    MySQL添加字段和修改字段的方法
    shell脚本操作mysql数据库
    mysql 如何修改、添加、删除表主键
    shell按行合并文件
    MySQL主键添加/删除
    MySQL 添加列,修改列,删除列
  • 原文地址:https://www.cnblogs.com/wanglu1991/p/4663643.html
Copyright © 2020-2023  润新知