最近编程操作数据库语句的时候出现一些问题。
关于Insert字符串 ,在(单引号,双引号)这个方面发生了问题,其实主要是因为数据类型和变量在作怪。

下面我们就分别讲述,虽然说的是Insert语句, 但是Select、Update、Delete语句都是一样的。

假如有下述表格:         
mytabe         
字段1    username     字符串型(姓名)         
字段2    age          数字型(年龄)         
字段3    birthday      日期型(生日)         
字段4    marry        布尔型(是否结婚,结婚为True,未结婚为False)         
字段5    leixing       字符串型(类型)

1.     插入字符串型

假如要插入一个名为张红的人,因为是字符串,所以Insert语句中名字两边要加单撇号,数值型可以不加单引号

如:          strsql=“Insert into mytable(username) values(‘张红')”

如果现在姓名是一个变量thename,则写成

strsql=”Insert into mytable(username) values(‘” & thename & “')”        说明:&改为+号也可以吧,字符串连接

这里Insert into mytable(username) values(‘
 是张红前面的部分,thename是字符串变量,   ')
  是张红后面的部分。

将thename变量替换成张红,再用&将三段连接起来,就变成了 strsql=“Insert into mytable(username) values(‘张红')”。

如果要插入两个字段,如姓名为“张红”,类型为“学生”

strsql=“Insert into mytable(username,leixing) values(‘张红','学生')”

如果现在姓名是一个变量thename,类型也是一个变量thetype,

则写成:          strsql=”Insert into mytable(username,leixing) values(‘” & thename & “','” & thetype & “')”

和第一个例子一样,将thename和thetype替换后,再用连接符,就连接成和上面一样的字符串了。

2.     插入数字型

假如插入一个年龄为12的记录,要注意数字不用加单撇号:

strsql=“Insert into mytable(age) values(12)”          如果现在年龄是一个变量theage,则为:

strsql=“Insert into mytable(age) values(“ & theage & “)”

这里Insert into mytable(age) values(是12前面的部分,theage是年龄变量,)是12后面部分。

将theage替换,再用&连接符将三部分连接起来,就变为了和上面一样的字符。

3.     插入日期型

日期型和字符串型类似,但是要将单撇号替换为#号。(不过,access数据库中用单撇号也可以)

strsql=“Insert into mytable(birthday) values(#1980-10-1#)”

如果换成日期变量thedate          strsql=“Insert into mytable(birthday) values(#” & thedate & “#)”

4.     插入布尔型

布尔型和数字型类似:只不过只有两个值 True和False,

如:          strsql=“Insert into mytable(marry) values(True)”

如果换成布尔变量themarry

strsql=“Insert into mytable(birthday) values(” & themarry& “)”

5.     综合示例

插入一个姓名为张红,年龄为12的记录

strsql=“Insert into mytable(username,age) values(‘张红',12)”

仔细注意上式:因为姓名是字符串,所以张红两边加了单撇号;年龄是数字,所以没有加单撇号。

如果换成字符串变量thename和数字变量theage,则变为:

strsql=“Insert into mytable(username,age) values(‘” & thename & “',” & theage & “)”

注意上式,总之,替换变量,再连接后要完成和上边一样的字符串。

6.     小窍门

要把下面的语句题换成变量的写法:    
   strsql=“Insert into mytable(username) values(‘张红')”

第一步:先把张红抹去,在原位置  加 两个引号

strsql=“Insert into mytable(username) values(‘”   “')”

第二步:在中间添加两个连接符&

strsql=“Insert into mytable(username) values(‘” & & “')”

第三步:把变量写在两个连接符之间

strsql=“Insert into mytable(username) values(‘” & thename & “')” -

我们在写SQL查询的时候还是不厌其烦的加上单引号吧,似乎那没有坏处。因为对于主键为字符串类型的查询语句,加不加单引号的性能是相差百倍一上的。参看:一个单引号引发的MYSQL性能问题分析

数据库SQL、SQLite语句单引号、双引号的用法的更多相关文章

  1. 转发:【PHP】转义和过滤html单、双引号及HTML标签

    一.单引号和双引号转义在PHP的数据存储过程中用得比较多,即往数据库里面存储数据时候需要注意转义单.双引号: 先说几个PHP函数: 1.addslashes — 使用反斜线引用(转义)字符串: 返回字 ...

  2. include 语句中使用双引号与括号有什么区别?

    Include 的语法 你在学习如何构造函数时,看到了不同的 include 语句: # include <iostream> # include "distance.h&quo ...

  3. Linux中的元字符和转义符 单引号 硬引号 双引号 软引号

    Linux中的元字符和转义符  单引号  硬引号  双引号  软引号 Linux就这个范儿 Linux就这个范儿 P182单引号:硬引号,所有元字符特殊意义都会关掉双引号:软引号,只允许出现特定元字符 ...

  4. PHP中单引号双引号使用原则

    PHP中单引号双引号使用原则   1.PHP中尽量用单引号,HTML代码全部用双引号   2.在包含变量的时候,用双引号可以简化操作   3.复杂的情况下用大括号包起来   4 PHP引号还有一个用处 ...

  5. PostgreSQL的SQL语句中的双引号引发的问题

    最近开发一个WEB的ETL工具需要用到不同的数据源.第一次用POSTGRESQL发现一个双引号引发的问题: 标准的SQL是不区分大小写的.但是PostgreSQL对于数据库中对象的名字允许使用支持大小 ...

  6. python中的单引号,双引号,三引号

    转载自: http://blog.csdn.net/wanghai__/article/details/6285310 先说1双引号与3个双引号的区别,双引号所表示的字符串通常要写成一行 如: s1 ...

  7. Python 基础 (单、双引号区别) 不断补充

    最近开始学习Python ,一些小细节的东西不是很理解,所以就记录一下,方便自己以后查看. 我的Python环境: Mac pro 10.12.3,Python3.5 ,Pycharm 多句题外话:公 ...

  8. sql server单引号和双引号的区别

    --当 SET QUOTED_IDENTIFIER 为 ON 时,标识符可以由双引号分隔,而文字必须由单引号分隔--当 SET QUOTED_IDENTIFIER 为 OFF(默认值)时,表达式中的文 ...

  9. python:单引号,双引号和三引号

    python中字符串可以用单引号括起来,也可以用双引号,这两种方式是等价的需要表示一个字符串对象的话,单引号和双引号没有区别 为什么需要单引号和双引号同时支持,而一般都是”呢? 比如” 双引号’里面有 ...

  10. XML中& <> 单引号' 双引号 " 报错

    由于xml中 这些字符是特殊字符,所以把&改成&  就行了 ,注意后面一定要带一个分号; <         <         小于号>         >  ...

随机推荐

  1. js自执行函数&扩展方法

    我们通常将JS代码写在一个单独的JS文件中,然后在页面中引入该文件.但是,有时候引入后会碰到变量名或函数名与其它JS代码冲突的问题.那么如何解决这个问题呢?作用域隔离.在JS中,作用域是通过函数来划分 ...

  2. EasyUI中datagrid双击事件

    EasyUI中datagrid双击事件 在jsp文件底部增加代码: <script type="text/javascript"> //数据表双击事件 $('#tabl ...

  3. 插入算法分别从C,java,python三种语言进行书写

    真正学懂计算机的人(不只是“编程匠”)都对数学有相当的造诣,既能用科学家的严谨思维来求证,也能用工程师的务实手段来解决问题——而这种思维和手段的最佳演绎就是“算法”. 作为一个初级编程人员或者说是一个 ...

  4. QMesageBox的使用

    一.使用构造函数弹出对话框 1. QMessageBox msgBox://最简单的对话框,里面什么也没有 QString str = “test”: msgBox.setText(str); msg ...

  5. 本地存储(localStorage、sessionStorage、web Database)

    一.sessionStorage和localStorage sessionStorage和localStorage两种方法都是当用户在inPut文本框中输入内容并点击保存数据按钮时保存数据,点击读取数 ...

  6. NSwag在asp.net web api中的使用,基于Global.asax

    https://github.com/NSwag/NSwag/wiki/OwinGlobalAsax This page explains how to use the NSwag OWIN midd ...

  7. NSwag Tutorial: Integrate the NSwag toolchain into your ASP.NET Web API project

    https://blog.rsuter.com/nswag-tutorial-integrate-the-nswag-toolchain-into-your-asp-net-web-api-proje ...

  8. 使用mysqldump迁移数据

    1. 先停止业务,使用MySQLdump的数据导出工具,将您线下原有数据库数据导出为数据文件 mysqldump -hlocalhost -uroot --default-character-set= ...

  9. VIM操作基础命令

    VIM操作基础命令 1 文件操作 1.1 打开文件 VIM 使用 –o 或 –O 选项打开多个文件,其中 –o 表示垂直并排,例如 vim -o lesson4 lesson5 lesson6.大O表 ...

  10. scala学习手记25 - Curry化

    curry翻译为中文就是咖喱.意为使用curry可以让代码更有味道. scala里的curry化可以把函数从接收多个参数转换成接收多个参数列表.也就是说我们要编写的函数不是只有一个参数列表,这个参数列 ...