Sql增加,删除,修改列及修改约束

1,649 阅读1分钟
  1. 查看约束条件

    • MySQL: SELECT * FROM information_schema.TABLE_CONSTRAINTS where table_name = 'book';
    • Oracle: SELECT * where table_name = '表名';
  2. 使约束生效和失效

    • Oracle

        使约束条件失效:
        ALTER TABLE 表名 DISABLE CONSTRANT 约束名;
        使约束条件生效:
        ALTER TABLE 表名 ENABLE CONSTRANT 约束名;
      
    • MySQL

  3. 修改列的约束条件(Mysql)

    • 删除主键:alter table 表名 drop primary key;
    • 删除非空约束:alter table 表名 modify 字段名 字段类型 null;
    • 删除外键:alter table 表名 drop foreign key fk_name;
    • 删除唯一键:alter table 表名 drop index index_name;
    • 添加表、列级约束:alter table 表名 modify (column) 字段名 字段类型 新约束
    • 添加表级约束: alter table 表名 add [constraint 约束名] 约束类型(字段名) [外键的引用]
  4. 修改表结构

    • 增加新列

      • Oracle:

         ALTER TABLE 表名  ADD 列名 数据类型[DEFAULT 表达式][COLUMN CONSTRAINT];
         如果要为表同时增加多列,可以按以下格式进行:
         ALTER TABLE 表名 ADD (列名 数据类型[DEFAULT 表达式][COLUMN CONSTRAINT]...);
        
      • MySQL:

            ALTER TABLE 表名 add 字段名称 类型(int,char,VARCHAR...)  (约束)
        
    • 修改列

        修改列的属性
        - ALTER TABLE table_name MODIFY 字段名称 类型定义 (约束) ;
        修改列(可以修改列的名称)
        - ALTER TABLE users2 CAHNGE 列名 新列名 类型定义 约束;
      
    • 删除列

      • Mysql: ALTER TABLE table_name DROP column_name;
      • Oracle: ALTER TABLE 表名 DROP COLUMN 列名[CASCADE CONSTRAINTS];

本文由博客一文多发平台 OpenWrite 发布!