zoukankan      html  css  js  c++  java
  • 数据库管理之数据表管理(2)

    约束

    1 增加约束

    ALTER  TABLE  表名
    ADD  CONSTRAINT  约束名  约束类型  具体的约束说明

    --添加主键约束(将AuthorID作为主键)
    alter table Authors
    add constraint pk_AuthorID primary key(AuthorID)
    
    --添加默认约束(性别默认值为1)
    alter table Authors
    add constraint DF_Sex DEFAULT(1) for Sex
    
    --添加检查约束(电子邮箱必须包含@)
    alter table Authors
    add constraint CK_Emial Check(Email like%@%')

    2 删除约束

    ALTER TABLE 表名 DROP  CONSTRAINT  约束名

    --删除约束DF_Sex
    alter table Authors drop constraint DF_Sex

    3 使用NOCHECK CONSTRAINT

    子句使约束无效
    ALTER TABLE 表名
        NOCHECK CONSTRAINT 约束名 |
        CHECK CONSTRAINT约束名
    注意:该子句只对外键约束和检查约束起作用

    添加列

    ALTER TABLE 表名 ADD 列名 数据类型[(长度)] [NULL | NOT NULL]

    若向已存在记录的表中添加列,新添加的列可以设置允许为空;若不允许为空,则需指定默认值

    删除列

    ALTER TABLE 表名 DROP COLUMN 字段名 [, ……]

    在删除列时,必须先删除基于该列的索引和约束后,才能删除该列

    修改列

    ALTER TABLE 表名 ALTER COLUMN 列名 数据类型[(长度)] [NULL | NOT NULL]

    在默认状态下,列可以被设置为空值,将一个原来允许为空值的列改为不允许为空值时,必须满足列中没有存放空值的记录以及在列上没有创建索引

    注意:数据类型的范围设置可以比原来大,也可以比原来小,但是如果里面有数据存在,则对应的数据类型范围必须比原来大

    创建索引

    1 语法
    CREATE [UNIQUE] [CLUSTERED|NONCLUSTERED]  INDEX   index_name
    ON table_name (column_name…)
    [WITH FILLFACTOR=x]
    UNIQUE 表示唯一索引,可选
    CLUSTERED NONCLUSTERED 表示聚集索引还是非聚集索引,可选
    FILLFACTOR 表示填充因子,指定一个0到100之间的值,该值指示索引页填满的空间所占的百分比

    2 示例
    在工资表的jbgz列创建索引

    USE booksmanager
    GO
    IF EXISTS (SELECT name FROM sysindexes WHERE name = 'IX_jbgz')
       DROP INDEX IX_jbgz on 工资表
    /*--创建非聚集索引:填充因子为30%--*/
    CREATE NONCLUSTERED INDEX IX_jbgz
    ON 工资表(jbgz)
    WITH FILLFACTOR= 30
    GO
    /*-----指定按索引 IX_jbgz 查询----*/
    SELECT * FROM 工资表  with (INDEX=IX_jbgz)
    WHERE jbgz BETWEEN 2000 AND 3000

    删除索引

    USE booksmanager
    GO
    IF EXISTS (SELECT name FROM sysindexes WHERE name = 'IX_jbgz')
       DROP INDEX IX_jbgz on 工资表
  • 相关阅读:
    Kubernetes Conditions
    自动造数据利器,Faker 了解一下?
    2021年软件测试工具大全(自动化、接口、性能、安全、测试管理)
    低代码开发,推荐一款Web 端自动化神器:Automa
    自动化测试常见问题总结!(适合新手团队)
    Java 将PPT转为OFD E
    Java 将PDF转为线性PDF E
    C# 将Excel转为PDF时自定义表格纸张大小 E
    C# / VB.NET 在Word中嵌入多媒体(视频、音频)文件 E
    C# 扫描识别图片中的文字(.NET Framework) E
  • 原文地址:https://www.cnblogs.com/cmhunter/p/4278820.html
Copyright © 2011-2022 走看看