日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
MySQL數(shù)據(jù)類型--------整數(shù)類型實(shí)戰(zhàn)

1. 背景

創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作與策劃設(shè)計(jì),武安網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:武安等地區(qū)。武安做網(wǎng)站價(jià)格咨詢:028-86922220

* MySQL支持SQL標(biāo)準(zhǔn)整數(shù)類型整數(shù)(或INT)和SMALLINT。作為標(biāo)準(zhǔn)的擴(kuò)展,MySQL還支持整數(shù)類型TINYINT、MEDIUMINT和BIGINT

2. 整數(shù)類型所需的存儲(chǔ)和值范圍

類型占用空間最小值***值
   ?。ㄗ止?jié))(signed/Unsigned)(signed/Unsigned)
TINYINT-128

127

  0255
SMALLINT2-3276832767
  065535
MEDIUMINT3-83886088388607
  016777215
INT4-21474836482147483647
  04294967295
BIGINT8-92233720368547758089223372036854775807
  018446744073709551615

3. zerofill 屬性遇到整數(shù)類型應(yīng)用

* 創(chuàng)建zerofill測(cè)試表 zerofill_test

 
 
 
  1. mysql> CREATE TABLE zerofill_test( 
  2.     -> `id` INT(6) ZEROFILL 
  3.     -> )ENGINE=INNODB CHARSET=utf8mb4; 
  4. Query OK, 0 rows affected (0.08 sec)  

* 插入數(shù)值長(zhǎng)度小于6的值

 
 
 
  1. mysql> INSERT INTO zerofill_test SELECT 11111; 
  2. Query OK, 1 row affected (0.03 sec) 
  3. Records: 1  Duplicates: 0  Warnings: 0  

* 插入數(shù)值長(zhǎng)度大于6的值

 
 
 
  1. mysql> INSERT INTO zerofill_test SELECT 2222222; 
  2. Query OK, 1 row affected (0.04 sec) 
  3. Records: 1  Duplicates: 0  Warnings: 0  

* 查看zerofill_test表所有的數(shù)據(jù)

 
 
 
  1. mysql> SELECT * FROM zerofill_test; 
  2. +---------+ 
  3. | id      | 
  4. +---------+ 
  5. |  011111 | 
  6. | 2222222 | 
  7. +---------+ 
  8. 2 rows in set (0.01 sec)  

* zerofill總結(jié)

* 當(dāng)顯示的值長(zhǎng)度小于定義時(shí)INT定義的長(zhǎng)度,高位補(bǔ)0顯示

* 當(dāng)顯示的值長(zhǎng)度大于定義時(shí)INT定義的長(zhǎng)度,照常顯示

* zerofill顯示屬性,值不做任何修改

4. Unsigned 類型溢出現(xiàn)象

* 創(chuàng)建unsigned測(cè)試表 unsigned_test

 
 
 
  1. mysql> CREATE TABLE unsigned_test( 
  2.     -> id BIGINT PRIMARY KEY NOT NULL AUTO_INCREMENT, 
  3.     -> data INT UNSIGNED 
  4.     -> )ENGINE=INNODB CHARSET=utf8mb4; 
  5. Query OK, 0 rows affected (0.12 sec)  

* 插入兩行一大一小的值

 
 
 
  1. mysql> INSERT INTO unsigned_test SELECT null, 1; 
  2. Query OK, 1 row affected (0.03 sec) 
  3. Records: 1  Duplicates: 0  Warnings: 0 
  4.   
  5. mysql> INSERT INTO unsigned_test SELECT null, 2; 
  6. Query OK, 1 row affected (0.01 sec) 
  7. Records: 1  Duplicates: 0  Warnings: 0  

* 查看表中插入的數(shù)據(jù)值

 
 
 
  1. mysql> SELECT * FROM unsigned_test; 
  2. +----+------+ 
  3. | id | data | 
  4. +----+------+ 
  5. |  1 |    1 | 
  6. |  2 |    2 | 
  7. +----+------+ 
  8. 2 rows in set (0.00 sec)  

* 利用小數(shù)值對(duì)大數(shù)值做減運(yùn)算

 
 
 
  1. mysql> SELECT data - (SELECT data FROM unsigned_test where id=2) FROM unsigned_test where id=1; 
  2. ERROR 1690 (22003): BIGINT UNSIGNED value is out of range in '(`mytest`.`unsigned_test`.`data` - (select `mytest`.`unsigned_test`.`data` from `mytest`.`unsigned_test` where 1))' 

5. 整數(shù)類型應(yīng)用總結(jié)

* signed/Unsigned: 是否有符號(hào)

* ZEROFILL: 顯示屬性,值不做任何修改

* 推薦不要使用UNSIGNED, 范圍本質(zhì)上沒(méi)有大的改變

* UNSIGNED可能會(huì)有溢出現(xiàn)象發(fā)生

* 自增INT 類型主鍵建議使用BIGINT

6. 總結(jié)

以需求驅(qū)動(dòng)技術(shù),技術(shù)本身沒(méi)有優(yōu)略之分,只有業(yè)務(wù)之分。


網(wǎng)頁(yè)名稱:MySQL數(shù)據(jù)類型--------整數(shù)類型實(shí)戰(zhàn)
當(dāng)前鏈接:http://www.5511xx.com/article/cdcejeg.html