mysql資料的類型以及欄位的約束問題【重點】

來源:互聯網
上載者:User

標籤:

1.確保mysql欄位【包括庫名、表名】的正確,必要使用反引號


2.校對集
指的是字元之間的關係【對欄位值的字元處理】
校對集依賴於字元集
校對集:在某個字元集下面,這些字元的排序關係稱之為校對集
【對欄位進行某種排序處理】

在phpmyadmin中設定庫的編碼,使用的ci結尾的編碼就是使用了校對集【預設是使用的,但是其實校對集基本用不上】

_bin:二進位編碼層面直接比較
_ci:忽略大小寫
_cs:不忽略大小寫
【http://www.jb51.net/article/30865.htm】

 

3.整型介紹
sql本身是一個強型別語言
tinyint
smallint
mediumint
int佔用4位元組
bigint

佔用的位元組數絕對了它們的範圍
以及對負數的控制【對符號的控制】
int(10)unsign【0填充,如果沒有到這個位元,前面填0】【而超出這個位元,則直接顯示】
mysql沒有布爾型這個類型,但是有Boolean這個關鍵字【是tinyint類型】

 

4.浮點型
單精確度:佔四個位元組的儲存空間,能表示的有效位元為7位【float】
雙精確度:佔八個位元組的儲存空間,能表示的有效位元為16位【double】

因為浮點數本身的精度問題,所以不使用浮點數進行資料的精確表示【或者判斷是否相等】

定點數【類似於字串的形式來儲存】【小數點是確定的】


5.字串類型
char
varchar【這裡的長度指的是字元數】
text【sql server會對字串進行截取,如果取出來的資料較少,那麼需要再取資料時進行轉換類型】

【注意】
(1)mysql中一條記錄最大的長度是65535位元組【行內所有欄位加起來的和是這個位元組範圍】【需要考慮編碼佔用的位元組來判斷長度。因為判斷記錄的長度使用的是字元數】
但是text類型的資料不會被計入一條記錄的位元組限制中

 

6.枚舉和集合
enum單選型【int(1)也可以表示】
集合【set:複選】

很少使用這兩種類型


7.日期時間類型
用於記錄相關資料的時間的類型【這塊內容正常使用即可】

【以整型的形式管理,但是以字串形式來展示】


8.列約束【列屬性、欄位約束】
用於限制欄位的相關情況的設定【預設情況】
(1)NULL屬性約束【該欄位表示並沒有儲存資料,而不是說該欄位一定是null。可選欄位都是這樣限制】【not null就是說該欄位不可為空】
(2)預設值約束【某值需要在沒有指定值的情況下,該欄位需要指定一個預設值來實現預設值的情況】
但是null和default之間不能一起定義,不過通過null,not null,default實現了欄位的基本設定
【但是default和null的約束屬性並不一致,也就是default的值也本身不是null】
(3)current_timestamp這樣的限制欄位【表示當前的時間戳記】
【重點】
(4)主鍵索引和唯一索引約束【保證了每行記錄中在該位置上的欄位都受這個限制:通過這個約束來實現更好的特性】
【這裡便能夠引申出索引的作用就是對該欄位的約束作用(相當於建立了一個新的檔案來標記該欄位)對該欄位的資料的尋找有好處】
【主鍵和唯一索引可以由多個欄位構成,稱作複合主鍵。不過這種用法比較少用】
【如何管理主鍵和唯一索引:進行修改,刪除,添加(alter table 表名 add primary_key)】
【自增長auto_increment用於描述主鍵。相當於主鍵約束的更加一層約束】

【注意unsigned的使用不是列約束,而是類型的一部分。unsigned理解成一種資料類型指定即可】

mysql資料的類型以及欄位的約束問題【重點】

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.