热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

MySQL数据入库时特殊字符处理-mysql教程

在一个字符串中,如果某个序列具有特殊的含义,每个序列以反斜线符号(“”)开头,称为转义字符。MySQL识别下列转义字符:0一个ASCII0(NUL)字符。一个ASCII39单引号(“”)字符。一个ASCII34双引号(“”)字符。b一个ASCII8

在一个字符串中,如果某个序列具有特殊的含义,每个序列以反斜线符号 (“/”)开头,称为转义字符。 MySQL 识别下列转义字符: /0 一个 ASCII 0 (NUL) 字符。 /' 一个 ASCII 39 单引号 (“'”) 字符。 / 一个 ASCII 34 双引号 (“”) 字符。 /b 一个 ASCII 8

在一个字符串中,如果某个序列具有特殊的含义,每个序列以反斜线符号 (“/”)开头,称为转义字符。 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 //
一个 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,你应该用 “/0”(一个反斜线和一个ASCII “0”字符)表示它。
/
ASCII 92,反斜线。需要用 “//” 表示。
'
ASCII 39,单引号。需要用 “/'” 表示。
"
ASCII 34,双引号。需要用 “/"” 表示。

你应该在任何可能包含上述特殊字符的字符串中使用转义函数!

另外,很多 MySQL API 提供了一些占位符处理能力,这允许你在查询语句中插入特殊标记,然后在执行查询时对它们绑定数据值。这样,API 会自动为你从数值中转换它们。

推荐阅读
  • 本文详细介绍了在 Windows 7 上安装和配置 PHP 5.4 的 Memcached 分布式缓存系统的方法,旨在减少数据库的频繁访问,提高应用程序的响应速度。 ... [详细]
  • 对于初次购买阿里云服务器的新手用户来说,如何高效地利用服务器资源并成功部署网站是一个重要的课题。本文将详细指导您完成从购买服务器到网站上线的六个关键步骤。 ... [详细]
  • 深入解析轻量级数据库 SQL Server Express LocalDB
    本文详细介绍了 SQL Server Express LocalDB,这是一种轻量级的本地 T-SQL 数据库解决方案,特别适合开发环境使用。文章还探讨了 LocalDB 与其他轻量级数据库的对比,并提供了安装和连接 LocalDB 的步骤。 ... [详细]
  • 本文通过具体示例详细介绍了 Python 中的装饰器和装饰类的使用方法,包括带参数的装饰器和装饰类的应用场景。 ... [详细]
  • 本文档详细介绍了Excel VBA编程中的基本语法,包括循环结构、条件判断、数据处理以及用户界面设计等内容,旨在帮助初学者快速掌握VBA编程技巧。 ... [详细]
  • 解决 Pytest 运行时出现 FileNotFoundError 的方法
    在使用 Pytest 进行测试时,可能会遇到 FileNotFoundError 错误,提示无法找到指定的文件或目录。本文将探讨该错误的原因及解决方案。 ... [详细]
  • HDU1085 捕获本·拉登!
    问题描述众所周知,本·拉登是一位臭名昭著的恐怖分子,他已失踪多年。但最近有报道称,他藏匿在中国杭州!虽然他躲在杭州的一个洞穴中不敢外出,但近年来他因无聊而沉迷于数学问题,并声称如果有人能解出他的题目,他就自首。 ... [详细]
  • 本文详细介绍了利用JavaScript实现的五种不同的网页弹出窗口技术,包括全屏窗口、全屏模式窗口、带收藏链接工具栏的窗口、网页对话框及HTA窗口。 ... [详细]
  • 探讨了当家庭中的无线路由器能正常为手机分配IP地址,而计算机却始终无法获取时的解决方法。 ... [详细]
  • SpringBoot新手入门指南
    本文旨在为初次接触SpringBoot的开发者提供一份详细的入门指导,包括如何快速搭建并运行一个简单的SpringBoot应用。通过本文,读者将了解Maven项目的构建、必要的配置文件设置以及基本的应用开发流程。 ... [详细]
  • 本视频详细介绍了如何利用J2EE、JBPM 3.x/4.3、Flex流程设计器、jQuery以及授权认证机制构建高效的企业普及版贝斯OA及工作流管理系统。 ... [详细]
  • BL550721、特点液晶驱动输出:Common输出4线,Segment输出36线内置显示寄存器364144bit2线串行接口(SCL,SDA)内置震荡电路内置液晶驱动电源电路13 ... [详细]
  • 本文旨在介绍一系列提升工作效率的浏览器插件和实用小工具,帮助用户在日常工作中更加便捷高效。内容由原作者授权发布。 ... [详细]
  • 本文介绍了如何在Windows操作系统中安装FFTW库,并详细说明了使用Visual Studio 2010进行4096点快速傅里叶变换(FFT)的步骤。包括下载预编译文件、生成库文件以及配置环境等关键环节。 ... [详细]
  • javascript——对象的概念——函数 1 (函数对象的属性和方法)
    一、创建函数函数是一种对象:Function类是对象,可以通过Function实例化一个函数,不过最多的还是利用function来创建函数。方式一:利用Function类来实例化函 ... [详细]
author-avatar
mobiledu2502912907
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有