mysql中定義資料欄位的型別對資料庫的優化是十分重要的。
mysql支援多種型別,大致可以分為三類:數值、日期/時間和字串型別
1)字元型別:char varchar text bolb
2)數值型別:int bigint float decimal
int —>>int
bigint -->>long
float —>> 成績(支援一到兩個小數)
decimal—>>貨幣型別(精度,小數)
3)日期型別:date time datetime timestamp
date -> yyyy:mm:dd hh:mm:ss
time -> hh:mm:ss
datetime -> yyyy:mm:dd
timestamp(時間戳) -> 長整數 這個時間到 1970-1-1 00:00:00 當前時間的毫秒數
1、主鍵約束(primary key)
主鍵約束:唯
一、不重複、不為空;每乙個表都應該有乙個主鍵,並且每乙個表只能有乙個主鍵
語法:create table 表名稱(
列名稱 資料型別 primary key,…);
2、外來鍵約束(foreign key) 拿來主義
外來鍵約束:外來鍵建立在從表(副表)中,從表中的poreign key 指向主表中的primary pky
主表:create table 表名稱 (
列名稱 資料型別 primary key,…);
從表:create table 表名稱 (
…列名稱 資料型別,
poreign key(外來鍵名稱) references 主表名稱(主鍵名稱),…);
3、非空值約束
非空值約束:用於確保當前列的值不為空值,非空約束只能出現在表物件的列上。
語法:create table 表名稱(
列名稱 資料名稱 not null,…);
4、唯一約束
唯一約束:指定table 的列或列組合不能重複,保證資料的唯一性。
語法:create table 表名稱 (
列名稱1 資料型別 農田 null,
列名稱2 資料型別,
列名稱3 資料型別,
unique (列名稱1[列名稱3…列名稱n])
);5、預設約束(default)
預設值約束:指定列的預設值。
語法:create table 表名稱(
列名稱1 資料型別 default 『預設值』
);6、檢查約束(check)
check 約束用於限制列中的值的範圍。
如果對單個列定義 check 約束,那麼該列只允許特定的值。
如果對乙個表定義 check 約束,那麼此約束會基於行中其他列的值在特定的列中對值進行限制。
1、基本語法
create table [if not exists ] 表名稱 (
列名稱1 資料型別,
列名稱2 資料型別,…);
2.2 修改表結構(增刪改表列字段)
注:alter table 語句用於在已有的表中新增、修改或刪除列。
1)新增語法:alter table 表名稱 add column 列名 資料型別;
2)刪除語法:alter table 表名稱 drop column 列名;
3)修改語法:alter table 表名稱 modify column 列名 資料型別;
2.3 刪除表
語法:drop table 表名稱;
補充說明:
1)新增表外來鍵:
alter table 表名 add foreign key(外來鍵名稱) references 主表名稱(主鍵名稱);
2)刪除表外來鍵:
alter table 表名 drop foreign key 約束名;
3)新增主鍵:
alter table 表名 add primary key(主鍵名稱);
4)刪除主鍵:主鍵只有乙個直接刪除即可
alter table 表名 drop primary key;
5)新增唯一約束:
alter table 表名 add unique(列名稱1[,列名稱2,…]);
6)刪除唯一約束:其實就是刪除指定的唯一約束的索引名稱
alter table 表名 drop index 唯一約束縮影名稱;
MySQL建表過程 資料型別
a.主要學習列型別的儲存範圍與佔據的位元組關係 b.儲存同樣的資料不同列型別所佔據的空間和效率是不一樣的 c.乙個位元組八個位 d.參考 1 數值型 b.整形 tinyint 佔1個位元組 128 127 or 0 255 smallint 2個位元組 mediuint 3個位元組 int 4個位元...
Mysql建表約束
2.自增約束 3.唯一約束 4.非空約束 5.預設約束 6.外來鍵約束 7.檢查約束 無效 8.列舉型別約束 9.觸發器 trigger 約束 1.主鍵約束 它是能夠唯一確定一張表中的一條記錄,也就是我們通過給某個字段新增約束,也就是使得改字段不重複而且不為空 1.1 普通主鍵約束 create t...
MySQL建表約束
它能夠唯一確定一張表中的記錄,也就是我們通過給某個字段新增約束,就可以使得該字段不重複且不為空。create table user id int primary key,name varchar 20 insert into user values 1,張三 唯一 不能再次插入id 1的記錄 資料 ...