DDL操作彙總

1.查看所有數據庫

show databases

2.指定使用某個數據庫

use 數據庫名;

3.創建數據庫

create database 數據庫名;

create database 數據庫名 charset 'utf8';#在mysql中字符集名稱不要使用utf-8

create database 數據庫名 charset 'gbk';

4.刪除數據庫

drop database 數據庫名;

5.查看某個庫下的所有表格

show tables;前提是前面有use 數據庫名;的語句
show tables from 數據庫名;

6.創建表格

create table [數據庫名].表名(
	字段1 數據類型,
	字段2 數據類型,
	...
);

create table 【數據名.】表名(
	字段名1 數據類型  primary key ,
	字段名2 數據類型 【unique key】 【not null】 【default 默認值】,
	....
);

create table 【數據名.】表名(
	....,
    primary key(複合主鍵字段列表),#如果是複合主鍵,那麼就需要在所有字段列表後面使用這種形式指定,不能在字段後面直接加primary key
    unique key(複合唯一字段列表)#如果是複合唯一鍵,那麼就需要在所有字段列表後面使用這種形式指定,不能在字段後面直接加unique key
);

create table 【數據名.】表名(
	....,
    foreign key (從表字段) references 主表名(主表字段)on update xx】[on delete xx]
    #外鍵只能在所有字段列表後面單獨指定
);

create table 【數據庫名.】表名(
	字段名 數據類型 【primary keyunique keyauto_increment,
    ....
);

一個表只能有一個主鍵約束,主鍵列必須非空和唯一

一個表可以有很多個唯一鍵約束

一個表可以有很多個外鍵約束,外鍵必須建立在“從表”上。

mysql會自動給鍵約束的列增加索引

自增列必須是key列,自增列的數據類型是整型,一個表只能有一個自增列

7.刪除表格

drop table [數據庫名.]表名稱;

8.查看某個表結構

describe [數據庫名.]表名稱;
desc [數據庫名.]表名稱

9.增加一列

alter table 【數據庫名.]表名稱 addcolumn】 字段名 數據類型;
alter table 【數據庫名.]表名稱 addcolumn】 字段名 數據類型 first;
alter table 【數據庫名.]表名稱 addcolumn】 字段名 數據類型 after 另一個字段;

11.修改列數據類型

alter table 【數據庫名.]表名稱 modifycolumn】 字段名 新數據類型;

12、修改列名

alter table 【數據庫名.]表名稱 change【column】 舊字段名 新字段名 新數據類型;

13、修改列的位置

alter table 【數據庫名.]表名稱 modifycolumn】字段名 數據類型 first;
alter table 【數據庫名.]表名稱 modifycolumn】字段名 數據類型 after 另一個字段;

14、修改表名稱

alter table 舊錶名 rename 新表名;
rename table 舊錶名 to 新表名;

15、建表後增加主鍵

alter table 【數據庫名.]表名稱 add primary key(主鍵字段);

16、刪除主鍵

alter table 【數據庫名.]表名稱 drop primary key;

17、建表後增加唯一鍵

alter table 【數據庫名.]表名稱 add unique key(唯一鍵字段);

18、刪除唯一鍵

alter table 【數據庫名.]表名稱 drop index 索引名;

19、如何查看某個表的索引名

show index from 【數據庫名.]表名稱;

20、建表後如何增加某列非空約束

alter table 【數據庫名.]表名稱 modify 字段名 數據類型 not null;

21、建表後如何取得某列非空約束

alter table 【數據庫名.]表名稱 modify 字段名 數據類型;

22、建表後如何增加某列默認值約束

alter table 【數據庫名.]表名稱 modify 字段名 數據類型 default 默認值;

23、建表後如何去掉某列的默認值約束

alter table 【數據庫名.]表名稱 modify 字段名 數據類型;

24、建表後想要給“從表”增加外鍵約束

alter table 【數據庫名.]從表名稱 add foreign key (從表字段) references 主表名(主表字段)on update xx】 【on delete xx】;

外鍵必須建立在“從表”

主表被引用(參考)的字段必須是key列

主表被引用字段的數據類型與從表該字段的數據類型要求一致,名稱可以相同也可以不同

在創建外鍵時,如果沒有指定約束策略:on update xx 和on delete xx,默認是restrict,如果要指定,可以分別指定爲:restrict,no action,set null, cascade四種

一旦外鍵建立後,對從表的影響是值的範圍,在添加和修改從表外鍵字段時,值的範圍受主表被引用字段的約束,

一旦外鍵建立後,對主表的影響是在修改、刪除主表被引用字段的數據和表結構是否受約束;取決於選擇約束策略,如果是restrict,那麼主表被引用字段將受到約束,如果選擇set null或cascade,主表將不會受約束,會級聯將從表對應外鍵字段置空或刪除。

25、刪除外鍵

#(1)先查看約束名
select * from information_schema.table_constraints where table_name = '表名稱';

#(2)刪除外鍵約束
alter table 【數據庫名.]表名稱 drop foreign key 外鍵約束名;

#(3)如果還需要刪除因爲外鍵自動創建的索引
#查看索引
show index from 表名稱;
alter table 【數據庫名.]表名稱 drop index 索引名;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章