解读SQL语句中要不要加单引号的问题

2023-02-09

这篇文章主要介绍了关于SQL语句中要不要加单引号的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

目录
  • SQL语句中要不要加单引号?
  • SQL不使用引号、使用单引号或双引号的区别
    • 加引号和不加引号有什么区别?
    • SQL中的单引号和双引号有区别吗?
    • MySQL 参考手册
  • 总结

    SQL语句中要不要加单引号?

    犯了一个超级超级蠢的错误,把population写成polulation而不自知,多次提醒我找不到polulation列,这是其一;其二是我在未得知我写错的时候,我以为是字段名没有加单引号的问题,加了单引号之后结果变成:

    所以,对于SQL我有了一些新的认识:

    1、不能手快!不能手快!不能手快!

    好好记单词!好好记单词!好好记单词!

    2、对于单引号的问题,不能仅仅用其他编程语言的习惯来写SQL。 

    ① 表名和字段名,即使是中文也不用加单引号

    ② 对于表格内的value值,要不要加单引号取决于这个字段设置的数据类型。

    比如说看例表的属性:

    可以发现population列是int类型,而country是字符串类型,写的过程中就需要添加单引号,比如country=’美国’。

    3、SQL中的任何标点都是英文格式下的,所以避免切换不清,最好使用英文字段名之类的,避免重复切换造成标点格式的错误。

    SQL不使用引号、使用单引号或双引号的区别

    加引号和不加引号有什么区别?

    表名和字段名,即使是中文也不用加单引号;

    对于表格内的value值,要不要加单引号取决于这个字段设置的数据类型, 不加引号是数字类型,加了就是字符串或日期类型了 如果是 int 类型,那么是不需要引号的,不过,加起引号也不会报错,会自动转换类型。

    SQL中的单引号和双引号有区别吗?

    在标准 SQL 中,字符串使用的是单引号。

    如果字符串本身也包括单引号,则使用两个单引号(注意,不是双引号,字符串中的双引号不需要另外转义)。

    但在其它的数据库中可能存在对 SQL 的扩展,比如在 MySQL 中允许使用单引号和双引号两种。

    MySQL 参考手册

    字符串指用单引号’或双引号"引起来的字符序列。例如:

    • a string
    • another string

    如果SQL服务器模式启用了NSI_QUOTES,可以只用单引号引用字符串。用双引号引用的字符串被解释为一个识别符。

    总结

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持北冥有鱼。

    《解读SQL语句中要不要加单引号的问题.doc》

    下载本文的Word格式文档,以方便收藏与打印。