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 会自动为你从数值中转换它们。
猜你喜欢
- 本文实例讲述了python通过BF算法实现关键词匹配的方法。分享给大家供大家参考。具体实现方法如下:#!/usr/bin/python# -
- 读取问题如下所示,我们在文本中写了一个问题,然后将其读取出来。“黄河远上白云间,一片孤城万仞山。”的作者是谁?王之涣李白白居易杜甫file
- 简介要建立一个允许过滤和分页的列表页,你必须让一些独立的东西一起工作。Django的对象关系映射器(ORM)和内置的分页类使开发者在不了解如
- 介绍对于服务器后端开发者而言,有时候需要把自己的一些服务直接暴露给PM或者其他RD使用,这个时候需要搭建一套web服务可以和前端用户做简单交
- 1. 读取CSV文件 csv.reader()该方法的作用相当于就是通过 ',' 分割csv格式的数据,并将分割好的每行数据
- 应用 MySQL 时,会遇到不能创建函数的情况。出现如下错误信息:ERROR 1418 : This function has none o
- 首先让我祭出一张数学王子高斯的照片,这位印在德国马克上的神人有多牛呢? 他是近代数学的奠基人之一,与牛顿, 阿基米德并称顶级三大数学家,随便
- 图的实现所谓图就是节点及其连接关系的集合。所以可以通过一个一维数组表示节点,外加一个二维数组表示节点之间的关系。//图的矩阵实现typede
- 一、什么是pywinautoPywinauto是基于Python开发的,用于操作Windows标准图形界面的自动化测试的脚本模块。二、pyw
- 产生跨域问题的原因跨域问题是浏览器同源策略限制,当前域名的js只能读取同域下的窗口属性。跨域问题产生的场景当要在在页面中使用js获取其他网站
- 实现效果实现代码from skimage import img_as_floatimport matplotlib.pyplot as pl
- 又有人说设session.timeout=99999。这种同样不行,session有最大时间限制。我经过测试发现最大值为24小时,也就是说你
- 本文实例为大家分享了python实现图片识别汽车的具体代码,供大家参考,具体内容如下准备工作1、登陆开发者控制台2、安装 pip insta
- 1.最小开发框架代码import sys import pygamepygame.init() size=w,h = (
- 如果和不同的后台调接口,如果后台接口没有合到一起,前端可以配不同的代理来共同访问他们的接口在config文件夹下的index.js中设置如下
- 1、涉及到图的对比会用到子图形式展示,先看看效果2、绘制代码如下accuracy_alexnet_clef = [78.05, 78.43,
- 数据库表间数据复制分类在利用数据库开发时,常常会将一些表之间的数据互相导入。当然可以编写程序实现,但是,程序常常需要开发环境,不方便。最方便
- 使用 pyecharts 渲染成图片一直是开发者比较关心的功能,pyecharts提供了 selenium、phantomjs 和 pypp
- tkinter的锚点(anchor)问题tkinter中anchor参数(注意,参数的英文都是小写)字母方位n北s南w西e东center中心
- 在 Go 里面的协程执行实际上默认是没有严格的先后顺序的。由于 Go 语言 GPM 模型的设计理念,真正执行实际工作的实际上是 GPM 中的