MySQL建表(create?table)命令解讀
create table命令
強(qiáng)調(diào)
使用建表命令之前必須使用use命令選擇表所在的數(shù)據(jù)庫。
create table命令的格式如下:
create table tablename( col_name1 type auto_increment, col_name2 type not null|null default val, col_name3 type unique, .... , primary key(col_name), index idx_name(col_name1,col_name2,...), foreign key(col_name) references tablename(col_name) ) engine=innoDB|myISAM default charset=字符集;
說明
(1)type:定義字段的數(shù)據(jù)類型。其中:字符串類型(char,varchar)需要指定長度;整型(int,biging,tinyint等)和日期類型(datetime,timestamp等)只需要指定類型,不需要指定長度;decimal類型需要指定精度和小數(shù)位數(shù)。
(2)primary key參數(shù)指定表的主鍵。
(3)auto_increment參數(shù)指定字段為自增字段,該字段的類型必須為int或bigint才能設(shè)置為自增字段。
(4)not null|null參數(shù)設(shè)置字段能否取空值。
(5)default參數(shù)設(shè)置字段的默認(rèn)值。
(6)index參數(shù)用來創(chuàng)建索引。idx_name指定索引名,該參數(shù)可以省略,如果省略則索引名就是字段名。
(7)foreign key參數(shù)用來指定外鍵。
(8)engine參數(shù)用來設(shè)置引擎類型,常用的有innoDB和myISAM引擎。
(9)default charset參數(shù)設(shè)置表所用的字符集。
舉例
(1)創(chuàng)建dept表
create table dept( dept_id int primary key auto_increment, --dept_id設(shè)置為int類型,自增字段,主鍵 dept_name char(20) not null default '', --dept_name不能為空,默認(rèn)值為空字符串 phone char(20) );
(2)創(chuàng)建emp表
create table emp( emp_id int auto_increment, emp_name char(20) not null default '', birth datetime not null, phone char(20) not null, addr varchar(200) not null, dept_id int not null default 0, index idx_emp_name(emp_name), index idx_emp_name_birth(emp_name,birth), primary key(emp_id), --emp_id字段為主鍵 foreign key(dept_id) references dept(dept_id) ) engine=innoDB default charset=utf8;
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
MySql使用存儲過程進(jìn)行單表數(shù)據(jù)遷移的實現(xiàn)
近期在進(jìn)行業(yè)務(wù)解耦,對冗余在一起切又屬于不同業(yè)務(wù)的代碼進(jìn)行分離,同時也將數(shù)據(jù)庫進(jìn)行分離存儲,那么這時候就涉及到多個表的數(shù)據(jù)要進(jìn)行遷移,本文就來介紹一下MySql使用存儲過程進(jìn)行單表數(shù)據(jù)遷移,感興趣的可以了解一下2023-11-11Mysql數(shù)據(jù)庫值的添加、修改、刪除及清空操作實例
這篇文章主要給大家介紹了關(guān)于Mysql數(shù)據(jù)庫值的添加、修改、刪除及清空操作的相關(guān)資料,文中通過示例代碼以及圖文介紹的非常詳細(xì),需要的朋友可以參考下2021-06-06MySQL關(guān)聯(lián)查詢優(yōu)化實現(xiàn)方法詳解
在數(shù)據(jù)庫的設(shè)計中, 我們通常都是會有很多張表 , 通過表與表之間的關(guān)系建立我們想要的數(shù)據(jù)關(guān)系, 所以在多張表的前提下, 多表的關(guān)聯(lián)查詢就尤為重要,這篇文章主要介紹了MySQL關(guān)聯(lián)查詢優(yōu)化2022-11-11MySQL命令提示符出現(xiàn)輸入錯誤時如何修改前面的命令
本文主要介紹了MySQL命令提示符出現(xiàn)輸入錯誤時如何修改前面的命令,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-10-10mysql運行net start mysql報服務(wù)名無效的解決辦法
這篇文章主要為大家詳細(xì)介紹了mysql運行net start mysql報服務(wù)名無效的解決辦法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-01-01根據(jù)mysql慢日志監(jiān)控SQL語句執(zhí)行效率
根據(jù)mysql慢日志監(jiān)控SQL語句執(zhí)行效率 啟用MySQL的log-slow-queries(慢查詢記錄)。2012-11-11