案例:创建表books,对数据进行插入、更新和删除操作,掌握数据表的基本操作。books表结构以及表中的记录如下表:

案例操作过程:
(1)创建数据表books,并按照表8.1所示的结构定义各个字段。
(2)将表8.2中的记录插入books表中。分别使用不同的方法插入记录。
(3)将小说类型(novel)的书的价格都增加5。
(4)将名称为EmmaT的书的价格改为40,并将note说明改为drama。
(5)删除库存为0的记录。


(1)创建数据表books,并按照表8.1所示的结构定义各个字段。
mysql> create table books-> (-> id int(11) not null auto_increment primary key,-> name varchar(50) not null,-> authors varchar(100) not null,-> price float not null,-> pubdate year not null,-> discount float(3,2) not null,-> note varchar(255) null,-> num int(11) not null default 0-> );
Query OK, 0 rows affected (0.05 sec)mysql> select * from books;
Empty set (0.05 sec)

可以看到表为空,下面向表中插入记录:

(2)将表8.2中的记录插入books表中。分别使用不同的方法插入记录。

①指定所有字段名称插入记录,SQL语句如下;

mysql> insert into books-> (id,name,authors,price,pubdate,discount,note,num)-> values(1,'Tale of AAA','Dicks',23,'1995',0.85,'novel',11);
Query OK, 1 row affected (0.05 sec)

②不指定字段名称插入记录,SQL语句如下:

mysql> insert into books-> values(2,'EmmaT','Jane lura',35,'1993',0.70,'joke',22);
Query OK, 1 row affected (0.05 sec)mysql> select * from books;
+----+-------------+-----------+-------+---------+----------+-------+-----+
| id | name        | authors   | price | pubdate | discount | note  | num |
+----+-------------+-----------+-------+---------+----------+-------+-----+
|  1 | Tale of AAA | Dicks|    23 |    1995 |     0.85 | novel |  11 |
|  2 | EmmaT       | Jane lura |    35 |    1993 |     0.70 | joke  |  22 |
+----+-------------+-----------+-------+---------+----------+-------+-----+
2 rows in set (0.00 sec)

③同时插入多条记录

mysql> insert into books-> values(3,'Story of Jane','Jane Tim',40,'2001',0.81,'novel',0),-> (4,'Lovey Day','George Byron',20,'2005',0.85,'novel',30),-> (5,'Old Land','Honore Blade',30,'2010',0.60,'law',0),-> (6,'The Battle','Upton Sara',33,'1999',0.65,'medicine',40),-> (7,'Rose Hood','Richard Kale',28,'2008',0.90,'cartoon',28);
Query OK, 5 rows affected (0.05 sec)
Records: 5  Duplicates: 0  Warnings: 0mysql> select * from books;
+----+---------------+--------------+-------+---------+----------+----------+-----+
| id | name          | authors      | price | pubdate | discount | note     | num |
+----+---------------+--------------+-------+---------+----------+----------+-----+
|  1 | Tale of AAA   | Dicks|    23 |    1995 |     0.85 | novel    |  11 |
|  2 | EmmaT         | Jane lura    |    35 |    1993 |     0.70 | joke     |  22 |
|  3 | Story of Jane | Jane Tim     |    40 |    2001 |     0.81 | novel    |   0 |
|  4 | Lovey Day     | George Byron |    20 |    2005 |     0.85 | novel    |  30 |
|  5 | Old Land      | Honore Blade |    30 |    2010 |     0.60 | law      |   0 |
|  6 | The Battle    | Upton Sara   |    33 |    1999 |     0.65 | medicine |  40 |
|  7 | Rose Hood     | Richard Kale |    28 |    2008 |     0.90 | cartoon  |  28 |
+----+---------------+--------------+-------+---------+----------+----------+-----+
7 rows in set (0.00 sec)
(3)将小说类型(novel)的书的价格都增加5。
mysql> update books-> set price = price +5-> where note = 'novel';
Query OK, 3 rows affected (0.05 sec)
Rows matched: 3  Changed: 3  Warnings: 0mysql> select id,name,price,note-> from books-> where note = 'novel';
+----+---------------+-------+-------+
| id | name          | price | note  |
+----+---------------+-------+-------+
|  1 | Tale of AAA   |    28 | novel |
|  3 | Story of Jane |    45 | novel |
|  4 | Lovey Day     |    25 | novel |
+----+---------------+-------+-------+
3 rows in set (0.00 sec)
(4)将名称为EmmaT的书的价格改为40,并将note说明改为drama。
mysql> update books-> set price=40,note='drama'-> where name = 'EmmaT';
Query OK, 1 row affected (0.05 sec)
Rows matched: 1  Changed: 1  Warnings: 0mysql> select name,price,note-> from books-> where name= 'EmmaT';
+-------+-------+-------+
| name  | price | note  |
+-------+-------+-------+
| EmmaT |    40 | drama |
+-------+-------+-------+
1 row in set (0.00 sec)
(5)删除库存为0的记录。
mysql> delete-> from books-> where num = 0;
Query OK, 2 rows affected (0.05 sec)mysql> select *-> from books-> where num = 0;
Empty set (0.00 sec)

几个小问题

1.插入记录时可以不指定字段名称吗?

  • 不管使用哪种insert语法,都必须给出values的正确数目。如果不提供字段名,则必须给每个字段提供一个值,否则将产生一条错误信息。
  • 如果要在insert操作中省略某些字段,那么这些字段需要满足一定条件:该列定义为允许空值;或表定义时给出默认值,若不给出则使用默认值。

2.更新或者删除表时必须指定where子句吗?

  • 所有的update和delete语句全都在where子句中指定了条件。如果省略where子句,则update或delete将被应用到表中所有的行。因此,除非确实打算更新或删除所有记录,否则要注意使用不带where子句的update或delete语句。
  • 建议在对表进行更新和删除操作之前,使用select语句确认需要删除的记录,以免造成无法挽回的结果。

练习5:MySQL数据插入、更新与删除相关推荐

  1. mysql插入第一_mySQL教程 第5章 插入 更新与删除数据

    第5章 插入 更新与删除数据 使用SQL Manager管理工具连接到schoolDB.由于三张表都设置了主键,因此,以下练习中插入的记录,主键不能重. 插入数据 1. 练习:为表的所有字段插入数据 ...

  2. mySQL教程 第5章 插入 更新与删除数据

    第5章 插入 更新与删除数据 使用SQL Manager管理工具连接到schoolDB.由于三张表都设置了主键,因此,以下练习中插入的记录,主键不能重. 插入数据 1. 练习:为表的所有字段插入数据 ...

  3. mysql删除新添加数据,MySQL添加、更新与删除数据

    添加.更新与删除数据 添加数据 为表中所有字段添加数据 INSERT INTO 表名(字段名1,字段名2,--) VALUES(值1,值2,--); insert into 表名 values(值1, ...

  4. MySQL添加、更新、删除数据

    MySQL添加.更新.删除数据 1.查询数据 select * from student; 2.添加数据 insert into student values(1,"张三",&qu ...

  5. Mysql批量插入更新性能优化

    Mysql批量插入更新性能优化 对于数据量较大的插入和更新,因io/cpu等性能瓶颈,会产生大量的时间消耗,目前主流的优化主要包括预编译.单条sql插入多条数据.事务插入等,下面详细介绍一下: 单条插 ...

  6. SQL Server 表中有重复的数据,无法对重复数据进行更新或删除。

    SQL Server 表中有重复的数据,无法对重复数据进行更新或删除. 弹出错误信息提示窗口提示"已更新或删除的行值要么不能使该行成为唯一行,要么改变了多个行(2行). 通常这种情况是因为表 ...

  7. ubuntu mysql 更新_数据库应用(三): Ubuntu 下 MySQL添加、更新与删除数据

    添加.更新与删除数据 1.添加数据 命令格式: INSERT|replace INTO 表名(字段名1,字段名2,--) VALUES(值1,值2,--), (值1,值2,--); 需要注意:使用in ...

  8. MySQL 添加、更新和删除数据

    一.添加数据 在MySQL中使用INSERT添加数据分为: 为表中所有字段添加数据 为表的指定字段添加数据 同时添加多条数据 1.为表中所有字段添加数据 使用insert的MySQL语句为: INSE ...

  9. Mysql 数据插入 修改删除

    MYSQL基础上机练习题(二) 数据插入.修改.删除 一.实验目的: 数据插入.修改.删除 数据表的复制 字段分列 二.实验内容: 对实验一所展示的表进行数据输入.修改.删除  以下为Employee ...

最新文章

  1. 摆脱 FM!这些推荐系统模型真香
  2. sql express 会提供iis 服务
  3. 在线小词典(mysql扩展库操作)
  4. Java-当前对象this
  5. 【Excel-2010】VLOOKUP函数
  6. SPSS P小于0.05,结果真的有效吗?【SPSS 070期】
  7. php对接打码平台,易语言接入打码平台的方法
  8. 国产操作系统产业深度解析
  9. html中复选框只能选一个,HTML选择三个不同的复选框并显示它们
  10. 码云webhook node版
  11. 0905系统及数据库
  12. 汇编作业:人均GDP
  13. 一线大厂php高级面试题_高级php面试题总结分享
  14. MMA-mathematica绘图
  15. mysql-8.0.21-winx64数据库安装过程记录
  16. SQL的主键和外键的设置语法
  17. 计算机科技论文范文,★计算机科技论文摘要范文计算机科技论文摘要写
  18. SUSAN角点检测算法,及其Matlab实现
  19. 【HTML 教程】HTML 字符编码
  20. 杜比、DTS、PCM、AC3、THX、SDDS音效全接触(转)

热门文章

  1. (每日一练c++)CC114 有效的数独
  2. 简易应用服务器配置要求计算公式
  3. es where_阿水出现在eStar二队,ES.JackeyLove正在连接?
  4. shell 小米system锁adb_忘记锁屏密码不用怕?支招小米手机解锁四种简单常用的方法...
  5. JavaWEB(applicationjavabean封装)
  6. 2022腾讯云双十一服务器价格出炉来看看便宜不
  7. 计算机老是重启进不了桌面,win10电脑无限重启进不了桌面怎么解决
  8. sketch html插件,玩转Sketch,不容错过的5大实用插件推荐
  9. 点击微信内网页a标签直接跳转打开淘宝APP的方法实例
  10. IKBC键盘win键失灵解决方法