Mysql之資料型別

2021-07-26 13:59:02 字數 1822 閱讀 9929

這篇部落格主要是講解mysql的資料型別以及屬性。

一、mysql的資料型別

1.整型(***int)

(1)tinyint(m):乙個位元組表示(-128~127)

(2)smallint(m):兩個位元組表示(-32768~32767)

(3)mediumint(m):三個位元組表示(-8388608~8388607)

(4)int(m):四個位元組表示(-2147483648~2147483647)

(5)bigint(m):八個位元組表示 (正負9.22*10的18次方)

注:m表示最大顯示的寬度,起到格式控制的作用,與實際的值沒有關係

2.浮點型(float和double)

(1)float(m,d) 單精度浮點型,8位精度(4位元組),m是十進位制數字的總個數,d是小數點後面的數字個數

(2)double(m,d) 雙精度浮點型,16位精度(8位元組)引數m只影響顯示效果,不影響精度d卻不同,會影響到精度,涉及到小數的捨去問題

3.定點數(decimal)

decimal(m,d):浮點型在資料庫中存放的時近似值,而定點型別在資料庫中存放的是精確值。引數m是定點型別數字的最大個數,範圍為0~65,d是小數點右側數字的個數,範圍為0~30,但不得超過m。

4.字串

(1)char(n) :固定長度的字串,最多255個字元

(2)varchar(n): 固定長度的字串,最多65535個字元

(3)tinytext:可變長度字串,最多255個字元

(4)text:可變長度的字串,最多65535個字元

(5)mediumtext:可變長度的字串,最多2的24次方-1個字元

(6)longtext:可變長度字串,最多2的32次方-1個字元

注:char型別如果實際位數小於n,則會在前面補齊空格,varchar型別如果實際位數小於n,則不會存在補齊的情況.

5.二進位制資料(***blob)

***blob和***text是對應的,不過儲存方式不同,***text是以文字方式儲存的,如果儲存英文的話區分大小寫,而***blob是以二進位制方式儲存的,不區分大小寫。***blob儲存的資料只能整體讀出,***text可以指定字符集,***blob不用指定字符集。

6.日期時間型別

(1)date:日期『2008-12-1』

(2)time:時間『12:25:36』

(3)datetime:日期時間2008-12-1 12:25:36

(4)timestamp :不固定

timestamp比較特殊,如果定義乙個字段型別為timestamp,這個欄位的時間會在其他字段修改的時候自動重新整理。所以這個資料型別可以存放這條記錄最後被修改的時間,而不是真正來存放時間的。

注:在資料庫表示字串用單引號

二、資料型別的屬性

(1)null:資料列可以包含null值

(2)not null:資料列不允許包含null值

(3)default ***:預設值,如果插入記錄的時候沒有指定值,將取這個預設值

(4)primary key:主鍵 唯一代表記錄的

(5)auto_increment:遞增,如果插入記錄的時候沒有指定值,則在上一條記錄的值上加1,僅適用於整數型別

(6)unsigned:無符號

(7)character set name:指定乙個字符集

MySQL之資料型別

資料型別是指列 儲存過程引數 表示式和區域性變數的資料特徵,它決定了資料的儲存方式,代表了不同的資訊型別。mysql當中資料型別大概有以下幾類 1.整型 都是無符號數情況下的範圍 tinyint 0 2 8 1 smallint 0 2 16 1 mediumint 0 2 24 1 int 0 2...

mysql之資料型別

資料型別 儲存範圍 位元組用途 tinyint 有符號值 128到127 27 27 1 無符號值 0到255 0到28 1 1小整數值 smallint 有符號值 32768到32767 215 215 1 無符號值 0到65535 0到216 1 2大整數值 mediumint 有符號值 838...

MySQL之資料型別

常見的資料型別 一 數值型 整型 tinyint1位元組 smallint2位元組 mediumint3位元組 int integer 4位元組 bigint8位元組 如何設定有符號和無符號?例如 create table tab int t1 int,t2 int unsigned 無符號 如果插...