美文网首页
SQL语句转义字符

SQL语句转义字符

作者: Roger_punk | 来源:发表于2020-03-12 19:04 被阅读0次

SQL语句转义字符

写在前面: SQL语句中转义字符是单引号('
原文链接:https://rrroger.github.io/FirstProject/notebook/database/sql_escape.html

参考链接:

1、先聊聊单引号双引号的作用

1)单引号

一般表示一个字符串

update company set name = 'Nike';

2)双引号

一般表示一个变量:如:表名,字段名等

update "company" set "name" = 'Nike';
  • 双引号特殊场景
-- 在一些系统中“不得不”对某一字段命名成一个数字:如:123456

-- 错误写法
select 123456 from table1;

-- 正确写法
select "123456" from table1;

2、转义字符(')的使用

首先定义一张表公司company);

仅有一个字段名称name

1) 添加一个叫“Nike”的公司。

insert into company (name) values ('Nike');

2) 添加一个叫“O'Reilly”的公司

  • 注意: 此时名称中有单引号, 而在sql语句里单引号是表示一个字符串

  • 错误写法

    • insert into company (name) values ('O'Reilly');
      
  • 正确写法

    • -- 使用单引号进行转义
      insert into company (name) values ('O''Reilly');
      

3)练习:添加一个叫“''''''”的记录

  • 这条记录的名称是6个单引号

  • 每个单引号需要一个单引号转义,得到(12个单引号):''''''''''''

  • 最后还要用两个单引号表示字符串

  • 所以最终的sql语句是(总计:14个单引号)

    • insert into company (name) values ('''''''''''''');
      

需要转义的字符

'
"
:
;
(
)
[
]
|
\
@
.............

其他写法

-- 使用字符串拼接的方式 CHR(39) 即单引号
insert into company (name) values ('O' || CHR(39) || 'Reilly');

相关文章

网友评论

      本文标题:SQL语句转义字符

      本文链接:https://www.haomeiwen.com/subject/bkqijhtx.html