MySQL中DML数据操作语句有哪些
发布时间:2022-02-17 00:59:12 所属栏目:MySql教程 来源:互联网
导读:小编给大家分享一下MySQL中DML数据操作语句有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 文章目录 一、插入insert 二、修改update 三、删除delete/truncate 四
小编给大家分享一下MySQL中DML数据操作语句有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 文章目录 一、插入insert 二、修改update 三、删除delete/truncate 四、DML语句练习题 一、插入insert 方式一:insert into 表名(列名,...) values(值1,...); 方式二: insert into 表名 set 列名=值,列名=值... 比较 是否支持插入多行 是否支持子查询 方式一 √ × 方式二 √ × 【插入方式一】# 1.插入的值的类型要与列的类型一致或兼容INSERT INTO beauty(id,NAME,sex,borndate,phone,photo,boyfriend_id)VALUE(13,'双笙','女','1999-02-15','13868666666',NULL,2);# 2.列的顺序可以调换INSERT INTO beauty(NAME,id,sex,borndate,phone,photo,boyfriend_id)VALUE('徐婕',14,'女','1999-02-16','13868666661',NULL,2);# 3.可以省略列名,列的顺序和表中列的顺序一致INSERT INTO beautyVALUE(16,'金克斯','女','2000-02-16','13868666661',NULL,2);# 4.支持子查询INSERT INTO beauty(id,NAME,phone)SELECT id,boyname,'110'FROM boys WHERE id<3; # 本例需将beauty表的主键删除---------------------------------------------------------------【插入方式二】INSERT INTO beauty SET id=19,NAME='花花',phone='666'; 二、修改update 1、修改单表的记录语法: update 表名 set 列=新值,列=新值,... where 筛选条件; 执行顺序:update > where > set 2、修改多表的记录语法: update 表1 别名 [inner|left|right] join 表2 别名 on 连接条件 set 列=新值,列=新值,... where 筛选条件; 【修改单表的记录】# 修改beautty表中姓周的女生电话为15888888888UPDATE beautySET phone='15888888888'WHERE NAME LIKE '%周%';【修改多表的记录】# 将张无忌的女朋友的电话号改为2333UPDATE boys b1JOIN beauty b2 ON b1.id=b2.boyfriend_idSET b2.phone='2333'WHERE b1.boyName='张无忌'; 三、删除delete/truncate delete 单表删除:delete from 表名 where 筛选条件 多表删除: delete 表1别名,表2别名 from 表1 别名 inner|left|right join 表2 别名 on 连接条件 where 筛选条件; truncate 清空单表:truncate table 表名; 注意:truncate删除没有返回值,delete删除有返回值。 比较 是否可以加where条件 是否可以回滚 是否有返回值 效率 表中有自增长列时 delete √ √ √ 一般 用delete删除,再插入数据,自增长的值从断点开始 truncate × × × 略高于delete 用truncate删除,再插入数据,自增长的值从1开始 【delete】# 1.单表删除# 删除以9结尾的女生信息DELETE FROM beauty WHERE phone LIKE '%9';# 2.多表删除# 删除黄晓明的信息以及他女朋友的信息DELETE b1,b2FROM beauty b1INNER JOIN boys b2ON b1.boyfriend_id=b2.idWHERE b2.boyName='黄晓明';【truncate】# 仅支持单表删除全部数据TRUNCATE TABLE boys; 四、DML语句练习题 学习了DML语言语句的增删改,尝试完成下面的习题:MySQL中DML数据操作语句有哪些 答案: 1、执行下面的sql语句 CREATE TABLE my_employees( Id INT(10), First_name VARCHAR(10), Last_name VARCHAR(10), Userid VARCHAR(10), Salary DOUBLE(10,2) ); CREATE TABLE users( id INT, userid VARCHAR(10), department_id INT ); 2. DESC my_employees 3. 方式一: INSERT INTO my_employees VALUES(1,‘patel’,‘Ralph’,‘Rpatel’,895), (2,‘Dancs’,‘Betty’,‘Bdancs’,860), (3,‘Biri’,‘Ben’,‘Bbiri’,1100), (4,‘Newman’,‘Chad’,‘Cnewman’,750), (5,‘Ropeburn’,‘Audrey’,‘Aropebur’,1550); TRUNCATE TABLE my_employees; 方式一: INSERT INTO my_employees SELECT 1,‘patel’,‘Ralph’,‘Rpatel’,895 UNION SELECT 2,‘Dancs’,‘Betty’,‘Bdancs’,860 UNION SELECT 3,‘Biri’,‘Ben’,‘Bbiri’,1100 UNION SELECT 4,‘Newman’,‘Chad’,‘Cnewman’,750 UNION SELECT 5,‘Ropeburn’,‘Audrey’,‘Aropebur’,1550; 4. INSERT INTO users VALUE(1,‘Rpatel’,10), (2,‘Bdancs’,10), (3,‘Bbiri’,20), (4,‘Cnewman’,30), (5,‘Aropebur’,40); 5. UPDATE my_employees SET Last_name=‘drelxer’ WHERE id=3; 6. UPDATE my_employees SET salary=1000 WHERE salary<900; 7. DELETE u,e FROM users u JOIN my_employees e ON u.userid=e.userid WHERE u.userid=‘Bbiri’; 8. DELETE FROM my_employees; DELETE FROM users; 9. SELECT * FROM my_employees; SELECT * FROM users; 10. TRUNCATE TABLE my_employees; 以上是“MySQL中DML数据操作语句有哪些”这篇文章的所有内容,感谢各位的阅读! (编辑:南平站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐
热点阅读