Sql增加,刪除,修改列及修改約束

2022-08-02 03:12:11 字數 1285 閱讀 7835

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. 修改列的約束條件

- 刪除主鍵: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 約束名] 約束型別(欄位名) [外來鍵的引用]

3. 修改表結構

- 增加新列

- 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];

SQL 增加列 修改列 刪除列

sql語句增加列 修改列 刪除列 1.增加列 alter table tablename add columnname varchar 30 2.1.修改列型別 alter table tablename alter column columnname varchar 4000 2.2.修改列的名稱...

SQL 增加列 修改列 刪除列

1.增加列 1.alter table tablename add columnname varchar 30 2.alter table dbo.doc exa add column b varchar 20 null,column c int null 2.1.修改列型別 1.alter tab...

MySQL 新增約束,修改約束,刪除約束

alter table 新增,修改,刪除表的列,約束等表的定義。檢視列 desc 表名 修改表名 alter table t book rename to bbb 新增列 alter table 表名 add column 列名 varchar 30 刪除列 alter table 表名 drop ...