• 技术文章 >数据库 >mysql教程

    MySQL精讲之二:DML数据操作语句

    coldplay.xixicoldplay.xixi2021-02-23 09:32:16转载120

    免费学习推荐:mysql视频教程

    文章目录


    一、插入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语言语句的增删改,尝试完成下面的习题:这里是引用
    答案:
    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教程(视频)

    以上就是MySQL精讲之二:DML数据操作语句的详细内容,更多请关注php中文网其它相关文章!

    本文转载于:CSDN,如有侵犯,请联系a@php.cn删除
    上一篇:MySQL精讲之一:DQL数据查询语句 下一篇:MySQL精讲之三:DDL数据定义语句
    第15期线上培训班

    相关文章推荐

    • 详解高性能Mysql主从架构的复制原理及配置• MySQL少有人知的排序方式• mysql怎么删除表字段• 聊聊MySQL 中常用的日期相关函数• navicat连接mysql8出现1251错误是怎么回事

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网