你应该在任何可能包含上述任何特殊字符的字符串上使用转义函数!
7.1.2 数字
整数表示为一个数字顺序。浮点数使用“.”作为一个十进制分隔符。这两种类型的数字可以前置“-”表明一个负值。
有效整数的例子:
1221
0
-32
有效浮点数的例子:
294.42
-32032.6809e+10
148.00
一个整数可以在浮点上下文使用;它解释为等值的浮点数。
7.1.3 十六进制值
MySQL支持十六进制值。在数字上下文,它们表现类似于一个整数(64位精度)。在字符串上下文,它们表现类似于一个二进制字符串,这里每一对十六进制数字被变换为一个字符。
mysql> SELECT 0xa+0
-> 10
mysql> select 0x5061756c;
-> Paul
十六进制字符串经常被ODBC使用,给出BLOB列的值。
7.1.4 NULL值
NULL值意味着“无数据”并且不同于例如数字类型的0为或字符串类型的空字符串。见18.15 NULL值问题。
当使用文本文件导入或导出格式(LOAD DATA INFILE, SELECT ... INTO OUTFILE)时,NULL可以用\N表示。见7.16 LOAD DATA INFILE句法。
7.1.5
数据库、表、索引、列和别名的命名
数据库、表、索引、列和别名的名字都遵守MySQL同样的规则:
注意,从MySQL3.23.6开始规则改变了,此时我们引入了用'引用的标识符(数据库、表和列命名)(如果你以ANSI模式运行,"也将用于引用标识符)。
标识符 最大长度 允许的字符
数据库 64 在一个目录名允许的任何字符,除了/.
表 64 在文件名中允许的任何字符,除了/或.
列 64 所有字符
别名 255 所有字符
注意,除了以上,你在一个标识符中不能有ASCII(0)或ASCII(255)。
注意,如果标识符是一个限制词或包含特殊字符,当你使用它时,你必须总是用`引用它:
SELECT * from `select` where `select`.id > 100;
在 MySQL的先前版本,命名规则如下:
* 一个名字可以包含来自当前字符集的数字字母的字符和“_”和“$”。缺省字符集是ISO-8859-1 Latin1;这可以通过重新编译MySQL来改变。见9.1.1 用于数据和排序的字符集。
* 一个名字可以以在一个名字中合法的任何字符开始。特别地,一个名字可以以一个数字开始(这不同于许多其他的数据库系统!)。然而,一个名字不能仅仅由数字组成。
* 你不能在名字中使用“.”,因为它被用来扩充格式,你能用它引用列(见下面)。
建议你不使用象1e这样的名字,因为一个表达式如1e+1是二义性的。它可以解释为表达式1e + 1或数字1e+1。
在MySQL中,你能使用下列表格的任何一种引用列:
列引用 含义
col_name 来自于任意表的列col_name,用于包含该表的一个列的查询中
tbl_name.col_name 来自当前的数据库的表tbl_name的列col_name
9
7
3
1
2
3
4
5
6
7
8
9
10
4
8
: