1、增:插入数据
INSERT关键字可以插入新的行到数据库表中:
  • 插入完整的行
  • 插入行的一部分
  • 插入多行
  • 插入某些查询的结果

基本的INSERT语句是:
  1. INSERT INTO R(A1, A2, ..., An) VALUES (V1, V2, ..., Vn);
1
 
1
  1. INSERT INTO R(A1, A2, ..., An) VALUES (V1, V2, ..., Vn);

1.1 插入完整的行

如下例:
  1. INSERT INTO Customers
  2. VALUES
  3. (
  4. NULL,
  5. 'Pep E. LaPew',
  6. '100 Main Street',
  7. 'Los Angeles',
  8. 'CA',
  9. '90046',
  10. 'USA',
  11. NULL,
  12. NULL
  13. )
13
 
1
  1. INSERT INTO Customers
2
  1. VALUES
3
  1. (
4
  1. NULL,
5
  1. 'Pep E. LaPew',
6
  1. '100 Main Street',
7
  1. 'Los Angeles',
8
  1. 'CA',
9
  1. '90046',
10
  1. 'USA',
11
  1. NULL,
12
  1. NULL
13
  1. )
  • 每个列必须提供一个值,没有的话也应该填NULL
  • 插入内容必须以它们在表中定义出现的次序填充

这种语法简单,但是并不安全,而且繁琐,尽量避免使用。

1.2 插入行的一部分

如下例:
  1. INSERT INTO customers
  2. (
  3. cust_address,
  4. cust_city,
  5. cust_state,
  6. cust_zip,
  7. cust_country
  8. )
  9. VALUES
  10. (
  11. 'Pep E. LaPew',
  12. '100 Main Street',
  13. 'Los Angeles',
  14. 'CA',
  15. '90046',
  16. 'USA'
  17. );
17
 
1
  1. INSERT INTO customers
2
  1. (
3
  1. cust_address,
4
  1. cust_city,
5
  1. cust_state,
6
  1. cust_zip,
7
  1. cust_country
8
  1. )
9
  1. VALUES
10
  1. (
11
  1. 'Pep E. LaPew',
12
  1. '100 Main Street',
13
  1. 'Los Angeles',
14
  1. 'CA',
15
  1. '90046',
16
  1. 'USA'
17
  1. );
  • 这种方式可以替代之前的整行插入,只需要你把所有的列填完
  • VALUES必须跟SQL中制定的匹配列次序相同
  • VALUES不需要跟表中列的次序相同
  • 省略的列必须满足一定条件,即允许为NULL或表中有默认值设定

1.3 插入多个行

如下例:
  1. INSERT INTO customers
  2. (
  3. cust_address,
  4. cust_city,
  5. cust_state,
  6. cust_zip,
  7. cust_country
  8. )
  9. VALUES
  10. (
  11. 'Pep E. LaPew',
  12. '100 Main Street',
  13. 'Los Angeles',
  14. 'CA',
  15. '90046',
  16. 'USA'
  17. ),
  18. (
  19. 'M Martian',
  20. '42 Galaxy Way',
  21. 'New York',
  22. 'NY',
  23. '11213',
  24. 'USA'
  25. );
25
 
1
  1. INSERT INTO customers
2
  1. (
3
  1. cust_address,
4
  1. cust_city,
5
  1. cust_state,
6
  1. cust_zip,
7
  1. cust_country
8
  1. )
9
  1. VALUES
10
  1. (
11
  1. 'Pep E. LaPew',
12
  1. '100 Main Street',
13
  1. 'Los Angeles',
14
  1. 'CA',
15
  1. '90046',
16
  1. 'USA'
17
  1. ),
18
  1. (
19
  1. 'M Martian',
20
  1. '42 Galaxy Way',
21
  1. 'New York',
22
  1. 'NY',
23
  1. '11213',
24
  1. 'USA'
25
  1. );

1.4 插入某些查询的结果

这种方式是所谓的INSERT SELECT,顾名思义,即INSERT语句和SELECT语句组成的。如下例:
  1. INSERT INTO
  2. customers
  3. (
  4. cust_address,
  5. cust_city,
  6. cust_state,
  7. cust_zip,
  8. cust_country
  9. )
  10. SELECT
  11. cust_address,
  12. cust_city,
  13. cust_state,
  14. cust_zip,
  15. cust_country
  16. FROM
  17. custnew;
17
 
1
  1. INSERT INTO
2
  1. customers
3
  1. (
4
  1. cust_address,
5
  1. cust_city,
6
  1. cust_state,
7
  1. cust_zip,
8
  1. cust_country
9
  1. )
10
  1. SELECT
11
  1. cust_address,
12
  1. cust_city,
13
  1. cust_state,
14
  1. cust_zip,
15
  1. cust_country
16
  1. FROM
17
  1. custnew;
  • 例中INSERT和SELECT列名虽然相同,但是并没有强制要求,它仍然是根据次序位置来填充数据的



2、删:删除数据

基本语句:
  1. DELETE FROM R WHERE <选择条件>;
1
 
1
  1. DELETE FROM R WHERE <选择条件>;



3、改:更新数据

基本语句:
  1. UPDATE R SET A1=E1, A2=E2, ..., An=En WHERE <选择条件>;
 
1
  1. UPDATE R SET A1=E1, A2=E2, ..., An=En WHERE <选择条件>;

《MySQL必知必会》[03] 表数据的增删改的更多相关文章

  1. Django框架之第二篇--app注册、静态文件配置、form表单提交、pycharm连接数据库、django使用mysql数据库、表字段的增删改查、表数据的增删改查

    本节知识点大致为:静态文件配置.form表单提交数据后端如何获取.request方法.pycharm连接数据库,django使用mysql数据库.表字段的增删改查.表数据的增删改查 一.创建app,创 ...

  2. PreparedStatement实现表数据的增删改 & 封装数据库链接和关闭操作

    PreparedStatement实现表数据的增删改 PreparedStatementUpdateTest package com.aff.PreparedStatement; import jav ...

  3. Mysql学习笔记(三)对表数据的增删改查。

    正文内容. 这一部分是最简单的,也是最麻烦的.简单是因为其实只包括增删该插四个部分.大体上看,增加数据.删除数据.修改数据.查询数据都不麻烦啊,我们日常都是常用的.这个谁不会呢?以前在培训机构学mys ...

  4. MySQL表数据的增删改查

    1.增 INSERT INTO tb VALUES(v1,v2,v3...); INSERT INTO tb (field1,field2...) VALUES(v1,v2...); INSERT I ...

  5. MySQL必知必会-官方数据库表及SQL脚本导入生成

    最近在复习SQL语句,看的是MySQL必知必会这本书,但是发现附录中只有表设计,没有表的具体数据.所以在学习相应的语句中体验不是很好,去网上查了数据库的内容,自己慢慢导入到了数据库中.把表放出来作为参 ...

  6. 《MySQL必知必会》官方提供的数据库和表

    数据用于配合<MySQL必知必会>(MySQL Crash Course)这本书使用,配套SQL文件也可在Ben Forta网站下载. Ben Forta网址:http://forta.c ...

  7. MySql必知必会实战练习(三)数据过滤

    在之前的博客MySql必知必会实战练习(一)表创建和数据添加中完成了各表的创建和数据添加,MySql必知必会实战练习(二)数据检索中介绍了所有的数据检索操作,下面对数据过滤操作进行总结. 1. whe ...

  8. 【SQL必知必会笔记(1)】数据库基础、SQL、MySQL8.0.16下数据库、表的创建及数据插入

    文章目录 1.数据库基础 1.1 数据库(database) 1.2 表(table) 1.3 列和数据类型 1.4 行 1.5 主键 2.什么是SQL 3.创建后续练习所需数据库.表(MySQL8. ...

  9. 《MySQL必知必会》过滤数据,数据过滤(where ,in ,null ,not)

    <MySQL必知必会>过滤数据,数据过滤 1.过滤数据 1.1 使用 where 子句 在SEL ECT语句中,数据根据WHERE子句中指定的搜索条件进行过滤. WHERE子句在表名(FR ...

随机推荐

  1. 使用proxool连接池配置教程

    proxool连接池的优点: 1.透明度:透明地将连接池添加到现有的JDBC驱动程序. 2.开源:我们的许可证允许您灵活地将其用于商业和其他开源产品. 3.标准:符合J2SE API,使您有信心开发标 ...

  2. Node.js之包与npm包管理工具

    Node.js之包与npm包管理工具 1.Node.js中的包 1.1在一个包中包含如下内容: package.json:对包进行描述 在bin子目录中存放二进制文件 在lib子目录中存放JavaSc ...

  3. js基础提高(二)

    JavaScript基础提高(二) 上篇写的是JavaScript的历史.基本的数据类型和基本的语法进填的话讲的就深入一些了. js的函数 1.js函数定义的方式 (1)普通方式 语法:functio ...

  4. JavaScript基础语句

    一.前言: 有过学习其他语言的经历,会比较好上手.但是,没有学过也无关大雅.只要认真学,都会学好.毕竟,都只是一些基础的语句.关键在于要会运用. 掌握好语句的嵌套,以及要的逻辑思维能力,就已经成功一大 ...

  5. HTML DOM (文档对象模型)

    当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model). HTML DOM 模型被构造为对象的树. HTML DOM 树 通过可编程的对象模型,JavaScrip ...

  6. 如何获取Azure Storage Blob的MD5值

    问题表述 直接使用CloudBlockBlob对象获取的Properties是空的,无法获取到对象的MD5值,后台并未进行属性值的填充 前提:blob属性本省包含md5值,某些方式上传的blob默认并 ...

  7. 优雅的H5下拉刷新【minirefresh】

    序 严格的来说,这是我第一个完全投入的开源项目,它的出现是为了统一移动H5中的下拉刷新,想通过一套框架,多主题拓展方式,适应于任意需求下的任意下拉刷新场景. 另外,这个项目作为独立项目存在,希望能有更 ...

  8. 通过日期在js中求出判断间隔天数,周期等实现分享

    在我们在项目的时候,可能出现这样的一种情况,有一个开始时间和一个结束时间,而这两个时间用$('#StartTime').val(); 取出来的时候又是datetime 类型,我们需要求这个时间中的间隔 ...

  9. MySQL常见的三种存储引擎(InnoDB、MyISAM、MEMORY)

    简单来说,存储引擎就是指表的类型以及表在计算机上的存储方式. 存储引擎的概念是MySQL的特点,Oracle中没有专门的存储引擎的概念,Oracle有OLTP和OLAP模式的区分.不同的存储引擎决定了 ...

  10. 分布式测试工具Beetle.DT的部署并进行HTTP,SQL,TCP压测

    由于Beetle.DT是一个分布式压力测试工具,所以在使用上并不像普通工具那样安装运行这么简单:由于工具涉及到测试管理中心,节点和管理端等工具: 所以必须要进行相应的部署才能运行.接下来详解一下如果安 ...