您的位置:首页 > 数据库 > MySQL

中文参考手册---7MySQL语言参考

2008-04-30 09:35 232 查看

一个字符串是一个字符序列,由单引号(“'”)或双引号(“"”)字符(后者只有你不在ANSI模式运行)包围。例如:
'astring'"anotherstring"
在字符串内,某个顺序有特殊的意义。这些顺序的每一个以一条反斜线(“/”)开始,称为转义字符。MySQL识别下列转义字符:/0一个ASCII0(NUL)字符。/n一个新行符。/t一个定位符。/r一个回车符。/b一个退格符。/'一个单引号(“'”)符。/"一个双引号(“"”)符。//一个反斜线(“/”)符。/%一个“%”符。它用于在正文中搜索“%”的文字实例,否则这里“%”将解释为一个通配符。/_一个“_”符。它用于在正文中搜索“_”的文字实例,否则这里“_”将解释为一个通配符。注意,如果你在某些正文环境中使用“/%”或“/%_”,这些将返回字符串“/%”和“/_”而不是“%”和“_”。
有几种方法在一个字符串内包括引号:一个字符串内用“'”加引号的“'”可以被写作为“''”。一个字符串内用“"”加引号的“"”可以被写作为“""”。你可以把一个转义字符(“/”)放在引号前面。一个字符串内用“"”加引号的“'”不需要特殊对待而且不必被重复或转义。同理,一个字符串内用“'”加引号的与“"”也不需要特殊对待。下面显示的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_escape_string()来为INSERT语句转义字符。见20.3CAPI函数概述。在Perl中,你可以使用DBI包中的quote方法变换特殊的字符到正确的转义序列。见20.5.2DBI接口。
你应该在任何可能包含上述任何特殊字符的字符串上使用转义函数!

整数表示为一个数字顺序。浮点数使用“.”作为一个十进制分隔符。这两种类型的数字可以前置“-”表明一个负值。
有效整数的例子:
12210-32
有效浮点数的例子:
294.42-32032.6809e+10148.00
一个整数可以在浮点上下文使用;它解释为等值的浮点数。

MySQL支持十六进制值。在数字上下文,它们表现类似于一个整数(64位精度)。在字符串上下文,它们表现类似于一个二进制字符串,这里每一对十六进制数字被变换为一个字符。
MySQL>SELECT0xa+0->10MySQL>select0x5061756c;->Paul
十六进制字符串经常被ODBC使用,给出BLOB列的值。

NULL值意味着“无数据”并且不同于例如数字类型的0为或字符串类型的空字符串。见18.15NULL值问题。
当使用文本文件导入或导出格式(LOADDATAINFILE,SELECT...INTOOUTFILE)时,NULL可以用/N表示。见共50页 第1页
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: