国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【MySQL】MySQL 數(shù)據(jù)類型

這篇具有很好參考價(jià)值的文章主要介紹了【MySQL】MySQL 數(shù)據(jù)類型。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

目錄

1. tinyint 類型

2. bit 類型

3. 小數(shù)類型

1、float 類型

2、decimal 類型

3. 字符串類型

1、char 類型?

2、varchar 類型

4. 日期類型

5. enum和set

1、枚舉和集合類型語法

2、枚舉和集合類型的查找

6、find_in_set 函數(shù)

寫在最后:


1. tinyint 類型

我們以 tinyint 類型為例子,介紹 int 系列的類型。

1)我們先建一個(gè)簡單的表:

create table if not exists t1(
    num tinyint
);

2)然后我們直接觀察三連查看一下這個(gè)表:

【MySQL】MySQL 數(shù)據(jù)類型,學(xué)習(xí)MySQL,mysql,數(shù)據(jù)庫

操作包含:

desc t1;
show tables;
show create table t1;

3)接下來就是插入操作:

tinyint 的取值范圍是 -128 ~ 127,我們現(xiàn)在就來插入一些值試試:

insert into t1 values (-128);
insert into t1 values (127);
insert into t1 values (0);
insert into t1 values (1);
insert into t1 values (-1);

然后我們再查看一下我們剛剛插入的數(shù)據(jù):

select * from t1;

【MySQL】MySQL 數(shù)據(jù)類型,學(xué)習(xí)MySQL,mysql,數(shù)據(jù)庫

如果我們插入一個(gè)不正確的值呢:

【MySQL】MySQL 數(shù)據(jù)類型,學(xué)習(xí)MySQL,mysql,數(shù)據(jù)庫

MySQL 會(huì)直接報(bào)錯(cuò),不讓我們插入。

接下來我們再建一個(gè)表,創(chuàng)建一個(gè)無符號的類型:

create table if not exists t1(
    num tinyint unsigned
);

他的數(shù)據(jù)范圍是 0 ~ 255。

所以如果我們插入負(fù)數(shù)那肯定是會(huì)報(bào)錯(cuò)的:

【MySQL】MySQL 數(shù)據(jù)類型,學(xué)習(xí)MySQL,mysql,數(shù)據(jù)庫

2. bit 類型

1)老規(guī)矩,還是從建表開始:

create table if not exists t3(
    id int,
    online bit(1)
);

2)查看表:

【MySQL】MySQL 數(shù)據(jù)類型,學(xué)習(xí)MySQL,mysql,數(shù)據(jù)庫

3)插入數(shù)據(jù):

insert into t3 (id, online) values (123, 1);
insert into t3 (id, online) values (123, 2);

?插入了 2 就報(bào)錯(cuò)了,因?yàn)樗恢С忠粋€(gè)比特位:

【MySQL】MySQL 數(shù)據(jù)類型,學(xué)習(xí)MySQL,mysql,數(shù)據(jù)庫

我們可以修改他的值:

alter table t3 modify online bit(10);

我們可以看到這里修改成功了:

【MySQL】MySQL 數(shù)據(jù)類型,學(xué)習(xí)MySQL,mysql,數(shù)據(jù)庫

如果我們建表的時(shí)候不帶 bit 的大小,他默認(rèn)是 1 。

3. 小數(shù)類型

1、float 類型

?1)老樣子,從建表開始學(xué)習(xí):

create table if not exists t5(
    id int,
    salary float(4, 2)
);

2)查看一下表:

【MySQL】MySQL 數(shù)據(jù)類型,學(xué)習(xí)MySQL,mysql,數(shù)據(jù)庫

3)嘗試插入數(shù)據(jù):

insert into t5 (id, salary) values (1, 99.99);
insert into t5 (id, salary) values (1, 199.99);

【MySQL】MySQL 數(shù)據(jù)類型,學(xué)習(xí)MySQL,mysql,數(shù)據(jù)庫

float 類型的括號里面,第一個(gè)是他的位數(shù),我們選了 4 所以最多 4 位,

第二個(gè)是他的精度,我們選了 2 所以他的小數(shù)位最多 2 位。?

這里要注意的是,因?yàn)榫纫蟮氖莾晌?,所以整?shù)部分也只能是兩位。

【MySQL】MySQL 數(shù)據(jù)類型,學(xué)習(xí)MySQL,mysql,數(shù)據(jù)庫

這里又有一種和神奇的現(xiàn)象,就是精度部分是按照四舍五入進(jìn)行計(jì)算的,

所以 99.994 是允許插入這樣的數(shù)的。

我們在建表的時(shí)候,在 float 類型后面也可以加上 unsigned 讓他成為無符號。? ? ? ? ??

如果是默認(rèn)使用的 float ,就是自己設(shè)定,那他會(huì)有一定的精度損失。(大約是 7 位)

2、decimal 類型

在使用上面,他跟 float 類型一模一樣。

但是他對于 float 有著獨(dú)特的優(yōu)勢,這里我就直說了:

float 在存一些數(shù)字比較大的數(shù)的時(shí)候,會(huì)出現(xiàn)精度丟失的問題,

但是 decimal 存的是什么他就是什么。

3. 字符串類型

1、char 類型?

1)建表

create table if not exists t8(
    id int,
    name char(2)
);

2)插入數(shù)據(jù):

【MySQL】MySQL 數(shù)據(jù)類型,學(xué)習(xí)MySQL,mysql,數(shù)據(jù)庫

我們就能知道 char (2) 就是字符長度最長是 2。

注意:char 最大只能是 255。

2、varchar 類型

1)建表

create table if not exists t7(
    id int,
    name varchar(6)
);

2)插入

【MySQL】MySQL 數(shù)據(jù)類型,學(xué)習(xí)MySQL,mysql,數(shù)據(jù)庫

可以看到他最大能插入的長度是 6 。注意 varchar 最長支持 21845。

那 char 和 varchar 看起來一樣,他們的區(qū)別是什么?

char 是定長(一開始就開辟好),varchar 是變長的(用多少,開辟多少)

4. 日期類型

有三種常見的日期類型:date,datetime,timestamp

1)建表

create table if not exists t9(
    t1 date,
    t2 datetime,
    t3 timestamp
);

2)查看表

【MySQL】MySQL 數(shù)據(jù)類型,學(xué)習(xí)MySQL,mysql,數(shù)據(jù)庫

時(shí)間戳有個(gè)默認(rèn)值,應(yīng)該是當(dāng)前的時(shí)間戳。

3)插入值

【MySQL】MySQL 數(shù)據(jù)類型,學(xué)習(xí)MySQL,mysql,數(shù)據(jù)庫

我們可以看到,這樣是插入成功的

4)查看插入結(jié)果

【MySQL】MySQL 數(shù)據(jù)類型,學(xué)習(xí)MySQL,mysql,數(shù)據(jù)庫

?t3 自動(dòng)顯示了當(dāng)前的時(shí)間。

5. enum和set

1、枚舉和集合類型語法

enum 枚舉值是單選類型

set 集合類型是多選類型

1)建表

create table if not exists t10(
    username varchar(20),
    sex enum('男', '女'),
    hobby set('寫代碼', '睡覺', '打游戲')
);

2)查看表

【MySQL】MySQL 數(shù)據(jù)類型,學(xué)習(xí)MySQL,mysql,數(shù)據(jù)庫

3)插入值?

【MySQL】MySQL 數(shù)據(jù)類型,學(xué)習(xí)MySQL,mysql,數(shù)據(jù)庫

然后:

【MySQL】MySQL 數(shù)據(jù)類型,學(xué)習(xí)MySQL,mysql,數(shù)據(jù)庫

我們可以看到我們插入的值。

這里要注意的是,以后再 sex 位置插入時(shí),只能插入他給的枚舉值,而枚舉值從 1 開始,所以也可以通過插入枚舉值來代表我們插入的值,比如說插入 1 就是插入 男。?

我們再來試試能不能給集合插入多個(gè)值:

【MySQL】MySQL 數(shù)據(jù)類型,學(xué)習(xí)MySQL,mysql,數(shù)據(jù)庫

我們可以看到是可以插入多個(gè)值的。這里要注意的是,如果什么都不插入,就會(huì)是 ?NULL,如果插入 0 就會(huì)是一個(gè)空串,但是集合中的數(shù)字跟枚舉的不同,我們可以把這個(gè)集合中的 3 個(gè)值想象成一個(gè)二進(jìn)制 000,最低位代表的是第一個(gè)值,所以插入 1 就是 001,插入寫代碼:

【MySQL】MySQL 數(shù)據(jù)類型,學(xué)習(xí)MySQL,mysql,數(shù)據(jù)庫

【MySQL】MySQL 數(shù)據(jù)類型,學(xué)習(xí)MySQL,mysql,數(shù)據(jù)庫

如果插入的是 3 ,插入的就應(yīng)該是 寫代碼和睡覺:

【MySQL】MySQL 數(shù)據(jù)類型,學(xué)習(xí)MySQL,mysql,數(shù)據(jù)庫

可以看到確實(shí)是這樣。?

總結(jié):枚舉是下標(biāo),集合是位圖。

2、枚舉和集合類型的查找

?先來根據(jù)枚舉值查找:

select * from t10 where sex=1;
select * from t10 where sex=2;

【MySQL】MySQL 數(shù)據(jù)類型,學(xué)習(xí)MySQL,mysql,數(shù)據(jù)庫

集合其實(shí)也是這樣找:

select * from t10 where hobby=1;
select * from t10 where hobby=3;
select * from t10 where hobby=7;

【MySQL】MySQL 數(shù)據(jù)類型,學(xué)習(xí)MySQL,mysql,數(shù)據(jù)庫

那如果我們想要篩選出,比如說愛好有睡覺的都找出來,那該怎么找?

因?yàn)槲覀兩厦娴牟檎叶际菄?yán)格的匹配,有沒有更靈活的方式呢?

6、find_in_set 函數(shù)

實(shí)際上,在 MySQL 里面是可以執(zhí)行函數(shù)的:

【MySQL】MySQL 數(shù)據(jù)類型,學(xué)習(xí)MySQL,mysql,數(shù)據(jù)庫

find_in_set 只能查找一個(gè)元素是否在對應(yīng)的集合里面。

這樣我們就可以:

select * from t10 where find_in_set('睡覺', hobby);

【MySQL】MySQL 數(shù)據(jù)類型,學(xué)習(xí)MySQL,mysql,數(shù)據(jù)庫

?成功找到了。

寫在最后:

以上就是本篇文章的內(nèi)容了,感謝你的閱讀。

如果感到有所收獲的話可以給博主點(diǎn)一個(gè)哦。

如果文章內(nèi)容有遺漏或者錯(cuò)誤的地方歡迎私信博主或者在評論區(qū)指出~文章來源地址http://www.zghlxwxcb.cn/news/detail-638019.html

到了這里,關(guān)于【MySQL】MySQL 數(shù)據(jù)類型的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包