mysql中常用的資料型別有下面這些
整型各型別的空間的值的區別
引數所佔位元組
帶符號最小值
無符號最小值
帶符號最大值
無符號最大值 |
tinyint
1 -128
0 127
255
smallint
2 -32768
0 32767
622335
mediumint
3 -8388608
0 8388607
16777215
int4 -2147483648
0 2147483647
4294967295
bigint
8 -9223372036854775808
0 9223372036854775807
18446744073709551615
注意:最大值和系統有關係,如windows32位和64的最大值是不一樣的,windows和linux的最大值也是不一樣的;
使用形式:
//型別名【(長度)】 【unsigned】 【zerofill】
tinyint(2) unsigned
說明:1,長度:就是用來設定要「顯示」的長度位數(數字個數),
2,unsigned:就是用於設定該型別中的數字沒有符號(正負號),即沒有負數;
3,zerofill:就是「填充0」的意思,即如果乙個數字,沒有達到指定的長度,則系統就會用0填充到其左邊。
- 其中m表示「顯示長度」,其需與zerofill結合使用才有效,即不夠該長度的會自動左側補0,當然如果超出也不影響。
- unsigned表示「無符號數」,表示其中的數值是「非負」數字
- 如果設定了zerofill,則自動也就表示同時具備了unsigned修飾
- 如果設定了zerofill但沒有設定長度m,則其會預設將所有數的左邊補0到該型別的最大位數
浮點型:
單精度浮點型:float,其精度大約可以精確到6-7位;
雙精度浮點型:double,其精度大約可以精確到15位左右;
特點:浮點型的小數,其內部的二進位制形式,很可能是非精確的
定點型:
decimal,或使用dec。
形式://decimal(總精度,小數部分精度);
decimal(12,2)
說明:1,總精度,其實就是可以用於精確表達的位數,包括小數部分的位數和整數部分的位數;
2,總精度最大為65位,小數部分的精度(位數),最大為30位。
定長字串,表示設定的長度,其儲存的時候,就是該長度——不夠就會自動補空格填滿;
最大可設定為255,表示可儲存255個字元;
varchar型別:
變長字串,表示設定的長度,是可儲存的最大長度,實際儲存長度可以小於該長度;
該型別儲存的時候,還需要在字段內的最前面額外儲存該字段的實際長度;
最大可設定為65533,表示最大可儲存65533個字元;
因為考慮因素:一行的總的儲存空間限制是65535位元組,
但有考慮字元編碼的問題,又會出現:
如果儲存的是純英文本元,則實際最多可儲存65533個字元;
如果儲存的是純gbk的中文字元,則實際最多可儲存的是65533/2個字元;
如果儲存的是純utf8的中文字元,則實際最多可儲存的是65533/3個字元;
text型別:
它通常用於儲存「大文字」,因為其可儲存65535個位元組,並且,不受行儲存空間的限制;
enum型別:
用於儲存若干個「可選項之一」的一種字元型別。
通常,是在字段定義時,預先設定多個選項,而且是作為單選項,實際儲存資料的時候,就可以選擇其中乙個存入資料庫。
它適合於儲存在網頁中的「單選項」資料,比如:單選按鈕,下拉列表選項值等等;
形式:enum(『單選項1』, 『單選項2』, 『單選項3』, ....... ); //最多65535個。說明:
這些選項,在系統內部,實際對應的是如下這些數字值:1, 2, 3, 4, 5, 6, ….
set型別:
用於儲存若干個「多選項」的一種字元型別。
通常,是在字段定義時,預先設定多個選項,而且是作為多選項,實際儲存資料的時候,就可以選擇其中若干個選項值存入資料庫。
它適合於儲存在網頁中的「多選項」資料,比如:多選按鈕;
形式:set(『多選項1』, 『多選項2』, 『多選項3』, ....... ); //最多64個。說明:
這些選項,在系統內部,實際對應的是如下這些數字值:1, 2, 4, 8, 16, ….
date型別:
用於儲存(記錄)年月日這種時間的資料,其範圍可以為:』1000-01-01』到』9999-12-31』
time型別:
用於儲存(記錄)時分秒這種時間的資料,其範圍可以為:』-838:59:59』到』838:59:59』
datetime型別:
用於記錄年月日時分秒這種較為精確的時間資料,其範圍為:』1000-01-01 00:00:00』到』9999-12-31 23:59:59』
year型別:
用於記錄乙個年份資料,通常就是指年份數字,比如2018,1983,其有兩種形式:
使用乙個數字:
2位數字:1-99之間
4位數字:1901-2155之間
使用乙個字串:
2位字串:』00』到』99』
4位字串:』1901』到』2155』
timestamp型別:
用於記錄乙個「當前時間」的精確的時間戳——也就是某個時刻的對應整數值;
該整數值,表示,從2023年1月1日0時0分0秒開始算起到該時候所經歷的秒數;
而且,其有如下特徵:
該字段的值,會在乙個表的某行資料執行insert或update的時候,自動獲取該時刻的時間戳值;
注意:作為時間日期型別的資料,如果是在**中插入乙個具體的字面資料值,則需要用單引號引起來——跟字元型別一樣。
如果是存時間戳的話可以直接用int型別,查詢的時候效率更高
Mysql基本內容之欄位型別
mysql中常用的資料型別有下面這些 整型各型別的空間的值的區別 引數所佔位元組 帶符號最小值 無符號最小值 帶符號最大值 無符號最大值 tinyint 1 128 0127 255smallint 2 32768 032767 622335 mediumint 3 8388608 08388607...
MySQL基礎學習(1)基本內容
net start 服務名 啟動服務 例如 net start mysql80 mysql u使用者名稱 h主機名 p埠號 p密碼 本機 mysql u使用者名稱 h主機名 p密碼 例如 mysql u root h 127.0.0.1 p密碼 登出 exit或ctrl c net stop 服務名...
mysql資料型別和字段屬性原理與用法詳解
首發日期 2018 04 08 mysql的資料型別就是儲存資料的型別。型別簡寫 位元組大小 signed 範圍 unsigned 範圍 備註整數型 tinyint 10 255 128 127 smallint 20 65535 32768 32767 mediumint 30 16777215 ...