MySQL 5.7参考手册_11.1 数据类型概览

2019-07-30  本文已影响0人  天涯明月照沟渠

11.1 数据类型概览

11.1.1 数字类型概览
11.1.2 日期和时间类型概览
11.1.3 字符串类型概览

11.1.1 数字类型概览

这部分是数字类型的概览,有关数字类型的属性详情信息可以查看11.2 数字类型,有关数字类型的存储要求可以查看11.8 数据类型的存储要求

对于整数类型,M表示数据的显示宽度,这个宽度最大为255,这个值与整数类型的取值范围无关。详情请查看11.2 数字类型

对于浮点类型,M表示可以存储的数字总数。

如果对数字类型的列指定ZEROFILL,MySQL会自动添加unsigned属性到列中。

数字类型可以是unsigned,也可以是signed,默认为signed,所以指定signed可以被省略。

SERIAL是BIGINT UNSIGNED AUTO_INCREMENT UNIQUE的别名。

注意
如果对整数进行减法运算,当其中一个整数为unsigned,那么结果为unsigned,除非MySQL mode的NO_UNSIGNED_SUBTRACTION被设置为enable,详情请查看12.10 Cast Functions and Operators

mysql> select if(0, "true", "false");
+------------------------+
| if(0, "true", "false") |
+------------------------+
| false                  |
+------------------------+
1 row in set (0.00 sec)

mysql> select if(1, "true", "false");
+------------------------+
| if(1, "true", "false") |
+------------------------+
| true                   |
+------------------------+
1 row in set (0.00 sec)

mysql> select if(2, "true", "false");
+------------------------+
| if(2, "true", "false") |
+------------------------+
| true                   |
+------------------------+
1 row in set (0.00 sec)

TRUE和FALSE分别是并且只是1和0的别名,如下所示:

mysql> select if(0=false, "true", "false");
+------------------------------+
| if(0=false, "true", "false") |
+------------------------------+
| true                         |
+------------------------------+
1 row in set (0.00 sec)

mysql> select if(1=true, "true", "false");
+-----------------------------+
| if(1=true, "true", "false") |
+-----------------------------+
| true                        |
+-----------------------------+
1 row in set (0.00 sec)

mysql> select if(2=true, "true", "false");
+-----------------------------+
| if(2=true, "true", "false") |
+-----------------------------+
| false                       |
+-----------------------------+
1 row in set (0.00 sec)

mysql> select if(2=false, "true", "false");
+------------------------------+
| if(2=false, "true", "false") |
+------------------------------+
| false                        |
+------------------------------+
1 row in set (0.00 sec)

从最后两条语句的结果可以看出,2既不等于1也不等于0。

11.1.2 日期和时间类型概览

(待续)

11.1.3 字符串类型概览

(待续)

上一篇 下一篇

猜你喜欢

热点阅读