MySQL基礎之數據類型

 MySQL基礎之數據類型

我們都知道每種編程語言和數據都有自己的一套數據類型,當然MySQL也不例外,個人感覺MySQL的數據類型優點類似C++,那麼本篇將帶你回顧一下熟悉的MySQL常見的數據類型

  1. MySQL的數據類型: 
  2.  
  3. 數據類型有下列特性: 
  4. 1.  代表了什麼類型的值 
  5. 2.  該類型的值佔據的空間大小 
  6. 3.  該類型的值是否可變化 
  7. 4.  決定了mysql對該類型的值如何進行排序和比較 
  8. 5.  決定了該類型的值是否支持索引 
  9. MySQL的數據類型有如下幾類: 
  10. 字符型: 
  11.     char  varchar(最多都能使用255個字符) 
  12.  char 固定長度 ----------------------- 
  13. 在實現查詢的時候效率較高 
  14.  varchar可變長度,存儲的本身的長度加1(結束符) 
  15. 在實現查詢的時候效率較低 
  16.     binary  varbinary(以二進制的格式存儲字符) 
  17. char與varchar的區別在於 
  18. char 不區分字母的大小寫,有字符集和排序規則 
  19. varchar區分字母的大小寫,而且沒有字符集和排序規則 
  20.     text(文本對象)---MySQL保存的數據的指針而非數據(數據保存在表外的位置) 
  21. TINTTEXT ---長度2*8個字節 
  22. TEXT---------2*16次方個字節 
  23. MEDIUMTEXT-2*24次方個字節 
  24. LONGTEXT ---- 2*32次方個字節(大約4G) 
  25.     Blob 
  26. BLOB 
  27. MEDIUMBLOB 
  28.  LONGBLOB 
  29.     ENUM,SET  
  30. 例如: 
  31. ENUM(’xiaohua’,’xiaoming’,….) ---最多可以列舉65535個,ENUM中保存的數據非字符或者字符串本身 
  32. SET(‘a’,’o,’e’,…..): SET 中保存的是aoe的任意組合 

  1. 常見的字符型的修飾符: 
  2. NOT NULL ,NULL, DEFAULT ‘value’ , . CHARACTER SET ‘’(指定默認的字符集) character  set 
  3. COLLATION ‘’(指定默認的排序規則), coliation 
  4. 日期時間型 
  5.     Date 
  6. 格式:CCYY—MM--DD 
  7.     Time 
  8. 格式:hh:mm:ss 
  9.     Datetime 
  10. 格式:CCYY—MM—DD hh:mm:ss 
  11.     timestamp 
  12. 格式:CCYY—MM—DD hh:mm:ss(從1970年1月1日0分0秒到目前經過的秒數) 
  13.     Year(2|4) 
  14.  
  15. 數值型 
  16. 精確值 
  17. 整型 
  18. TINYINT - 1個字節範圍(-128—127,0-255) 
  19.   SMALLINT2個字節範圍(-32768—32767,0-65535) 
  20.    MEDIUMINT3個字節 
  21.   INT ---4個字節 
  22. LONGINT-8個字節 
  23.     十進制 
  24. DECIMAL(g,f)  g:整個數字的位數   f:float小數點後面精確的位置 
  25. 例如:DECIMAL(5,2)  123.34 
  26. 近似值 
  27.     浮點型(單精度,雙精度) 
  28. 例如 12.56 在計算機中存儲中存儲的是數字(1256)和科學計數法的指數,而非小數點,也非整個數字 
  29. float(g,f) :使用4個字節存儲數據 
  30. Double(g,f):使用8個字節存儲數據 
  31. 注:對於MySQl而言沒有真正的布爾型而是使用TINYINT(1)表示 
  32. 數值型修飾符: 
  33. NOT NULL ,  NULL ,  DEFAULT,  AUTO_INCREMENT, UNSGINED,SGINED ,PRIMARY KEY(主鍵) , UNIQUE(唯一鍵) 

  1. 兩種不同方式的複製表的對比: 
  2. 第一種CREATE  TABLE  tb2  LIKE  tb1(僅複製表結構) 

  1. CREATE  TABLE  tb3  SELECT * FROM  tb1(複製表數據而非表結構) 

  1. 複製結果對比 

  1. 從結果可以看出 
  2. 使用LIKE 關鍵字的形式我們進複製了原來表的表結構(沒有複製數據), 
  3. 使用SELECT * FROM  old_name的形式不復製表結構,僅複製表的數據部 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章