91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL數據類型--------整數類型實戰

發布時間:2020-07-12 09:57:07 來源:網絡 閱讀:1377 作者:asd1123509133 欄目:MySQL數據庫

1. 背景

 * MySQL支持SQL標準整數類型整數(或INT)和SMALLINT。作為標準的擴展,MySQL還支持整數類型TINYINT、MEDIUMINT和BIGINT


2.  整數類型所需的存儲和值范圍

類型占用空間最小值最大值

   (字節)(signed/Unsigned)(signed/Unsigned)
TINYINT-128

127



0255
SMALLINT2-3276832767


065535
MEDIUMINT3-83886088388607


016777215
INT4-21474836482147483647


04294967295
BIGINT8-92233720368547758089223372036854775807


018446744073709551615


3. zerofill 屬性遇到整數類型應用

  * 創建zerofill測試表 zerofill_test

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


  * 插入數值長度小于6的值

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


  * 插入數值長度大于6的值

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

  * 查看zerofill_test表所有的數據

mysql> SELECT * FROM zerofill_test;
+---------+
| id      |
+---------+
|  011111 |
| 2222222 |
+---------+
2 rows in set (0.01 sec)

  * zerofill總結

   * 當顯示的值長度小于定義時INT定義的長度,高位補0顯示

           * 當顯示的值長度大于定義時INT定義的長度,照常顯示

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

     

4. Unsigned 類型溢出現象

  * 創建unsigned測試表 unsigned_test

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


  * 插入兩行一大一小的值

mysql> INSERT INTO unsigned_test SELECT null, 1;
Query OK, 1 row affected (0.03 sec)
Records: 1  Duplicates: 0  Warnings: 0

mysql> INSERT INTO unsigned_test SELECT null, 2;
Query OK, 1 row affected (0.01 sec)
Records: 1  Duplicates: 0  Warnings: 0

  * 查看表中插入的數據值

mysql> SELECT * FROM unsigned_test;
+----+------+
| id | data |
+----+------+
|  1 |    1 |
|  2 |    2 |
+----+------+
2 rows in set (0.00 sec)


  * 利用小數值對大數值做減運算 

mysql> SELECT data - (SELECT data FROM unsigned_test where id=2) FROM unsigned_test where id=1;
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. 整數類型應用總結

   * signed/Unsigned: 是否有符號

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

  * 推薦不要使用UNSIGNED, 范圍本質上沒有大的改變

   * UNSIGNED可能會有溢出現象發生

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


6. 總結


以需求驅動技術,技術本身沒有優略之分,只有業務之分。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

深圳市| 江都市| 乐东| 儋州市| 城市| 朝阳县| 利川市| 江都市| 长沙市| 临澧县| 铜鼓县| 乐陵市| 富锦市| 玉田县| 怀柔区| 太白县| 长垣县| 象山县| 溆浦县| 吉林市| 崇礼县| 安义县| 齐齐哈尔市| 杂多县| 柘荣县| 炎陵县| 白朗县| 尚义县| 当涂县| 安丘市| 南涧| 景东| 松原市| 彰化县| 喀喇沁旗| 义马市| 衡阳县| 汕头市| 东山县| 墨竹工卡县| 洱源县|