MySQL语言中的转义字符和各种编程语言基本相同,见下表
形式 | 含义 |
\0 | 0(NUL)字符 |
\n | 换行 |
\r | 回车符 |
\t | 制表符 |
\b | 退格 |
\' | 单引号 |
\" | 双引号 |
\\ | 反斜线 |
\% | %符(用于区分模式匹配中的%) |
\_ | _符(用于区分模式匹配中的_) |
举其中一个用的比较多的'\n'为例,执行以下SQL语句
结果大家应该都知道,但是对于上面的图,大家是不是看起来有点别扭?
的确,因为我们看到不仅是结果出现了换行,就连select语句中的表达式也换行了,这是因为表达式是处理之后显示的,只不过,他和结果相同而已。
另外还有一个问题,就是引号的问题,我对于引号是很头痛的,以前经常用错,慢慢分析一遍都能把人搞的晕头转向
先看下面一个示例
其中第四个表达式 'hel''lo' 中间是两个单引号
或者大家的疑惑都会出现在第四个表达式吧?我倒对这个并不感到惊讶,因为又一次老师让我们给数据库中的一个表中的某一列(图片)添加相应的路径,然后我就这样的
相信眼尖的立刻就发现了photo那一列的值中并没有出现'\'分隔符,我当时就在想,这是为什么呢?如果用从数据库中读出来的路径去找资源,那肯定是找不到的,鬼知道是那一串‘路径字符串’该怎么‘断句’,那么要怎么解决呢?
然后我又试了下面一个例子
看,分隔符出来了,这是为什么呢?因为要在数据库中存某些具有特殊含义的自负的时候,都需要转义了再存。