MySQL 语言参考
来源:MYSQL.CN 发布时间:2007-11-21 20:37:00
MySQL 拥有一个复杂的但直观易学的 SQL 接口。这个章节描述了各种不同的命令、类型和函数,为了高效地使用 MySQL 需要了解它们。这个章节也可以视为 MySQL 中包含的所有功能的参考。
6.1 语言结构
6.1.1 文字:怎么写字符串与数字
这个章节描述了在 MySQL 中书写字符串与数字的各种不同方式。也包含有对各种不同差别和“gotchas”,当你在处理 MySQL 的基本类型时可能陷入的疑惑。
6.1.1.1 字符串
字符串是多个字符组成的一个字符序列,由单引号() 或双引号 () 字符包围。(但在 ANSI 模式中运行时只能用单引号)。
例如:
'a string'"another 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 字符。它用于在正文中搜索的文字实例,否则这里将解释为一个通配符。
\_
一个 ASCII 95 字符。它用于在正文中搜索的文字实例,否则这里将解释为一个通配符。
注意如果在某些正文环境内使用 或 ,将返回字符串 和 而不是 和 。
字符串中包含引号的可以有下列几种写法:
一个字符串用单引号来引用的,该字符串中的单引号字符可以用方式转义。
一个字符串用双引号来引用的,该字符串中的字符可以用方式转义。
你也可以继续使用在引号前加一个转义字符来转义的方式。
一个字符串用双引号来引用的,该字符串中的单引号不需要特殊对待而且不必被重复或转义。同理,一个字符串用单引号来引用的,该字符串中的双引号不需要特殊对待而且不必被重复或转义。
下面显示的 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),下列字符必须由转义序列表示:
NUL
ASCII 0,你应该用 (一个反斜线和一个ASCII 字符)表示它。
\
ASCII 92,反斜线。需要用 表示。
'
ASCII 39,单引号。需要用 表示。
"
ASCII 34,双引号。需要用 表示。
如果你写 C 代码,你可以使用 C API 函数mysql_real_escape_string() 来为 INSERT 语句转义字符。在 Perl 中,你可以使用 DBI 包中的 quote 方法来将这些特殊字符转换成适当的转义序列。
你应该在任何可能包含上述特殊字符的字符串中使用转义函数!
另外,很多 MySQL API 提供了一些占位符处理能力,这允许你在查询语句中插入特殊标记,然后在执行查询时对它们绑定数据值。这样,API 会自动为你从数值中转换它们。
猜你喜欢
- eWebEditor在线HTML编辑助手是基于eWebEditor在线HTML编辑器的扩展工具。当您的电脑安装了eWebEditor在线HT
- Oracle 数据库启动Oracle shutdown的时候突然断电,导致使用sql/plus启动时无法连接到数据库,具体描述为: conn
- ASP是目前一种广为应用的用来快速构建动态WEB站点的编程语言,默认的内置开发语言是VBScript,由于ASP和微软Windows系列操作
- 一直以来,JS前端代码因为必须经过IE明文解析,某些加密的JS如:JScript.Encode也因为树大招风,早就被人破解了。还有些加密的手
- 一、软件包a) freetds-stable.gzb) php-5.2.12.tar.gz二、安装步骤a) tar zxvf freetds
- <% Rem Rem ## 在线升级类声明 Class Cls_oUpdate
- 问题:1.一个销售系统,设有各级代理商,每个代理商的表是这样设计的 数据库结构表1: 代理商资料表[id]
- 情景一: var yx01 = new function() {return "圆心"}; alert(yx01);我们
- 做设计的时候,如何配色是经常让人头痛的问题,尽管很多时候,很多人都说对于色彩的掌握更多的是靠感觉,但是不得不说,感觉也是要有依据的。所以颜色
- 前言 日益增长的分布式应用需求要求实现更好分布式的软件环境,不断推动着分布式技术的进步。Oracle数据复制是实现分布式数据环境的一种技术,
- 方案:◆1、SELECT TOP PAGESIZE NEWSTITLEFORM NEWSINFO WHERE NEWSID NOT IN(S
- 阅读上一章:Chapter 14 图片替换Chapter 15 为<body>指定样式把内容与显示效果分开设定的好处之一就是灵活
- MS SQL基本语法及实例操作 一:建表并初始化 ============================ create database
- em 和 strong 的区别,可以从三个层次上来谈。首先看 HTML 4.01 中的说明:EM: Indicates emphasis.S
- 现在大家都在讨论Web2.0 ,大家都在搞用户行为前端设计,现在注册一个ID一般只需要几秒钟,站长期望其产生高价值的UGC,形成一个只需要审
- 如何限制上传文件的大小?要限制上传大小,只需如下设置一个属性即可: &
- 网页制作中用到的特效字,你一定是用图象处理软件制作的吧!告诉你,不用图象处理软件,我也能做出漂亮的特效字来,你看,阴影字我就是这样做出来的。
- <SCRIPT language="javascript"> function&nbs
- IE历来被web标准的拥护者所诟病,而当FireFox横空出世以后,更多的网页制作者开始关注web标准设计。看着FireFox的市场占有率不
- 很多朋友想用SQL2000数据库的编程方法,但是却又苦于自己是学ACCESS的,对SQL只是一点点的了解而已,这里我给大家提供以下参考---