mysql数值类型

一、Integer Types (Exact Value) - INTEGER, INT, SMALLINT,TINYINT, MEDIUMINT, BIGINT

Description:
INTEGER[(M)] [UNSIGNED] [ZEROFILL]

分为有符号型和无符号型,默认为有符号型,有符号型要用1bit去存储符号,无符号型则不用。

取值范围如下表所示:

Type

StorageMinimum ValueMaximum Value
 (Bytes)(Signed/Unsigned)(Signed/Unsigned)
TINYINT1-128127
  0255
SMALLINT2-3276832767
  065535
MEDIUMINT3-83886088388607
  016777215
INT4-21474836482147483647
  04294967295
BIGINT8-92233720368547758089223372036854775807
  018446744073709551615

 

三、BIT(n)  (n为1--64,存贮所需字节数为2的N次方-1)

mysql> create table bit_t2(
    -> id bit(4));
Query OK, 0 rows affected (0.02 sec)

mysql> insert into bit_t2 values(100);
ERROR 1406 (22001): Data too long for column 'id' at row 1
mysql> insert into bit_t2 values(16);
ERROR 1406 (22001): Data too long for column 'id' at row 1
mysql> insert into bit_t2 values(15);
Query OK, 1 row affected (0.00 sec)

mysql> insert into bit_t2 values(b'1110');
Query OK, 1 row affected (0.02 sec)

mysql> insert into bit_t2 values(b'11111');
ERROR 1406 (22001): Data too long for column 'id' at row 1


以上示例说明bit(4)存储的最大十进制数为15,二进制数为b'1111'

mysql> create table bit_t1(
    -> bt bit(10));
Query OK, 0 rows affected (0.02 sec)

mysql> insert into bit_t1 values(0),(1),(2);
Query OK, 3 rows affected (0.00 sec)
Records: 3  Duplicates: 0  Warnings: 0

mysql> select * from bit_t1;
+------+
| bt   |
+------+
|      |
|     |
|     |
+------+
3 rows in set (0.00 sec)

 

bt+0---->十进制显示

mysql> select bt,bt+0 from bit_t1;
+------+------+
| bt   | bt+0 |
+------+------+
|      |    0 |
|     |    1 |
|     |    2 |
+------+------+
3 rows in set (0.00 sec)

 

bin(bt)---->二进制显示

mysql> select bt,bt+0,bin(bt) from bit_t1;
+------+------+---------+
| bt   | bt+0 | bin(bt) |
+------+------+---------+
|      |    0 | 0       |
|     |    1 | 1       |
|     |    2 | 10      |
+------+------+---------+
3 rows in set (0.02 sec)

mysql> insert into bit_t1 values(b'1111');
Query OK, 1 row affected (0.00 sec)

mysql> select bt,bt+0,bin(bt) from bit_t1;
+------+------+---------+
| bt   | bt+0 | bin(bt) |
+------+------+---------+
|      |    0 | 0       |
|     |    1 | 1       |
|     |    2 | 10      |
|     |   15 | 1111    |
+------+------+---------+
4 rows in set (0.00 sec)

mysql> select * from bit_t1 where bt=1111;
Empty set (0.00 sec)

mysql> select * from bit_t1 where bin(bt)=1111
    -> ;
+------+
| bt   |
+------+
|     |
+------+
1 row in set (0.00 sec)

mysql> delete from bit_t1 where bin(bt)=1111;
Query OK, 1 row affected (0.00 sec)

mysql> select bt,bt+0,bin(bt) from bit_t1;
+------+------+---------+
| bt   | bt+0 | bin(bt) |
+------+------+---------+
|      |    0 | 0       |
|     |    1 | 1       |
|     |    2 | 10      |
+------+------+---------+
3 rows in set (0.00 sec)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值