您的位置:首页 > 其它

4.1.0中文参考手册--6.1语言结构

2008-04-30 09:13 369 查看
MySQL4.1.0中文参考手册---犬犬(心帆)翻译MySQLReferenceManualforversion4.1.0-alpha.

6MySQL语言参考
MySQL拥有一个复杂的但直观易学的SQL接口。这个章节描述了各种不同的命令、类型和函数,为了高效地使用MySQL需要了解它们。这个章节也可以视为MySQL中包含的所有功能的参考。
6.1语言结构6.1.1文字:怎么写字符串与数字

这个章节描述了在MySQL中书写字符串与数字的各种不同方式。也包含有对各种不同差别和“gotchas”,当你在处理MySQL的基本类型时可能陷入的疑惑。
6.1.1.1字符串
字符串是多个字符组成的一个字符序列,由单引号(“'”)或双引号(“"”)字符包围。(但在ANSI模式中运行时只能用单引号)。

例如:

'astring'"anotherstring"

在一个字符串中,如果某个序列具有特殊的含义,每个序列以反斜线符号(“/”)开头,称为转义字符。MySQL识别下列转义字符:
/0一个ASCII0(NUL)字符。/'一个ASCII39单引号(“'”)字符。/"一个ASCII34双引号(“"”)字符。/b一个ASCII8退格符。/n一个ASCII10换行符。/r一个ASCII13回车符。/t一个ASCII9制表符(TAB)。/zASCII(26)(Control-Z)。这个字符可以处理在Windows系统中ASCII(26)代表一个文件的结束的问题。(当使用mysqldatabase<filename时ASCII(26)可能会引起问题产生。)//一个ASCII92反斜线(“/”)字符。/%一个ASCII37“%”字符。它用于在正文中搜索“%”的文字实例,否则这里“%”将解释为一个通配符。查看章节6.3.2.1字符串比较函数。/_一个ASCII95“_”字符。它用于在正文中搜索“_”的文字实例,否则这里“_”将解释为一个通配符。查看章节6.3.2.1字符串比较函数.
注意如果在某些正文环境内使用“/%”或“/_”,将返回字符串“/%”和“/_”而不是“%”和“_”。

字符串中包含引号的可以有下列几种写法:
一个字符串用单引号“'”来引用的,该字符串中的单引号“'”字符可以用“''”方式转义。一个字符串用双引号“"”来引用的,该字符串中的“"”字符可以用“""”方式转义。你也可以继续使用在引号前加一个转义字符“/”来转义的方式。一个字符串用双引号“"”来引用的,该字符串中的单引号“'”不需要特殊对待而且不必被重复或转义。同理,一个字符串用单引号“'”来引用的,该字符串中的双引号“"”不需要特殊对待而且不必被重复或转义。
下面显示的SELECT演示引号和转义是如何工作:

mysql>SELECT'hello','"hello"','""hello""','hel''lo','/'hello';+-------+---------+-----------+--------+--------+|hello|"hello"|""hello""|hel'lo|'hello|+-------+---------+-----------+--------+--------+mysql>SELECT"hello","'hello'","''hello''","hel""lo","/"hello";+-------+---------+-----------+--------+--------+|hello|'hello'|''hello''|hel"lo|"hello|+-------+---------+-----------+--------+--------+mysql>SELECT"This/nIs/nFour/nlines";+--------------------+|ThisIsFourlines|+--------------------+

如果你想要把二进制数据插入到一个字符类型的字段中(例如BLOB),下列字符必须由转义序列表示:NULASCII0,你应该用“/0”(一个反斜线和一个ASCII“0”字符)表示它。/ASCII92,反斜线。需要用“//”表示。'ASCII39,单引号。需要用“/'”表示。"ASCII34,双引号。需要用“/"”表示。
如果你写C代码,你可以使用CAPI函数mysql_real_escape_string()来为INSERT语句转义字符。查看章节8.1.2CAPI函数概述。在Perl中,你可以使用DBI包中的quote方法来将这些特殊字符转换成适当的转义序列。查看章节8.5.2DBI接口。

你应该在任何可能包含上述特殊字符的字符串中使用转义函数!共6页 第1页
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: