目錄
- 一、創建表的完整語法
- 1、創建表的語法
- 2、創建表的條件
- 3、數字的含義
- 二、MySQL資料型別
- 1、欄位型別之整型
- 2、欄位型別之浮點型
- 3、欄位型別之字符型別
- 4、欄位型別之列舉與集合
- 5、欄位型別之日期型別
一、創建表的完整語法
1、創建表的語法
create table 表名(
? 欄位名1 欄位型別(數字) 約束條件,
? 欄位名2 欄位型別(數字) 約束條件,
? 欄位名3 欄位型別(數字) 約束條件,...)

2、創建表的條件
- 欄位名和欄位型別必須填寫
- 數字和約束條件是可選的,可以不填
- 約束條件也可以寫多個,空格隔開就可以
3、數字的含義
? 在創建表的時候,欄位名后會加上資料的型別,而資料型別的后面又會加上數字,數字在很多地方都是用來限制儲存資料的長度,但是在整型中數字是用來控制展示的長度,因此在寫整型時,通常不用加數字
create table t12(id int(3)); 不是用來限制長度
insert into t12 values(12345);
create table t13(id int(5) zerofill); 而是用來控制展示的長度
insert into t13 values(123),(123456789);
create table t14(id int);
二、MySQL資料型別
1、欄位型別之整型
整型的種類:
-
tinyint
- 特點:最大可以儲存1個bytes(正負號占一個bit)
-
smallint
- 特點:最大可以儲存2個biyts(正負號占一個bit)
-
int
- 特點:最大可以儲存4個biyts(正負號占一個bit)
-
bigint
- 特點:最大可以儲存8個biyts(正負號占一個bit)

? MySQL中整型默認自帶正負號,正負號會占用一個bit,也就是說整型的最大值會受正負號影響,下面可以通過添加資料的方式驗證正負號的存在
取消正負號:
? 在創建表的階段,在整型型別后添加關鍵詞,就可以取消正負號
? create table 表名(欄位名 整型的型別 unsigned);

2、欄位型別之浮點型
浮點型的種類:
- float(m,d)
- 特點:單精度浮點型 8位精度(4位元組) m總個數,d小數位
- double(m,d)
- 特點:雙精度浮點型 16位精度(8位元組) m總個數,d小數位
- decimal(m,d)
- 特點:DECIMAL是一種定點型別,即所有值都有一個固定的小數位數,這 一點的重要性在于DECIMAL值不會像浮點數那樣存在四舍五入的問題
- M的取值范圍是1?65,D的取值范圍是0?30,且不超過M

3、欄位型別之字符型別
字符型別的種類:
- char(n)
- 特點:固定長度,最多255個字符
- carchar(n)
- 特點:可變長度,最多65535個字符
區別:
? char(n) 固定長度,char(4)不管是存入幾個字符,都將占用4個位元組,varchar是存入的實際字符數+1個位元組(n<=255)或2個位元組(n>255),所以varchar(4),存入3個字符將占用4個位元組,

4、欄位型別之列舉與集合
- 列舉(多選一)
- 列舉指在創建表的時候,指定的欄位名后可以填入列舉型別,在關鍵詞后方括號內,填入多個資料值,后期在往該欄位名下添加資料時,只能添加列舉后括號內多個資料值的其中一個,否則將會報錯
- 關鍵詞:enum(資料值1, 資料值2,...)
列舉:
多選一
create table t15(
id int,
name varchar(32),
gender enum('male','female','others')
);
insert into t15 values(1,'tony','猛男');
insert into t15 values(2,'jason','male');
insert into t15 values(3,'kevin','others');
- 集合(多選多/多選一)
- 集合和列舉的功能相似,也是在定義欄位名階段,在欄位名后方添加集合關鍵詞,在括號內填入多個資料值,在后期添加該欄位名的資料的時候,可以填入指定的一個或多個資料值,指定外的資料值無法添加
- 關鍵詞:set(資料值1, 資料值2,...)
集合
多選多/多選一
create table t16(
id int,
name varchar(16),
hobbies set('basketabll','football','doublecolorball')
);
insert into t16 values(1,'jason','study');
insert into t16 values(2,'tony','doublecolorball');
insert into t16 values(3,'kevin','doublecolorball,football');
5、欄位型別之日期型別
型別的種類:
datetime 年月日時分秒
date 年月日
time 時分秒
year 年
代碼用法:
create table t17(
id int,
name varchar(32),
register_time datetime,
birthday date,
study_time time,
work_time year
);
insert into t17 values(1,'jason','2000-11-11 11:11:11','1998-01-21','11:11:11','2000');
涉及到時間型別的一般無需我們手動添加,系統都會自動進行添加
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/538219.html
標籤:MySQL
