mysql支援多種型別,大致可以分為三類:數值、日期/時間和字串(字元)型別。
數值型別
型別大小範圍(有符號)範圍(無符號)用途
tinyint
1 位元組
(-128,127)
(0,255)
小整數值
smallint
2 位元組
(-32 768,32 767)
(0,65 535)
大整數值
mediumint
3 位元組
(-8 388 608,8 388 607)
(0,16 777 215)
大整數值
int或integer
4 位元組
(-2 147 483 648,2 147 483 647)
(0,4 294 967 295)
大整數值
bigint
8 位元組
(-9 233 372 036 854 775 808,9 223 372 036 854 775 807)
(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)
雙精度浮點數值
字串字串型別指char、varchar、binary、varbinary、blob、text、enum和set。該節描述了這些型別如何工作以及如何在查詢中使用這些型別。
char和varchar:
1.char(n) 若存入字元數小於n,則以空格補於其後,查詢之時再將空格去掉。所以char型別儲存的字串末尾不能有空格,varchar不限於此。
2.char(n) 固定長度,char(4)不管是存入幾個字元,都將占用4個位元組,varchar是存入的實際字元數+1個位元組(n<=255)或2個位元組(n>255),所以varchar(4),存入3個字元將占用4個位元組。
3.char型別的字串檢索速度要比varchar型別的快。
varchar和text:
1.varchar可指定n,text不能指定,內部儲存varchar是存入的實際字元數+1個位元組(n<=255)或2個位元組(n>255),text是實際字元數+2個位元組。
2.text型別不能有預設值。
3.varchar可直接建立索引,text建立索引要指定前多少個字元。varchar查詢速度快於text,在都建立索引的情況下,text的索引似乎不起作用。
型別大小用途
char
0-255位元組
定長字串
varchar
0-65535 位元組
變長字串
tinyblob
0-255位元組
不超過 255 個字元的二進位制字串
tinytext
0-255位元組
短文本字串
blob
0-65 535位元組
二進位制形式的長文字資料
text
0-65 535位元組
長文字資料
mediumblob
0-16 777 215位元組
二進位制形式的中等長度文字資料
mediumtext
0-16 777 215位元組
中等長度文字資料
longblob
0-4 294 967 295位元組
二進位制形式的極大文字資料
longtext
0-4 294 967 295位元組
極大文字資料
日期時間型別
表示時間值的日期和時間型別為datetime、date、timestamp、time和year。
型別大小範圍格式用途
date
3位元組1000-01-01/9999-12-31
yyyy-mm-dd
日期值time
3位元組'-838:59:59'/'838:59:59'
hh:mm:ss
時間值或持續時間
year
1位元組1901/2155
yyyy
年份值datetime
8位元組1000-01-01 00:00:00/9999-12-31 23:59:59
yyyy-mm-dd hh:mm:ss
混合日期和時間值
timestamp
4位元組1970-01-01 00:00:00/2038
結束時間是第 2147483647 秒,北京時間 2038-1-19 11:14:07,格林尼治時間 2023年1月19日 凌晨 03:14:07
yyyymmdd hhmmss
混合日期和時間值,時間戳
二進位制布林:bit
bit 表示1個二進位制的位
bit(8) 表示8個二進位制的位
性別可以定義為0,1, 而不使用male或female字串
資料邏輯刪除
某輛車在車庫中停放的狀態
所有基於兩種狀態的資料都可以使用0,1來儲存.
為什麼無法訪問mysql mysql為什麼無法訪問
mysql無法訪問有兩種情況 乙個是mysql沒有分配許可權,使用grant語句分配訪問許可權即可格式 grant 許可權 on 資料庫名.表名 使用者 登入主機 identified by 使用者密碼 grant select,update,insert,delete on to zhxia id...
ip欄位 mysql MySQL庫表設計小技巧
前言 在我們專案開發中,資料庫及表的設計可以說是非常重要,我遇到過很多庫表設計比較雜亂的專案,像表名 欄位名命名混亂 字段型別設計混亂等等,此類資料庫後續極難維護與拓展。我一直相信只有優秀的庫表設計才能發揮出mysql最大的效能,前面有篇文章也分享了資料庫的使用規範,本篇文章主要講幾個庫表設計的小技...
Mysql mysql索引的一些理解
1.索引 索引是幫助mysql高效獲取資料的排好序的資料結構 2.索引的資料結構 col1 col2134 277491 522689 723上面 假設是mysql資料庫中一張表,我們執行select from t where t.col1 6,毫無疑問需要執行6次和磁碟i o,才能找到我們需要的值...