美文网首页
sql server 表操作 table

sql server 表操作 table

作者: Vergil_wj | 来源:发表于2021-06-13 12:25 被阅读0次

    创建表 create table

    语法:

    create table 表名称
    (
        列名称1 数据类型,
        列名称2 数据类型,
        列名称3 数据类型
    )
    

    最后一行不加逗号,可以兼容 Oracle 库。

    创建部门表 dept

    -- 判断表是否存在
    if exists(select * from sys.objects where name='dept' and type='U')
      drop table dept
    
    create table dept
    (
        dept_id int primary key,
        dept_name nvarchar(100) not null,
        dept_address nvarchar(100)
    )
    
    • dept_id int primary key: 创建一个整型 int 的主键 primary keydept_id

    • dept_name nvarchar(100) not null: 创建一个长度为100字符nvarchar(100)的非空 not nulldept_name

    • dept_address nvarchar(100):创建一个 100 字符 nvarchar(100) 的列 dept_address

    创建员工表 emp

    create table emp
    (
        emp_id int constraint pk_id_zhujian primary key,
        emp_name nvarchar(20) not null,
        emp_sex nchar(1) constraint fk_dept_id_fujian foreign key references dept(dept_id)
        emp_addTime smalldatetime default(getdate())  -- 添加时间,默认当前时间
    )
    
    • constraint pk_id_zhujian:指定主键约束的名字为 pk_id_zhujian

    • references dept(dept_id):定义的外键来自表 deptdept_id 字段。

    • smalldatetime: 与 datetime(1753.1.1~9999.12.31 ) 相比,smalldatetime 范围更小(1900.1.1~2079.6.6),且精度为1分,便于提高查询效率。

    如果创建的表名和数据库中的关键字重复了,可以使用[]括起来:

    create table [Rank]  -- Rank 是 sql server 关键字
    (
      ...
    )
    

    修改表

    1、添加列

    语法:

    alter table 表名 add 新列名 数据类型
    

    举例:给员工添加一列邮箱

    alter table emp add mail varchar(20)
    

    2、删除列

    语法:

    alter table 表名 drop column 列名 
    

    举例:删除邮箱列

    alter table emp drop column mail 
    

    3、 修改列

    语法:

    alter table 表名 alter column 列名 数据类型
    

    举例:修改邮箱 varchar(20) 为 varchar(30)

    alter table emp alter clumn mail varchar(30)
    

    相关文章

      网友评论

          本文标题:sql server 表操作 table

          本文链接:https://www.haomeiwen.com/subject/gbiweltx.html