MySQL學習筆記——建立與約束

weixin_40829634發表於2018-03-21

在新建一張資料庫表時,需要對錶的結構進行設定,其中包括定義表欄位名、定義欄位的資料型別、定義欄位資料的約束。

建立表一般使用create語句:

create table 表名(

欄位名1 資料型別 [約束]

欄位名2 資料型別 [約束]

...

[其它約束條件]

[其它約束條件]

...

)engine=儲存引擎 charset=儲存字符集;

其中欄位名後的約束一般為針對該欄位資料的約束;其它約束目前接觸到了外來鍵約束。

定義自增型欄位:

欄位名 int auto_increment primary key

資料型別

字串:

定長字串char(n);變長字串varchar;小文字tinyint(100字左右);長字串text;mediumtext;longtext;

日期型別:

日期 date YYYY-MM-DD; 時間 time HH-ii-ss;datetime&timestamp YYYY-MM-DD HH-ii-ss;

二進位制型別;

整數型別:

int

小數型別

float;double

約束條件

定義欄位資料的約束:

主鍵約束 primary key

非空約束 not null

預設值約束 default      如 student_no int default 60;

唯一性約束 unique

其它約束:

外來鍵約束,如 constraint 約束名 foreign key(欄位名) references 表名(欄位名)

主鍵約束 constraint 約束名 primary key (欄位名)

唯一性約束 constraint 約束名 unique (欄位名)

表的修改

主要是利用alter table 語句。

一、修改表的欄位:alter table 表名 drop/add/change/modify/

刪除欄位:alter table 表名 drop 欄位名

新增欄位:alter table 表名 add 欄位名 資料型別 [欄位約束]

修改欄位名和資料型別:alter table 表名 change 舊欄位名 新欄位名 資料型別

僅修改欄位名:alter table 表明 modify 欄位名 資料型別

二、修改表欄位的約束

alter table 表名 add constraint 約束名 約束型別 (欄位名)

alter table 表名 add index 索引名 (欄位名)


相關文章