【2017年整理】SQL语言参考.docx
文本预览下载声明
6?MySQL?语言参考MySQL?拥有一个复杂的但直观易学的?SQL?接口。这个章节描述了各种不同的命令、类型和函数,为了高效地使用?MySQL?需要了解它们。这个章节也可以视为?MySQL?中包含的所有功能的参考。?6.1?语言结构6.1.1?文字:怎么写字符串与数字这个章节描述了在?MySQL?中书写字符串与数字的各种不同方式。也包含有对各种不同差别和“gotchas”,当你在处理?MySQL?的基本类型时可能陷入的疑惑。?6.1.1.1?字符串字符串是多个字符组成的一个字符序列,由单引号(“”)?或双引号?(“”)?字符包围。(但在?ANSI?模式中运行时只能用单引号)。?例如:a?stringanother?string在一个字符串中,如果某个序列具有特殊的含义,每个序列以反斜线符号?(“\”)开头,称为转义字符。?MySQL?识别下列转义字符:?\0?一个?ASCII?0?(NUL)?字符。?\?一个?ASCII?39?单引号?(“”)?字符。?\?一个?ASCII?34?双引号?(“”)?字符。?\b?一个?ASCII?8?退格符。?\n?一个?ASCII?10?换行符。?\r?一个?ASCII?13?回车符。?\t?一个?ASCII?9?制表符(TAB)。?\z?ASCII(26)?(Control-Z)。这个字符可以处理在?Windows?系统中?ASCII(26)?代表一个文件的结束的问题。(当使用?mysql?database??filename?时?ASCII(26)?可能会引起问题产生。)?\\?一个?ASCII?92?反斜线?(“\”)?字符。?\%?一个?ASCII?37?“%”?字符。它用于在正文中搜索“%”的文字实例,否则这里“%”将解释为一个通配符。查看章节?6.3.2.1?字符串比较函数。?\_?一个?ASCII?95?“_”?字符。它用于在正文中搜索“_”的文字实例,否则这里“_”将解释为一个通配符。查看章节?6.3.2.1?字符串比较函数.?注意如果在某些正文环境内使用?“\%”?或?“\_”,将返回字符串?“\%”?和?“\_”?而不是?“%”?和?“_”。字符串中包含引号的可以有下列几种写法:一个字符串用单引号“”来引用的,该字符串中的单引号“”字符可以用“”方式转义。?一个字符串用双引号“”来引用的,该字符串中的“”字符可以用“”方式转义。?你也可以继续使用在引号前加一个转义字符“\”来转义的方式。?一个字符串用双引号“”来引用的,该字符串中的单引号“”不需要特殊对待而且不必被重复或转义。同理,一个字符串用单引号“”来引用的,该字符串中的双引号“”不需要特殊对待而且不必被重复或转义。?下面显示的?SELECT?演示引号和转义是如何工作:?mysql?SELECT?hello,?hello,?hello,?hello,?\hello;+-------+---------+-----------+--------+--------+|?hello?|?hello?|?hello?|?hello?|?hello?|+-------+---------+-----------+--------+--------+mysql?SELECT?hello,?hello,?hello,?hello,?\hello;+-------+---------+-----------+--------+--------+|?hello?|?hello?|?hello?|?hello?|?hello?|+-------+---------+-----------+--------+--------+mysql?SELECT?This\nIs\nFour\nlines;+--------------------+|?ThisIsFourlines?|+--------------------+如果你想要把二进制数据插入到一个字符类型的字段中(例如BLOB),下列字符必须由转义序列表示:?NUL?ASCII?0,你应该用?“\0”(一个反斜线和一个ASCII?“0”字符)表示它。?\?ASCII?92,反斜线。需要用?“\\”?表示。??ASCII?39,单引号。需要用?“\”?表示。??ASCII?34,双引号。需要用?“\”?表示。?如果你写?C?代码,你可以使用?C?API?函数mysql_real_escape_string()?来为?INSERT?语句转义字符。查看章节?8.1.2?C?API?函数概述。在?Perl?中,你可以使用?DBI?包中
显示全部