七 Mysql資料庫的資料型別和表屬性

2022-07-12 03:45:10 字數 1953 閱讀 7826

結構化查詢語言

5.7以後符合sql92嚴格模式(常用標準為sql92和sql99)

通過sql_mode引數來控制

ddl:資料定義語言

dcl:資料控制語言

dml:資料操作語言

dql:資料的查詢語言

作用:保證資料的準確性和標準性。

常用的數值型別為:

tinyint  : -128~127

int :-2^31~2^31-1

說明:手機號是無法儲存到int的。一般是使用char型別來儲存收集號

常用的字元型別

char(11

) :定長 的字串型別,在儲存字串時,最大字元長度11個,立即分配11個字元長度的儲存空間,如果存不滿,空格填充。

varchar(

11):

變長的字串型別看,最大字元長度11個。在儲存字串時,自動判斷字元長度,按需分配儲存空間。

enum('bj

','tj

','sh'):

列舉型別,比較適合於將來此列的值是固定範圍內的特點(該列的取值只能為括號內定義的值),可以使用enum,可以很大程度的優化我們的索引結構。

常用的時間型別為

datetime 

範圍為從

1000-01-01

00:00:00.000000 至 9999-12-31

23:59:59.999999

。timestamp

1970-01-01

00:00:00.000000 至 2038-01-19

03:14:07.999999

。timestamp會受到時區的影響

約束(一般建表時新增):

**primary key**:主鍵約束

設定為主鍵的列,此列的值必須非空且唯一,主鍵在乙個表中只能有乙個,但是可以有多個列一起構成。

**not null**:非空約束

列值不能為空,也是表設計的規範,盡可能將所有的列設定為非空。可以設定預設值為0

**unique key**:唯一鍵

列值不能重複

**unsigned**:無符號

針對數字列,非負數。

其他屬性:

**key**:索引

可以在某列上建立索引,來優化查詢,一般是根據需要後新增

**default**:預設值

列中,沒有錄入值時,會自動使用default的值填充

**auto_increment**:自增長

針對數字列,順序的自動填充資料(預設是從1開始,將來可以設定起始點和偏移量)

**comment ** : 注釋

儲存引擎:

innodb(預設的)

字符集和排序規則:

utf8

utf8mb4

一般建議使用的字符集為

utf8    (3個字元)

utf8mb4 (4個字元,支援表情包)

校對規則(排序規則)

大小寫是否敏感,預設為大小寫不敏感;如有特殊字元時,需要改為大小敏感。比如:ü(預設下該字元會被儲存為u)

mysql資料庫資料型別

1 數值型別 類 型大 小 範圍 有符號 範圍 無符號 用 途tinyint 1 位元組 128 127 0 255 微小整數 smallint 2 位元組 32768 32767 0 65535 小整數mediumint 3 位元組 223 223 1 0 2 24 1 中整數int 4 位元組 ...

mysql資料庫資料項型別 資料庫資料型別有哪些

mysql中定義資料欄位的型別對你資料庫的優化是非常重要的。mysql支援多種型別,大致可以分為三類 數值 日期 時間和字串 字元 型別。一 數值型別 mysql支援所有標準sql數值資料型別。這些型別包括嚴格數值資料型別 integer smallint decimal和numeric 以及近似數...

mysql資料庫資料型別彙總

整數型別 型別名稱 說明範圍 儲存需求 tinyint 很小的整數 128 127 1個位元組 smallint 小的整數 32768 32767 2個位元組 mediumint 中等大小的整數 8388608 8388607 3個位元組 int integhr 普通大小的整數 2147483648...