blob数据类型_MySQL的数据类型
一,MySQL的數據類型
數據類型是定義列中可以存儲什么類型的數據以及該數據實際怎樣存儲的基本規則
數據類型限制存儲在數據列列中的數據。例如,數值數據類型列只能接受數值類型的的數據
在設計表時,應該特別重視所用的數據類型。使用錯誤的數據類型可能會嚴重地影響應用程序的功能和性能。
更改包含數據的列不是一件小事(而且這樣做可能會導致數據丟失)。
數據類型:整型、浮點型、字符串、日期等
1、字符串數據類型
最常用的數據類型是串數據類型。它們存儲串,如名字、地址、電 話號碼、郵政編碼等。
不管使用何種形式的串數據類型,串值都必須括在引號內
有兩種基本的串類型,分別為定長串和變長串
- 定長串:char
- 變長串 varchar
存儲可變長度的字符串 varchar(7) 如果實際插入4個字符, 那么它只占4個字符位置,當然插入的數據長度不能超過7個字符。
注意
既然變長數據類型這樣靈活,為什么還要使用定長數據類型??回答:因為性能,MySQL處理定長列遠比處理變長列快得多。- Text 變長文本類型存儲
2、數值類型
數值數據類型存儲數值。MySQL支持多種數值數據類型,每種存儲的數值具有不同的取值范圍。支持的取值范圍越大,所需存儲空間越多
與字符串不一樣,數值不應該括在引號內
decimal(5, 2) 表示數值總共5位, 小數占2位tinyint 1字節(8位) 0-255。-128,127int ? ? 4字節。 ? -21億,21億。0-42億float. ??MySQL中沒有專門存儲貨幣的數據類型,一般情況下使用DECIMAL(8, 2)有符號或無符號
所有數值數據類型(除BIT和BOOLEAN外)都可以有符號或無符號
- 有符號數值列可以存儲正或負的數值
- 無符號數值列只能存儲正數。
- 默認情況為有符號,但如果你知道自己不需要存儲負值,可以使用UNSIGNED關鍵字
注意
如果將郵政編碼類似于01234存儲為數值類型,則保存的將是數值1234,此時需要使用字符串類型手機號應該用什么進行存儲呢?3、日期和時間類型
MySQL使用專門的數據類型來存儲日期和時間值
datetime 8字節1000-01-01 00:00:00 ~ 9999-12-31 23:59:594、二進制數據類型
二進制數據類型可存儲任何數據(甚至包括二進制信息),如圖像、多媒體、字處理文檔等
二、表的字段約束
- unsigned 無符號(給數值類型使用,表示為正數,不寫可以表示正負數都可以)
- 字段類型后面加括號限制寬度 char(5). varchar(7) 在字符類型后面加限制 表示 字符串的長度int(4) 沒有意義,默認無符號的int為int(11),有符號的int(10)int(4) unsigned zerofill只有當給int類型設置有前導零時,設置int的寬度才有意義。
- not null 不能為空,在操作數據庫時如果輸入該字段的數據為NULL ,就會報錯
- default 設置默認值
- primary key 主鍵不能為空,且唯一.一般和自動遞增一起配合使用。
- auto_increment 定義列為自增屬性,一般用于主鍵,數值會自動加1
- unique 唯一索引(數據不能重復:用戶名)可以增加查詢速度,但是會降低插入和更新速度
三、MySQL的運算符
- 算術運算符: +、 -、 *、 /、 %
- 比較運算符: =、 >、 =、 <=、!=
- 數據庫特有的比較: in、not in、is null、is not null、like、between、and
- 邏輯運算符: and、or、not
- like: 支持特殊符號%和_ ;
四、主鍵
1、表中每一行都應該有可以唯一標識自己的一列,用于記錄兩條記錄不能重復,任意兩行都不具有相同的主鍵值
2、應該總是定義主鍵 雖然并不總是都需要主鍵,但大多數數據庫設計人員都應保證他們創建的每個表具有一個主鍵,以便于以后的數據操縱和管理。
要求
- 記錄一旦插入到表中,主鍵最好不要再修改
- 不允許NULL
- 不在主鍵列中使用可能會更改的值。
- 自增整數類型:數據庫會在插入數據時自動為每一條記錄分配一個自增整數,這樣我們就完全不用擔心主鍵重復,也不用自己預先生成主鍵
- 可以使用多個列作為聯合主鍵,但聯合主鍵并不常用。使用多列作為主鍵時,所有列值的組合必須是唯一的
總結
以上是生活随笔為你收集整理的blob数据类型_MySQL的数据类型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python打开excel数据库_使用p
- 下一篇: 平行空间怎么设置32位_高低床怎么设置不