美文网首页js css html
mysql 数据操作语言(增删改) (DML --- Data

mysql 数据操作语言(增删改) (DML --- Data

作者: 暴躁程序员 | 来源:发表于2023-02-26 13:44 被阅读0次

    测试数据表

    user表: id username password
    user_info表: id uid age height
    

    一、插入数据 insert into

    INSERT INTO 表名 (列1, 列2,...) VALUES (值1, 值2,....)

    1. 插入单条
    INSERT INTO `user`(username,`password`) VALUES ('alias','123456');
    
    1. 插入多条
    INSERT INTO `user`(username,`password`) VALUES ('alias','123456'),('bob','666666');
    
    1. 将查询的结果插入到表中
    -- 将id小于5的用户信息再次插入到用户表中(注意:此操作不使用 values)
    INSERT INTO `user`(username,`password`) SELECT username,`password` FROM `user` WHERE id < 5;
    

    二、修改数据 update set

    UPDATE 表名 SET 列名 = 新值 WHERE ...
    注意:必须加where条件,否则修改全表数据

    1. 单表修改
    UPDATE `user` SET username = '白虎',`password` = 'abcefg' WHERE id = 1;
    
    1. 跨表修改
    -- 修改所有用户名为青龙的用户信息的身高和年龄,子查询方式
    UPDATE user_info SET height=100,age=20 WHERE uid in (SELECT id FROM `user` WHERE username = '青龙');
    
    -- 修改所有用户名为青龙的用户信息的身高和年龄,连接查询方式
    UPDATE user_info ui INNER JOIN `user` u ON ui.uid = u.id SET ui.height=300,ui.age=100 WHERE u.username = '青龙';
    

    三、删除数据 delete from

    DELETE FROM 表名 WHERE ...
    注意:必须加where条件,否则删除全表数据

    1. 单表删除
    DELETE FROM `user` WHERE id = 26;
    
    1. 跨表删除
    -- 删除所有用户名为青龙的用户信息的身高和年龄,子查询方式
    DELETE FROM user_info WHERE uid in (SELECT id FROM `user` WHERE username = '青龙');
    
    -- 删除所有用户名为青龙的用户信息的身高和年龄,连接查询方式
    DELETE ui FROM user_info ui INNER JOIN `user` u ON ui.uid = u.id AND u.username = '青龙';
    
    1. 清空表数据
    -- DELETE FROM 表名 (删除数据,主键不重置)
    DELETE FROM user_info;
    
    -- TRUNCATE TABLE 表名 (先删除表,再重写创建表,主键重置)
    TRUNCATE TABLE user_info;
    

    相关文章

      网友评论

        本文标题:mysql 数据操作语言(增删改) (DML --- Data

        本文链接:https://www.haomeiwen.com/subject/jcqcldtx.html