插入记录 INSERT INTO 语句

单条记录插入语法

INSERT INTO target [(field1[, field2[, ...]])]
VALUES (value1[, value2[, ...])

target 参数要插入数据的表名;field1、field2 等参数为要插入的表的字段名;value1、value2 等参数为对应插入的字段的值。

微软官方帮助信息 INSERT INTO Statement

注意,字段名和字段值都需要用括号括起来,如果需要向多个字段插入值,那么需要用逗号分隔这些字段名和字段名对应的值,它们的顺序必须是一一对应的。

例1、向 NorthWind 数据库的“运货商”数据表中插入一个新的运货商记录。输入 SQL 语句如下:

INSERT INTO 运货商(公司名称, 电话)
VALUES ('神行太保快递', '(010)57776941')

执行完毕后,如果没有错误,即可弹出一个确认框,如下:

选择“”按钮,即可向数据库插入一条新的运货商记录。


多条记录插入数据表的语法

INSERT INTO target [(field1[, field2[, ...]])] [IN externaldatabase]

SELECT [source.]field1[, field2[, ...]

FROM tableexpression

我们可以将上面的语法理解为,通过 SELECT…FROM… 语句来选取一系列的数据,成为一个结果集,而后通过复制到 target 表中。

在 ASP 中插入的数据可以生成一个 SQL 语句,保存在变量中,而后使用数据库对象的相应方法来执行这个语句的方式,特别要注意的是,SQL 语句中的逗号、单引号等内容,这可能会导致我们的 SQL 语句是一个错误语句。

更新记录 UPDATE 语句

用于数据库中的记录进行更新,它的语法如下:

UPDATE table

SET newvalue

WHERE criteria;

table 参数,需要修改的记录的表名;

newvalue 参数,表达式,一般采取“字段名 = 值”的形式,多个更新字段,用逗号分隔;

cirteria 参数,表达式指明记录更新的条件。

例2、在客户表中,我们将客户所在国家的名称改写为简写,例如,将“中国”改为 CN,SQL 语句如下:

UPDATE 客户
SET 国家='CN'
WHERE 国家='中国'

如果语句没有错误的,会弹出下面的确认对话框,

选择“”按钮,即可将客户表中所有记录中国家是“中国”的记录改写为“CN”,结果如下:

删除记录 DELETE 语句

这是一个具有破坏性的语句,使用前一定要仔细,避免误删了数据,DELETE 语句用于删除表中的记录,仅仅是删除记录而不是表本身,具体语法如下:

DELETE

FROM table

WHERE criteria

table 参数指定了从中删除记录的表的名称;

criteria 表达式,用于确定要删除哪些记录;

例3、假设 NorthWind 商贸公司已经终止了与“急速快递”公司的合作,需要从运货商表中删除该快递公司相应的记录,SQL 语句如下:

DELETE FROM 运货商
WHERE 公司名称='急速快递'

执行后,如果语句没有错误,会弹出下面确定对话框,如下,

选择“”,继续弹出下面的对话框,如下:

出现上面的对话框,意思是因为订单表中的运货商字段与运货商表存在关系,具体关系通过【数据库工具 | 关系】查看:

此时,我们可以有两个选择:

  • 解除这个关系
  • 删除订单表中相应订单信息后,再删除运货商中的记录。

对于第二个方案,我们通过配置两个表关系中的参照完整性规则来实现删除运货商中的记录时,自动删除订单表中与其关联的数据。

在关系视图中,选择订单表和运货商之间的折线并鼠标右键【编辑关系(R)…】,如下图:

在弹出的“编辑关系”对话框中勾选中“级联删除相关记录”即可,如下:

通过上面关系的设置后,我们再次执行 SQL 语句后,就正常了,我们通过查看运货商表和订单表中运货商字段,已经全部删除了。

ASP入门(二十)-INSERT、UPDATE、DELETE语句的更多相关文章

  1. mysql 事务是专门用来管理insert,update,delete语句的,和select语句一点不相干

    1.mysql 事务是专门用来管理insert,update,delete语句的,和select语句一点不相干 2.一般来说,事务是必须满足4个条件(ACID): Atomicity(原子性).Con ...

  2. SQL系列(十二)—— insert update delete

    前言 这个系列的前面都一直在介绍查询select.但是SQL中十分广泛,按对数据的不同处理可以分为: DML:全称Data Manipulation Language,从名字上可以看出,DML是对数据 ...

  3. ASP入门(十九)- SELECT 语句

    SELECT 语法 Access 中 SELECT 完整语法如下: SELECT [predicate] { * | table.* | [table.]field1 [AS alias1] [, [ ...

  4. LINQ体验(9)——LINQ to SQL语句之Insert/Update/Delete操作

    我们继续讲解LINQ to SQL语句,这篇我们来讨论Insert/Update/Delete操作.这个在我们的程序中最为常用了.我们直接看例子. Insert/Update/Delete操作 插入( ...

  5. JDBC基础篇(MYSQL)——使用statement执行DML语句(insert/update/delete)

    注意:其中的JdbcUtil是我自定义的连接工具类:代码例子链接: package day02_statement; import java.sql.Connection; import java.s ...

  6. mysql数据恢复 insert\update\delete 工具MyFlash

    一.简介MyFlash是由美团点评公司技术工程部开发维护的一个回滚DML操作的工具.该工具通过解析v4版本的binlog,完成回滚操作.相对已有的回滚工具,其增加了更多的过滤选项,让回滚更加容易. 该 ...

  7. PHP5: mysqli 插入, 查询, 更新和删除 Insert Update Delete Using mysqli (CRUD)

    原文: PHP5: mysqli 插入, 查询, 更新和删除  Insert Update Delete Using mysqli (CRUD) PHP 5 及以上版本建议使用以下方式连接 MySQL ...

  8. 如何判断一条sql(update,delete)语句是否执行成功

    如何判断一条sql(update,delete)语句是否执行成功 catch  (SQLException    e)  {  }  catch不到错误应该就成功了.   ============== ...

  9. insert update delete 语法 以及用法

    insert update delete 被称为 数据定义语句语句 也就是数据的增加 修改 删除 其中不包括查询 譬如: create database -创建数据库 alter database - ...

  10. 关于MyBatis mapper的insert, update, delete返回值

    这里做了比较清晰的解释: http://mybatis.github.io/mybatis-3/java-api.html SqlSession As mentioned above, the Sql ...

随机推荐

  1. 网速4M等于多少KB/S,等于多少kbps

    4M=512KB/S=4096Kbps 1KB/S=8Kbps 8倍速 转:http://zhidao.baidu.com/link?url=8GAyhcY9BbVstQr8pE3I7QP_M53Km ...

  2. C#复制数组的两种方式,以及效率比较

    如何高效地进行数组复制? 如果把一个变量值复制给另外一个数组变量,那么2个变量指向托管堆上同一个引用. 如果想在托管堆上创建另外的一份数组实例,通常使用Array.Copy方法. class Prog ...

  3. Visual Studio 2012 调试程序加载缓慢,提示正在下载符号

    当在Visual Studio 2012中调试程序的时候,整个过程加载缓慢,并且有类似"正在下载符号......"的提示. 这是因为Visual Studio在调试的时候,默认从M ...

  4. oracle监听1067错误的处理

    一,oracle监听1067错误的处理修改oracle安装目录D:\DataBase\oracle\product\10.1.0\Db_1\NETWORK\ADMIN\下的 listener.ora和 ...

  5. ibatis.net:第四天,Update 和 Delete

    xml <update id="UpdateOrder" parameterClass="Order"> UPDATE [Orders] SET C ...

  6. Java锁的设计

    1.自旋锁 自旋锁是采用让当前线程不停地的在循环体内执行实现的,当循环的条件被其他线程改变时 才能进入临界区.如下 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 public ...

  7. java反射遍历实体类属性和类型,并赋值和获取值

    /* * GetModelNameAndType.java * Version 1.0.0 * Created on 2017年12月15日 * Copyright ReYo.Cn */ packag ...

  8. ExtJS 4.2 教程-08:布局系统详解

    ExtJS 4.2 系列教程导航目录: ExtJS 4.2 教程-01:Hello ExtJS ExtJS 4.2 教程-02:bootstrap.js 工作方式 ExtJS 4.2 教程-03:使用 ...

  9. [转]php使用 memcache 来存储 session

    转自:http://koda.iteye.com/blog/466667 Memcache和PHP memcach扩展安装请见http://koda.iteye.com/blog/665761 设置s ...

  10. 使用C++ Builder XE5获取Sensor值之Light Sensor

    献上代码C++代码,仅供參考. 若使用Delphi.请參考文献,http://blogs.embarcadero.com/davidi/2013/12/02/43032/ 一定记得要安装FireMon ...