序言

         数据表的插入、更新、删除非常简单,但是简单的也要学习,细节决定成败。

                                          ---WH

    

一、插入数据

      格式:INSERT INTO 表名(字段名...)VALUES(值...);

      创建环境

        使用person表

        CREATE TABLE person

        (  

          id INT UNSIGNED NOT NULL AUTO_INCREMENT,

          name CHAR(40) NOT NULL DEFAULT '',

          age INT NOT NULL DEFAULT 0,

          info CHAR(50) NULL,

          PRIMARY KEY(id)

        );

    1.1、为表的所有字段插入数据

        方式一:INSERT INTO person(id,name,age,info) VALUES(1,'Green',21,'Lawyer'); 

                    

        方式二:INSERT INTO person VALUES(2,'aaa',18,'MAN');

                  

        方式三:INSERT INTO person (name,id,age,info) VALUES('bbb',3,17,'haha');

                  

        总结:

          方式一和方式三说明插入数据时可以不用按照表结构中的顺序来,只要给的值与前面字段名一一对应即可,

          方式二表明可以忽略字段名,但是其值必须跟表结构中的字段顺序一样。

          使用这三种方式去为所有字段插入数据都可以。

    1.2、为表的指定字段插入数据

          在有时候,给表中插入记录行时,字段值不一定要全部都需要手动插入,可能id自动增长的,也有时某个字段使用默认值,不用插入值也行,这时候就需要为表指定字段来插入数据了。

          INSERT INTO person(name,age,info) VALUES('Willam',20,'sports man');

                  

          这里就缺少了id字段,但是id字段是AUTO_INCREMENT,不用我们手动插入值

    1.3、同时插入多条记录

          格式:INSERT INTO 表名(字段名) VALUES(记录行值1),(记录行值2),...;

          解释:也就是相当于一条语句插入多条记录,就不用每次只插入一条数据了

          INSERT INTO person(name,age,info) VALUES('qqq',19,'haha'),('eee',14,'heihei');  //插入两条数据。

                  

          同时插入多条记录时,会出现三个名词 Records:表明插入的记录条数  Duplicates:表名插入时被忽略的记录,原因可能是这些记录包含了重复的主键值  Warnings:表明有问题的数据值,例如发生数据类型转换。  上面提示的是 2个Records,确实是插入了两条记录数

    1.4、将查询结果插入到表中

          在有的时候,可能需要将一张表中的数据搬到另一张表中,但是一条条输入记录,很慢,所以就有了这个将查询结果插入到表中,也就是说,将一张表中查询到的结果,全部一次性插入到另一张表中,这样就很方便了,但是也有前提条件,那就是查询的结果的字段个数和插入到目标表的字段个数是一样的,并且数据类型也要相同。具体下下面这个例子。

          上面一张person表不够用,现在在创建一张表。

          CREATE TABLE person_old

          (

            id INT UNSIGNED NOT NULL AUTO_INCREMENT,

            name CHAR(40) NOT NULL DEFAULT '',

            age INT NOT NULL DEFAULT 0,

            info CHAR(50) NULL,

            PRIMARY KEY(id)

          );  

          增加两条记录

          INSERT INTO person_id VALUES(11,'Harry',20,'studeng'),(12,'Beck',18,'polic');

                  

          现在将person_old表中的所有数据转移到person表中。

          INSERT INTO person(id,name,age,info) SELECT id,name,age,info FROM person_old;

                  

          这样看一下,id中间就好像断了一块,其实可以不用添加id字段,只添加后面三个字段的值

          INSERT INTO person(name,age,info) SELECT name,age,info FROM person_old; 

                    

          不指定id,那么就会按照person表中id的规则,AUTO_INCREMENT,这里说明一下AUTO_INCREMENT的原理,先检查表中最大的id值,然后往上面加1,每次做就会先检测最大的id值是多少。           

       

二、更新数据

    格式:UPDATE 表名 SET 字段名=值,字段名=值... WHERE 条件;

    解释:通过条件找到要更新数据的那一行记录,然后通过SET 字段名=值这样的形式,写出要更改哪个字段,并更改为什么值。

       UPDATE person SET name = 'xxx' WHERE name='aaa';  //将person表中name=aaa的记录行更新为name=xxx。

                

            解释:原本第二行的记录name=aaa。现在改为了xxx。可以同时改好多个值,不一定就只更改名字。主键id也能更改,只要主键不冲突,随便改成什么值

        UPDATE person SET id = 7 WHERE id = 14;  //将id=14的记录行的id改为7

                    

三、删除数据  

        格式:DELETE FROM 表名[WHERE <condition>];

        解释:条件如果没有的话,那么就把表中所有数据度给删除了。如果有条件的话,就将符合条件的记录行删除。

        DELETE FROM person WHERE id = 13;  //将person表中id=13的记录行给删除。

                

        DELETE FROM person;  //将person表中所有数据度删除

                

四、综合案例

      下面这个例题想做的人可以做一下,环境已经教大家搭建好了,这些由于比较简单,我就不在这里一一解答了。

        4.1、创建实验环境

            创建books表  

            CREATE TABLE books

            (

              id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,

              name VARCHAR(40) NOT NULL,

              author VARCHAR(200) NOT NULL,

              PRICE INT(11) NOT NULL,

              pubdate YEAR NOT NULL,

              note VARCHAR(255) NULL,

              num INT NOT NULL DEFAULT 0

            );

            

      

       4.2、将下表中的路基插入books表中,分别使用不同的方法插入记录。

               

          4.2.1、指定所有字段名称插入记录

          4.2.2、不指定字段名称插入记录

          4.2.3、同时插入多条记录

      4.3、将小说类型novel的书的价格度增加5

      4.4、将名称为赵六的书的价格改为40,并将库存量num改为26

      4.7、删除库存为5的记录

MySQL(四) 数据表的插入、更新、删除数据的更多相关文章

  1. oracle插入,更新,删除数据

    插入,更新,删除数据 oracle提供了功能丰富的数据库管理语句 包括有效的向数据库中插入数据的insert语句 更新数据的update语句 以及当数据不再使用时删除数据的delete语句 更改数据之 ...

  2. MySQL 向表中插入、删除数据

    一.向表中插入一条信息 1.查看表中的数据 mysql> SELECT * FROM user; +----+---------+----------+ | id | account | pas ...

  3. MariaDB 插入&更新&删除数据(8)

    MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可MariaDB的目的是完全兼容MySQL,包括API和命令行,MySQL由于现在闭源了,而能轻松成为MySQ ...

  4. 在mysql数据库中创建oracle scott用户的四个表及插入初始化数据

    在mysql数据库中创建oracle scott用户的四个表及插入初始化数据 /* 功能:创建 scott 数据库中的 dept 表 */ create table dept( deptno int ...

  5. 我的MYSQL学习心得(八) 插入 更新 删除

    我的MYSQL学习心得(八) 插入 更新 删除 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得( ...

  6. 使用PreparedStatement向数据表中插入、修改、删除、获取Blob类型的数据

    使用PreparedStatement向数据表中插入.修改.删除.获取Blob类型的数据 2014-09-07 20:17 Blob介绍 BLOB类型的字段用于存储二进制数据 MySQL中,BLOB是 ...

  7. Mysql数据库(四)表记录的更新操作

    一.插入表记录 1.使用INSERT...VALUES语句插入新纪录 (1)插入完整数据 mysql> desc tb_manager; +-------+------------------+ ...

  8. 向mysql数据表中插入数据失败的原因

    1.案例代码: $sql1="insert into content(category,subject,content,username,release_date) values('{$ca ...

  9. SQL Server大量数据秒级插入/新增/删除

    原文:SQL Server大量数据秒级插入/新增/删除 1.快速保存,该方法有四个参数,第一个参数为数据库连接,第二个参数为需要保存的DataTable,该参数的TableName属性需要设置为数据库 ...

随机推荐

  1. Windows Phone 8.1 新特性 - 控件之FlipView

    本篇为大家介绍 Windows Phone 8.1 中新增的 FlipView 控件,它的中文名字叫做:翻转视图. 虽然听起来有点拗口,但是它的用途大家一定不会陌生.在 Windows Phone 8 ...

  2. Mini projects #8–RiceRocks

    课程全名:An Introduction to Interactive Programming in Python,来自 Rice University 授课教授:Joe Warren, Scott ...

  3. String.Format格式说明——复制于DotNet笔记

    String.Format格式说明   C#格式化数值结果表 字符 说明 示例 输出 C 货币 string.Format("{0:C3}", 2) $2.000 D 十进制 st ...

  4. Unity : Ran out of trampolines of type 2

    Unity 导出游戏到 iOS 平台,当时选择的设置是 mono2x, 结果游戏各种莫名其妙的崩溃,再崩溃, 几乎运行不到一分钟就崩溃,而在 editor 和 android 平台都是正常的. 查看出 ...

  5. Linux系统安装VMware tools

    VMware tools还是挺有用的,在两个不同系统随意拖拽文件,甚至文字的复制粘贴,功能强大. 废话不多说... 虽然VMware tools的安装帮助文档写的不错但是实际操作中发现,...还是有坑 ...

  6. mysql5.7 密码策略

    查看现有的密码策略 mysql> SHOW VARIABLES LIKE 'validate_password%';+-------------------------------------- ...

  7. nginx 配置rewrite 笔记

    nginx 配置rewrite笔记: 通过下面的示例来说明一下,1. 先说说location : location 表示匹配传入的url地址,其中配置符有多种,各种情况的意义不一样: location ...

  8. WP7系统托盘和应用程序栏

    (一)系统托盘和应用程序栏系统托盘(1)显示系统级别的状态信息(2)Apps能隐藏和显示系统托盘Micosoft.Phone.Shell.SystemTray.IsVisible=true;应用程序栏 ...

  9. Django的virtualenv环境搭建

    安装virtualenv好处多多,可以让当前的项目使用单独的类库,实现系统类库的隔离,所以能够自由地控制当前项目类库的版本,不受系统类库的影响:还有其他N多好处. 下面是安装说明和使用示例: 首先安装 ...

  10. Xamarin跨平台移动开发解决方案

    Xamarin始创于2011年,旨在使移动开发变得难以置信地迅捷和简单.Xamarin的产品简化了针对多种平台的应用开发,包括iOS.Android.Windows Phone和Mac App.Xam ...