Mysql 資料型別

2022-08-09 05:45:12 字數 2185 閱讀 2304

儲存引擎決定了表的型別,而表內存放的資料也要有不同的型別,每種資料型別都有自己的寬度,但寬度是可選的.

常用資料型別:

1.數字:

整數:tinyint :

**********==有符號tinyint**********====

# 建立資料庫db4

create database db4 charset utf8;

# 切換到當前db4資料庫

mysql> use db4;

# 建立t1 規定x欄位為tinyint資料型別(預設是有符號的)

mysql> create table t1(x tinyint);

# 驗證,插入-1這個數

mysql> insert into t1 values(-1);

# 查詢 表記錄,查詢成功(證明預設是有符號型別)

mysql> select * from t1;

+------+

| x |

+------+

| -1 |

+------+

#執行如下操作,會發現報錯。因為有符號範圍在(-128,127)

mysql> insert into t1 values(-129),(128);

error 1264 (22003): out of range value for column 'x' at row 1

**********==無符號tinyint**********====

# 建立表時定義記錄的字元為無符號型別(0,255) ,使用unsigned

mysql> create table t2(x tinyint unsigned);

# 報錯,超出範圍

mysql> insert into t2 values(-129);

error 1264 (22003): out of range value for column 'x' at row 1

# 插入成功

mysql> insert into t2 values(255);

query ok, 1 row affected (0.00 sec)

int :

mysql> create table t3(id int(1) unsigned);

#插入255555記錄也是可以的

mysql> insert into t3 values(255555);

mysql> select * from t3;

+--------+

| id |

+--------+

| 255555 |

+--------+

ps:以上操作還不能夠驗證,再來一張表驗證用zerofill 用0填充

# zerofill 用0填充

mysql> create table t4(id int(5) unsigned zerofill);

mysql> insert into t4 value(1);

query ok, 1 row affected (0.00 sec)

#插入的記錄是1,但是顯示的寬度是00001

mysql> select * from t4;

+-------+

| id |

+-------+

| 00001 |

+-------+

1 row in set (0.00 sec)

小數:float : 在位數比較短的情況下不精準

double : 在位數比較長的情況下不精準

0.000001230123123123

存成: 0.000001230000

decimal : (如果用小數,則推薦使用decimal)

精準內部原理是以字串形式儲存

2.字串:

char(10) : 簡單粗暴,浪費空間,訪問速度快

root存成root000000

varchar : 精準,節省空間,訪問速度慢

sql優化: 建立表時,定長的型別往前放,變長的往後放

比如性別    比如位址或者描述

>255個字元,超了就把檔案路徑存放到資料庫中.

3.時間型別:

最常用: datetime

4.列舉型別與集合型別:

enum 和set

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...