MySQL的数据类型
字符串
字符串是类似‖I like mysql.‖和‘MySQL is powerful.‘等这样的值,它们既可以用双引号括起来,也可以是用单引号。
在字符串中不仅可以使用普通的字符,也可使用几个转义序列,它们用来表示特殊的字符,见表 1-2。每个转义序列以一个反斜杠(“\”)开始,指出后面的字符使用转义字符来解释,而不是普通字符。注意 NUL 字节与 NULL 值不同;NUL 为一个零值字节,而 NULL 代表没有值。
表1-2 字符串转移序列表
序列 涵义
\0 一个ASCII 0 (NUL)字符
\n 一个新行符
\r 一个回车符(Windows中使用\r\n作为新行标志)
\t 一个定位符
\b 一个退格符
\‘ 一个单引号(“'”)符
\‖ 一个双引号(“"”)符
\\ 一个反斜线(“\”)符
\% 一个“%”符。它用于在正文中搜索“%”的文字实例,否则这里“%”将解释为一个通配符
\_ 一个“_”符。它用于在正文中搜索“_”的文字实例,否则这里“_”将解释为一个通配符
现在需要注意的是,如何在串中使用引号,你可以有多种办法:
- 如果串是用相同的引号括起来的,那么在串中需要引号的地方重复写该引号即可。
- 如果串是用另外的引号括起来的,则不需要双写相应引号,直接在串中使用,该引号不被特殊对待。
- 使用反斜杠,用转移序列的方式表示;这种方法不去管用来将串括起的是单引号还是双引号。
例如,下面语句的结果是:
mysql> SELECT 'hello', '"hello"', '""hello""', 'hel''lo', '\'hello';
数字值
MySQL中的数字是类似于100或3.1215936这样的值。MySQL 支持说明为整数(无小数部分)或浮点数(有小数部分)的值:
- 整数由数字序列组成。浮点数由一个阿拉伯数字序列、一个小数点和另一个阿拉伯数字序列组成。两个阿拉伯数字序列可以分别为空,但不能同时为空。
- MySQL 支持科学表示法。科学表示法由整数或浮点数后跟“e”或“E”、一个符号(“+”或“-”,必须具有)和一个整数指数来表示。
- 数值前可放一个负号“-”以表示负值。
例如,下面都是合法的数值:
整数值:1221 0 -32
浮点数:294.42 -32032.6809e+10 148.
日期和时间值
日期和时间值是一些类似于“1999-06-17”或“12:30:43”这样的值。MySQL 还支持日期/时间的组合,如“1999-06-17 12:30:43”。
需要要特别注意的是,MySQL 是按年-月-日的顺序表示日期的。这可能与你学过的高级语言不同。
now() & sysdate()
自行体会下区别
curdate() & curtime()