主要用於創建一個表時,設定字段的類型
示例:create table tab1(id int,name varchar(20));
數字型包含整數類型和小數類型
1.整數類型:int(4)、tinyint(1)、smallint(8)、bigint
形式:類型名【(M)】【unsigned】【zerofill】
說明:(1)M設定顯示長度,即select輸出時,121可能顯示爲000121(M爲6)
(2)unsigned:無符號整數
(3)zerofill:是否填充0到一個數字的左邊,與M配合使用
(4)如果設定了zerofill,默認具備了unsigned修飾
2.小數類型:float、double、decimal
Float:單精度浮點型,4個字節,精度大約有6-7個有效數字
Double:雙精度浮點型,8個字節,精度大約有20個有效數字
Decimal:定點小數類型,整數部分最長35位,小數部分最長30位。格式:decimal(總位數,小數部分位數)
字符類型:在mysql中的字符串,應該使用單引號引起來
varchar類型:變長字符串,使用時必須設定其長度,即最多可存儲的字符個數
char類型:定長字符串,使用時需設定長度,若不設定,默認是1
適用於存儲的數據都是可預見的明確固定長度的字符,比如手機號、中國郵政編碼,實際存儲時,如果少於設定長度,會補空格填滿
enum類型:單選項字符串數據類型。適用於存儲表單界面中的“單選項值”
設定時,需給定幾個選項,存儲時,只存儲其中的一個值
形式:enum(“選項1”, “選項2”, “選項3”);
實際內部:這些字符串選項對應於數字值:1,2,3,……
寫入數據形式:可用該字符串本身,也可用對應數字
set類型:多選項字符串數據類型。適用於存儲表單界面中的“多選項值”
設定時,需給定幾個選項,存儲時,只存儲其中若干個值
形式:set(“選項1”, “選項2”, “選項3”);
實際內部:這些字符串選項對應於數字值:1,2,4,8,16……(最多64個)
寫入數據形式:可用該字符串本身,也可用對應數字的和
示例:
creat table enum_set(
id int auto_increment primary key,
sex enum('男','女'),
fav set('籃球','足球','排球')
); //enum與set的使用
insert into enum_set (id,sex,fav) value(null,'男','籃球,排球');
等價於insert into enum_set (id,sex,fav) value (null,1,5);
text類型:長文本類型,存儲的內容不佔據表格中的數據容量限制,本身最長可存儲65535個字符。
其他同類型:smalltext、tinytext、longtext
其他:
Binary類型:定長二進制字符串類型,存儲的是二進制值
Varbinary類型:變長二進制字符串類型,存儲的是二進制值
Blob類型:二進制字符串類型,存儲的是二進制值。適用於圖片、文件等。
日期類型
Datatime類型:時間日期類型
Data類型:日期類型
Time類型:時間類型
Year類型:年份類型
Timestamp類型:時間戳類型,指一個時間的數據值—本質其實是一個數字,類似於js中的GetTime(),或php中的Time()。得到的是一個整數數字。
會自動獲得時間戳的數據值----相當於now()
在插入時間日期數據時,需用單引號引起來。