MySQL字段屬性介紹


 

引言

 

  這次Qi號分享MySQL字段屬性簡介。下面資料是Qi號搜集大量資料與個人理解的整理。

  MySQL提供了一組可以賦給表中各個列的數據類型,每個類型都強制數據滿足為該數據類型預先確定的一組規則,例如大小、類型及格式。

  這里先總結數據類型。MySQL中的數據類型大的方面來分,可以分為:日期和時間、數值,以及字符串。下面就分開來進行總結。

  參考資料:

 

數據類型介紹

 

  1. 日期和時間數據類型

 

MySQL數據類型   含義
date 3字節,日期,格式:2014-09-18
time 3字節,時間,格式:08:42:30
datetime 8字節,日期時間,格式:2014-09-18 08:42:30
timestamp 4字節,自動存儲記錄修改的時間
year 1字節,年份
 
 
 
 
 
 
 
 
 
 
 
 
 
  2. 數值數據類型
 
MySQL數據類型 含義(有符號)
tinyint 1字節,范圍(-128~127)
smallint  2字節,范圍(-32768~32767)
mediumint  3字節,范圍(-8388608~8388607)
int 4字節,范圍(-2147483648~2147483647)
bigint 8字節,范圍(+-9.22*10的18次方)

 

 

 

 

 

  

  

  上面定義的都是有符號的,當然了,也可以加上unsigned關鍵字,定義成無符號的類型,那么對應的取值范圍就要翻翻了。

  比如:tinyint unsigned的取值范圍為0~255。

 

 

  3. 浮點型

MySQL數據類型 含義
float(m, d) 4字節,單精度浮點型,m總個數,d小數位
double(m, d) 8字節,雙精度浮點型,m總個數,d小數位
decimal(m, d) decimal是存儲為字符串的浮點數

 

 

 

 

  

 

 

  單精度與雙精度的區別:雙精度比單精度表示的位數大 精確的位數多

 

  4. 字符串數據類型

MySQL數據類型 含義
char(n) 固定長度,最多255個字符
varchar(n) 可變長度,最多65535個字符
tinytext 可變長度,最多255個字符
text 可變長度,最多65535個字符
mediumtext 可變長度,最多2的24次方-1個字符
longtext 可變長度,最多2的32次方-1個字符

 

 

 

 

 

 

 

 

常見字段類型事項

 

  1.char(n)和varchar(n)中括號中n代表字符的個數,並不代表字節個數,所以當使用了中文的時候(UTF8)意味着可以插入m個中文,但是實際會占用m*3個字節。

  2.同時char和varchar最大的區別就在於char不管實際value長度多少,都會占用n個字符的空間,而varchar只會占用實際字符應該占用的空間+1{varchar在結尾會有結束符}),並且實際空間+1<=n。

  3.超過char和varchar的n設置后,字符串會被截斷。

  4.char的上限為255字節,varchar的上限65535字節,text的上限為65535。

  5.char在存儲的時候會截斷尾部的空格,varchar和text不會。

  6.varchar會使用1-3個字節來存儲長度,text不會。

 

最后Qi號給大家分享一道曾微軟、GOOGLE、百度、騰訊等公司都用過的面試題:
 
題目:過橋算法

  

  在漆黑的夜里,四位旅行者來到了一座狹窄而且沒有護欄的橋邊。如果不借助手電筒的話,大家是無論如何也不敢過橋去的。不幸的是,四個人一共只帶了一只手電筒,而橋窄得只夠讓兩個人同時通過。如果各自單獨過橋的話,四人所需要的時間分別是1,2,5,8分鍾;而如果兩人同時過橋,所需要的時間就是走得比較慢的那個人單獨行動時所需的時間。問題是,你如何設計一個方案,讓用的時間最少。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM