MySQL資料型別

2021-08-21 18:22:13 字數 3083 閱讀 8537

1.整型
mysql資料型別

含義(有符號)

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次方)

2.浮點型(float和double)
mysql資料型別

含義float(m,d)

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

double(m,d)

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

舉個栗子 float(5,3)

如果插入123.45678則存的是123.457

3.定點數
浮點型在資料庫中存放的是近似值,而定點型別則是精確種子.

decimal(m,d) 引數m<65是總個數,d<30是小數字

4.字串
主要有char,varchar,tinytext,text,mediumtext,longtext幾種型別

mysql資料型別

含義char(n)

固定長度,最多255個字元

varchar(n)

固定長度,最多65535個字元

tinytext

可變長度,最多255個字元

text

可變長度,最多65535個字元

mediumtext

可變長度,最多2^24-1個字元

longtext

可變長度,最多2^32-1個字元

enum(『value1』, 『value2』,…)

列舉:1或2位元組,取決於個數(65,535)之間

set(『value1』, 『value2』,…)

1,2,4或8個位元組,取決於set成員的數量,最多64個成員

5.日期型別
型別

大小範圍

格式用途

yeae[(2

4)]1位元組

1901-2155

yyyy

date

3位元組1000-01-01到9999-12-31

yyyy-mm-dd

日期值time

3位元組-838:59:59到838:59:59

hh:mm:ss

時間值或持續時間

datatime

8位元組1000-01-01 00:00:00到9999-12-31 23:59:59

yyyy-mm-dd hh:mm:ss

混合日期和時間值

timestamp

8位元組1970-01-01 00:00:00到2023年某時間

yyyymmddhhmmss

混合日期和時間值,時間戳

year

給year型別賦值的三種方法:

* 直接插入4位字串或4位數字

* 插入兩個字串.如果插入』00』-『69』,則相當於插入2000-2069,』70』-『99』則相當於1970-1999,插入』0』,則相當於』00』,相當於2000

* 插入兩位數字.和兩個字串唯一的區別在於如果插入數字0則表示0000

date

yyyy-mm-dd(-可以用@,.等眾多符號來替代)

yy-mm-dd

也可以插入current_date或now()顯示當前系統時間

time

time型別表示為「時:分:秒」,儘管小時範圍一般是0~23,但是為了表示某些特殊時間間隔,mysql將time的小時範圍擴發了,而且支援負值。對time型別賦值,標準格式是」hh:mm:ss」,但不一定非要是這種格式。如果插入的是」d hh:mm:ss」格式,則類似插入了」(d*24+hh):mm:ss」。比如插入」2 23:50:50」,相當於插入了」71:50:50」。如果插入的是」hh:mm」或」ss」格式,則效果是其他未被表示位的值賦為零值。比如插入」30」,相當於插入了」00:00:30」;如果插入」11:25」,相當於插入了」11:25:00」。

另外也可以插入『d hh』和『d hh:mm』,效果按上面的例子可以推理出來了吧。 在mysql中,對於』hhmmss』格式,系統能夠自動轉化為標準格式。如果我們想插入當前系統的時間,則可以插入current_time或者now()。

time型別允許使用字串或數字把值賦給time列,只佔3個位元組,如果只是儲存時間資料,它最合適了

需要注意的是,沒有冒號分隔符的 time 型別值,將會被 mysql 理解為持續的時間,而不是時間戳

datatime

通常用於自動儲存包含當前日期和時間的時間戳,並可在需要執行大量資料庫事務和需要建立乙個除錯和審查用途的審計跟蹤的應用程式中發揮良好作用

timestamp

通常用於自動儲存包含當前日期和時間的時間戳,並可在需要執行大量資料庫事務和需要建立乙個除錯和審查用途的審計跟蹤的應用程式中發揮良好作用

timestamp的取值範圍比較小,沒有datetime的取值範圍大,因此輸入值時一定要保證在timestamp的範圍之內。它的插入也與插入其他日期和時間資料型別類似。

那麼timestamp型別如何插入當前時間?第一,可以使用current_timestamp;第二,輸入null,系統自動輸入當前的timestamp;第三,無任何輸入,系統自動輸入當前的timestamp。

另外有很特殊的一點:timestamp的數值是與時區相關.

mysql以yyyymmddhhmmss、yymmddhhmmss、yyyymmdd或yymmdd格式來顯示timestamp值,取決於是否m是14(或省略)、12、8或6,但是允許你使用字串或數字把值賦給timestamp列。乙個timestamp列對於記錄乙個insert或update操作的日期和時間是有用的,因為如果你不自己給它賦值,它自動地被設定為最近操作的日期和時間。你以可以通過賦給它乙個null值設定它為當前的日期和時間

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