04 | 增删改查:如何操作表中的数据?
添加数据
插入数据记录
- 深入了解
- 翻译
- 解释
- 总结
本文详细介绍了在MySQL中对数据表进行增删改查的操作方法,包括添加数据、删除数据、修改数据和查询数据。文章首先介绍了添加数据的方式,包括插入数据记录和插入查询结果两种方式。然后讲解了删除数据的操作,包括删除单条数据和删除满足条件的数据。接着提到了修改数据的方法,包括更新单条数据和更新满足条件的数据。最后总结了如何查询数据,包括简单的查询和复杂的查询,以及如何使用查询结果插入数据表中。此外,还介绍了MySQL的安全性设置,强调在删除数据时添加条件语句WHERE以防误操作。文章还提到了数据查询语句的语法结构,包括FROM、ORDER BY和LIMIT的使用方法。另外,文章还介绍了使用“ON DUPLICATE”关键字处理重复数据的方法,并给出了实际案例。总的来说,本文内容详实,适合读者快速了解MySQL数据表操作的操作指南。
《MySQL 必知必会》,新⼈⾸单¥59
全部留言(22)
- 最新
- 精选
- 朱晓峰置顶你好,我是朱晓峰,下面我就来公布一下上节课思考题的答案: 上节课,我们学习了创建和修改表的具体方法,下面是思考题的答案: ALTER TABLE demo.goodsmaster CHANGE COLUMN salesprice salesprice DECIMAL(10,2) NOT NULL UNIQUE;2021-04-2123
- 时光过客朱老师,怎么实现联表更新。比如A表有商品唯一id,价格。B表也有关联的商品唯一id,价格为空,实现从A表相同的Id的价格更新到B表。
作者回复: 假设我们有2个数据表: 表A:create table demo.a (id int primary key,price decimal(10,2)); 表B:create table demo.b (id int primary key,myprice decimal(10,2)); 可以尝试用下面的语句更新: update demo.a as a, demo.b as b set b.myprice = a.price where a.id=b.id;
2021-05-2819 - 洛奇请问朱老师,INSERT...ON DUPLICATE 语句存在死锁的可能吗?我记得在一次携程面试的时候,面试官考我这个问题,我当时却以为它是原子操作。
作者回复: 存在的,这个问题主要是由于第二个事务的区间锁导致第一个事务无法获得插入权限,导致两个事务互相等待,最后锁表。解决的办法是,用update代替这个语句
2021-03-2745 - 右耳朵猫咪老师好 我想请教您一个问题 mysql分页有必要加order by 某个字段吗 听说如果不加的话 查询第二页数据的时候可能会查询到第一页的数据 如果加order by,可能会影响性能,这该如何取舍呢?
作者回复: 建议加ORDER BY,分页本身就是一种查询的优化
2021-03-1624 - 小白ALTER TABLE demo.goodsmaster AUTO_INCREMENT=断点数值
作者回复: 请参考思考题答案
2021-03-2423 - SharpBB笔记如下: 1.添加数据 insert into 表名(字段1,字段2...) values('老王','小二',...); 添加数据前要看下是否有约束 对于主键自增 可以不加该字段 对于非空约束 不赋值会报错 对于唯一约束 注意不要重复了 批量添加可以先查询某个时间段的数据 批量插入 如 insert into test.user(name,age,school_id) select name,age,school_id from test.user; 2.删除数据 delete from demo.test where id>0; 习惯加where语句 防止误操作 3.修改数据 update <库名.表名> set 字段=值 where 字段=值 如 update test.user set name='bb' where id=2; 注意不要修改主键值 一般也不会修改除非你主键设置的有问题 4.查询数据 from 如果有嵌套的查询 后面可能会跟一个派生表 必须起别名 order by 跟在字段后面 asc升序 desc降序 limit 限制sql查询显示的条数 大数据量下必须要做limit限制了1.添加数据 insert into 表名(字段1,字段2...) values('老王','小二',...); 添加数据前要看下是否有约束 对于主键自增 可以不加该字段 对于非空约束 不赋值会报错 对于唯一约束 注意不要重复了 批量添加可以先查询某个时间段的数据 批量插入 如 insert into test.user(name,age,school_id) select name,age,school_id from test.user; 2.删除数据 delete from demo.test where id>0; 习惯加where语句 防止误操作 3.修改数据 update <库名.表名> set 字段=值 where 字段=值 如 update test.user set name='bb' where id=2; 注意不要修改主键值 一般也不会修改除非你主键设置的有问题 4.查询数据 from 如果有嵌套的查询 后面可能会跟一个派生表 必须起别名 order by 跟在字段后面 asc升序 desc降序 limit 限制sql查询显示的条数 大数据量下必须要做limit限制了
作者回复: 好的
2022-02-082 - 洛奇不用非得自增主键连续吧???
作者回复: 是的,也可使用其它字段作为主键,包括使用多字段作为联合主键。需要注意的是,要避免因为主键字段数据的修改影响到关联的历史数据查询。若是不考虑水平拆分的问题,带来额外设置上的麻烦,则自增序列是最佳的主键字段选择。
2021-03-272 - Darren老师,为什么合并时,要用类似barcode=a.barcode
作者回复: 原因是在这个例子中,相同的条码表示的商品是一样的
2021-07-171 - 哈喽老师我是零基础,比如having,group_by不知道怎么用
作者回复: group by是对结果集进行分组,having是对结果集的内容进行筛选,文稿中有详细说明。可以跟着文稿中的讲述,实际操作一下,有助于理解
2021-06-3021 - 日落黄昏下为什么要避免这个问题呢?重要数据删除采用逻辑删除就不会有这个问题了。
作者回复: 请参考思考题答案
2021-05-191