日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

八、一篇文章快速搞懂MySQL 常见的数据类型(整型、小数、字符型、日期型详解)

發(fā)布時間:2024/7/5 数据库 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 八、一篇文章快速搞懂MySQL 常见的数据类型(整型、小数、字符型、日期型详解) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

常見的數(shù)據(jù)類型

1、數(shù)值型:
整型
小數(shù):
定點數(shù)
浮點數(shù)

2、字符型:
較短的文本:char、varchar
較長的文本:text、blob(較長的二進(jìn)制數(shù)據(jù))

3、日期型:

一、整型

1)分類:
tinyint、smallint、mediumint、int/integer、bigint
1 2 3 4 8

2)特點:
① 如果不設(shè)置無符號還是有符號,默認(rèn)是有符號,如果想設(shè)置無符號,需要添加unsigned關(guān)鍵字
② 如果插入的數(shù)值超出了整型的范圍,會報out of range異常,并且插入臨界值
③ 如果不設(shè)置長度,會有默認(rèn)的長度。長度代表了顯示的最大寬度,如果不夠會用0在左邊填充,但必須搭配zerofill使用!

#1.如何設(shè)置無符號和有符號。默認(rèn)是有符號,要設(shè)置無符號,需要加上unsigned關(guān)鍵字。例如:t1 INT(7) unsigned DROP TABLE IF EXISTS tab_int; CREATE TABLE tab_int(t1 INT(7) ZEROFILL,t2 INT(7) ZEROFILL );DESC tab_int;INSERT INTO tab_int VALUES(-123456); INSERT INTO tab_int VALUES(-123456,-123456); INSERT INTO tab_int VALUES(2147483648,4294967296);INSERT INTO tab_int VALUES(123,123);SELECT * FROM tab_int;

二、小數(shù)

分類:

1.浮點型
float(M,D)
double(M,D)
2.定點型
dec(M,D)
decimal(M,D)

特點:


M:整數(shù)部分的位數(shù) + 小數(shù)部分的位數(shù)(可以理解為數(shù)值的總長度為M
D:小數(shù)部分的位數(shù)(可以理解為保留D位小數(shù)
如果超過范圍,則插入臨界值


M和D都可以省略
如果是decimal,則M默認(rèn)為10,D默認(rèn)為0
如果是float和double,則會根據(jù)插入的數(shù)值的精度來決定精度

定點型的精確度較高,如果要求插入數(shù)值的精度較高,如貨幣運算等則考慮使用

#測試M和DDROP TABLE tab_float; CREATE TABLE tab_float(f1 FLOAT,f2 DOUBLE,f3 DECIMAL ); SELECT * FROM tab_float; DESC tab_float;INSERT INTO tab_float VALUES(123.4523,123.4523,123.4523); INSERT INTO tab_float VALUES(123.456,123.456,123.456); INSERT INTO tab_float VALUES(123.4,123.4,123.4); INSERT INTO tab_float VALUES(1523.4,1523.4,1523.4);

選擇數(shù)據(jù)類型的基本原則:
所選擇的類型越簡單越好,能保存數(shù)值的類型越小越好

三、字符型

1)較短的文本:

  • char

  • varchar

  • 其他:
    binary和varbinary用于保存較短的二進(jìn)制
    enum用于保存枚舉
    set用于保存集合

2)較長的文本:

  • text
  • blob(較大的二進(jìn)制)

特點:

寫法M的意思特點空間的耗費效率
char(M)最大的字符數(shù),可以省略,默認(rèn)為1固定長度的字符比較耗費
varchar(M)最大的字符數(shù),不可以省略可變長度的字符比較節(jié)省
CREATE TABLE tab_char(c1 ENUM('a','b','c'));INSERT INTO tab_char VALUES('a'); INSERT INTO tab_char VALUES('b'); INSERT INTO tab_char VALUES('c'); INSERT INTO tab_char VALUES('m'); INSERT INTO tab_char VALUES('A');SELECT * FROM tab_set;CREATE TABLE tab_set(s1 SET('a','b','c','d')); INSERT INTO tab_set VALUES('a'); INSERT INTO tab_set VALUES('A,B'); INSERT INTO tab_set VALUES('a,c,d');

四、日期型

分類:
date只保存日期
time 只保存時間
year只保存年

datetime保存日期+時間
timestamp保存日期+時間

特點:

類型字節(jié)范圍時區(qū)等的影響
datetime81000——9999不受
timestamp41970-2038
CREATE TABLE tab_date(t1 DATETIME,t2 TIMESTAMP);INSERT INTO tab_date VALUES(NOW(),NOW());SELECT * FROM tab_date;SHOW VARIABLES LIKE 'time_zone'; # 顯示時區(qū)名稱SET time_zone='+9:00'; # 設(shè)置時區(qū)

總結(jié)

以上是生活随笔為你收集整理的八、一篇文章快速搞懂MySQL 常见的数据类型(整型、小数、字符型、日期型详解)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。