mysql 資料型別

2021-10-03 07:35:43 字數 2928 閱讀 2592

型別

意義tinyint(m)

1個位元組 範圍(-128~127)

smallint(m)

2個位元組 範圍(-32768~32767)

mediumint(m)

3個位元組 範圍(-8388608~8388607)

int(m)

4個位元組 範圍(-2147483648~2147483647)

bigint(m)

8個位元組 範圍(±9.22*10的18次方)

型別意義

float(m,d)

單精度浮點型 8位精度(4位元組) m總個數,d小數字

double(m,d)

雙精度浮點型 16位精度(8位元組) m總個數,d小數字

設乙個字段定義為 float(6,3)

浮點數和定點數區別

**:

mysql>

create

table test (c1 float(10

,2),c2 decimal(10

,2))

;mysql>

insert

into test values

(131072.32

,131072.32);

query ok,

1row affected (

0.07 sec)

mysql>

select

*from test;

+-----------+-----------+

| c1 | c2 |

+-----------+-----------+

|131072.31

|131072.32|+

-----------+-----------+

浮點型在資料庫中存放的是近似值,而定點型別在資料庫中存放的是精確值。

型別意義

decimal(m,d)

m<65 是總個數,d<30且 d

型別意義

char(n)

固定長度,最多255個字元

varchar(n)

可變長度,最多65535個字元

tinytext

可變長度,最多255個字元

text

可變長度,最多65535個字元

mediumtext

可變長度,最多2的24次方-1個字元

longtext

可變長度,最多2的32次方-1個字元

varchar 與 char 區別:

varchar和text

blob 與 text型別

意義date

『2008-12-2』

time

『12:25:36』

datetime

『2008-12-2 22:06:44』

timestamp

自動儲存記錄修改時間

若定義乙個欄位為 timestamp,這個欄位裡的時間資料會隨其他字段修改的時候自動重新整理,所以這個資料型別的字段可以存放這條記錄最後被修改的時間。

mysql建表時,每個欄位的屬性有三個選項: binary, unsigned, unsigned zerofill,作用如下:

binary

create

table aaaaa(id varchar(2

)binary);

create

table bbbbb(id text

binary

);

unsigned

針對資料型別

如:tinyint[(m)] [unsigned] [zerofill]

有符號的範圍是 -128 到 127,無符號的範圍是 0 到 255。

zerofill

zerofill 類似乙個顯示屬性

create

table

`dddd`

(`id`

int(11)

default

null

)

可以看到 int(11) ,這代表什麼意思呢?整型不就是4個位元組,這個10代表什麼意思,如果沒有 zerofill 這屬性,括號類的數字沒有意義。

查詢結果:

+

------+

| id |

+------+|1

|+------+

執行:

alter

table dddd change column id id int(11

)unsigned zerofill;

再查詢:

+

-------------+

| id |

+-------------+

|00000000001|+

-------------+

對於乙個 varchar 字段,mysql 預設是大小寫不敏感的。如果我們的字段本身是敏感的,如下解決。

1. 設定系統引數(全域性)

show variables like

'lower%'

my.cnf 中的 [mysqld] 後面新增 lower_case_table_names=1,重啟mysql服務

2. 只針對單個表

上面是全域性設定,如果只針對單個表

alter

table user_priv change user_name user_name char(32

)binary

notnull

;

參考:

int(11) 與 int(10) 的區別

char 和 varchar 的區別

mysql 各種型別

mysql資料型別用法 mysql資料型別和用法

歡迎進入linux社群論壇,與200萬技術人員互動交流 進入 mysql支援多種列型別 數值型別 日期 時間型別和字串 字元 型別。本章首先對這些列型別進行了概述,然後更加詳細地描述了各種列的型別,以及列型別儲存需求的總結。概述很簡單。關於具體列型別 歡迎進入linux社群論壇,與200萬技術人員互...

mysql 資料型別 真假 MySQL 資料型別

mysql基礎 資料型別 整型型別 根據所儲存的整數數值取值範圍不同,可分為以下五類 1 tinyint佔1個位元組 2 smallint佔2個位元組 3 mediumint 佔3個位元組 4 int佔4個位元組 5 bigint佔8個位元組 根據每種型別所佔的位元組數可確定其無符號整數和有符號整數...

mysql 郵箱 資料型別 mysql 資料型別

1 整型mysql資料型別含義 有符號 tinyint m 1個位元組 範圍 128 127 smallint m 2個位元組 範圍 32768 32767 mediumint m 3個位元組 範圍 8388608 8388607 int m 4個位元組 範圍 2147483648 21474836...