• alter table 总结


    增加列:

    alter tabel table_name  add column_name datatype;

    删除列:

    alter tabel table_name  drop column column_name;

    要改变表中列的数据类型,不同的系统命令不同:

    To change the data type of a column in a table, use the following syntax:

    SQL Server / MS Access:

    ALTER TABLE table_name
    ALTER COLUMN column_name datatype

    My SQL / Oracle:

    ALTER TABLE table_name  MODIFY column_name datatype

    增加约束.

    alter table table_name  add constraint 约束名称 增加的约束类型 (列名)

     

    NOT NULL 约束

     不能像这样:alter table emp add constraint not_null_name not null(name)

    NOT NULL constraint can't be added at table level 

    not null不像其他的约束,不能在表级定义。这个很多人都不知道,值得注意。如果硬要加,用modify,数据类型还是原来的类型,最后加上not null。

    to add the constraint u need to modify the column

       alter table emp modify ename char(10)  not null;

    unique约束:

    ALTER TABLE Persons  ADD CONSTRAINT uc_PersonID UNIQUE (P_Id,LastName)

    主键约束:

    ALTER TABLE Persons   ADD CONSTRAINT pk_PersonID PRIMARY KEY (Id_P,LastName)
    如果您使用 ALTER TABLE 语句添加主键,必须把主键列声明为不包含 NULL 值(在表首次创建时)

    外键约束:
    CREATE TABLE Orders
    (
    O_Id int NOT NULL,
    OrderNo int NOT NULL,
    Id_P int,
    PRIMARY KEY (O_Id),
    CONSTRAINT fk_PerOrders FOREIGN KEY (Id_P) REFERENCES Persons(Id_P)
    )
    ALTER TABLE Orders ADD CONSTRAINT fk_PerOrders  FOREIGN KEY (Id_P)  REFERENCES Persons(Id_P)

    SQL CHECK 约束

    CHECK 约束用于限制列中的值的范围。

    如果对单个列定义 CHECK 约束,那么该列只允许特定的值。

    如果对一个表定义 CHECK 约束,那么此约束会在特定的列中对值进行限制。

    ALTER TABLE Persons  ADD CONSTRAINT chk_Person CHECK (Id_P>0 AND City='Sandnes')


    取消约束:

    alter table table_name drop constraint constraint_name;

    DEFAULT 约束

    DEFAULT 约束用于向列中插入默认值。

    如果没有规定其他的值,那么会将默认值添加到所有的新纪录。

    参见:http://www.w3cschool.cn/sql_default.html  有点不同

    主键 = 非空 + 唯一

     非空

    唯一 = 有值的话 值要不同

    外键 = 有值 一定要在被引用的表的数据中

  • 相关阅读:
    Qt/Qml 电子书阅读器
    Qt/Qml 翻页特效
    vue如何引入本地js(不被打包编译的js)文件
    CSS3解决移动端手指点击或滑动屏幕时出现的浅蓝色背景框
    vue移动端touch插件
    vue组件间通信六种方式(完整版)
    Vue 过渡实现轮播图
    vue中遇到的坑 --- 变化检测问题(数组相关)
    Vue判断设备是移动端还是pc端
    vue项目如何监听窗口变化,达到页面自适应?
  • 原文地址:https://www.cnblogs.com/youxin/p/2772467.html
Copyright © 2020-2023  润新知