mysql中的資料型別可以分為三類:
1.數值型別
型別(大寫)
大小範圍(有符號)
範圍(無符號)
用途tinyint
1位元組(-128,127)
(0,255)
小整數型
smallint
2位元組(-32768,32767)
(0,65535)
大整數型
mediumint
3位元組(-8388608,8388607)
(0,16777215)
大整數型
int/integer
4位元組(-2147483648,214748367)
(0,4294967295)
大整數型
bigint
8位元組(-9223372036854,775808,9223372 036854775807)
(0,18 446 744 073 709 551 615)
極大整數型
float
4位元組(-3.402 823 466 e+38,-1.175 494 351 e-38),0,(1.175 494 351 e-38,3.402 823 466 351 e+38)
0,(1.175 494 351 e-38,3.402 823 466 e+38)
單精度浮點數值
double
8位元組(-1.797 693 134 862 315 7 e+308,-2.225 073 858 507 201 4 e-308),0,(2.225 073 858 507 201 4 e-308,1.797 693 134 862 315 7 e+308)
0,(2.225 073 858 507 201 4 e-308,1.797 693 134 862 315 7 e+308)
雙精度浮點型
decimal(小數)
對decimal(m,d) ,如果m>d,為m+2否則為d+2
依賴於m和d的值
依賴於m和d的值
小數值2.日期/時間型別
型別大小
範圍格式
用途data
1000-01-01/9999-12-31
yyyy-mm-dd
日期值time
'-838:59:59'/'838:59:59'
hh:mm:ss
時間值或持續時間
year
1901/2155
yyyy
年份值datatime
1000-01-01 00:00:00/9999-12-31 23:59:59
yyyy-mm-dd hh:mm:ss
混合日期和時間值
timestamp
yyyymmdd hhmmss
混合日期和時間值,時間戳
每個時間型別有乙個有效範圍值和乙個零值,當指定不合法的mysql不能表示的值時使用零值。
3.字串型別
型別大小
用途char
0-255位元組
定長字串
varchar
0-65535位元組
變長字元
char和varchar區別:
char(n) 若存入字元數小於n,則以空格補於其後,查詢之時再將空格去掉。所以 char 型別儲存的字串末尾不能有空格,varchar 不限於此
char(n) 固定長度,char(4) 不管是存入幾個字元,都將占用 4 個位元組,varchar 是存入的實際字元數 +1 個位元組(n<=255)或2個位元組(n>255),所以 varchar(4),存入 3 個字元將占用 4 個位元組
char 型別的字串檢索速度要比 varchar 型別的快
2 MySQL備份型別
備份是以防萬一的一種必要手段,在出現硬體損壞或非人為的因素而導致資料丟失時,可以使用備份恢復資料,以將損失降低到最小程度,因此備份是必須的。備份可以分為以下幾個型別。冷備份必須在資料庫停止的情況下進行備份,資料庫的讀寫操作不能執行。這種備份最為簡單,一般只需要複製相關的資料庫物理檔案即可。這種方式在...
MySQL資料型別2
較短的文字 char,varchar 較長的文字 text,blob 較大的二進位制,比如插入 特點 char char m 最大的字元數,可以省略,預設1 固定長度的字元 比較費空間 效率高 varchar varchar m 最大的字元數,不可省略m值 可變的長度 比較省空間 效率低 binar...
原創 2 MYSQL 之Connect型別
mysqlpp connect型別主要負責連線事宜,這是在所有開始mysql操作之前必須進行的 這是句廢話 該型別的主要的結果如下所示 通過檢視原始碼,我看到optionalexceptions就是乙個對於乙個表示 是否需要丟擲異常 的變數的包裝。在connection型別的內容,會在出現錯誤的時候...