• 【数据库初阶】SQL--DML



    更多数据库MySQL系统内容就在以下专栏:
    专栏链接:数据库MySQL


    DML

    1. 基本介绍

    DML英文全称是Data Mainipulation Language(数据操作语言),用来对数据库中表的数据记录进行增删改操作。

    三大关键字:

    • 添加数据:INSERT
    • 修改数据:UPDATE
    • 删除数据:DELETE

    2. 添加数据

    1. 给指定字段添加数据
    INSERT INTO 表名(字段名1, 字段名2, ...) VALUES (1,2, ...);
    

    案例:

    在emloyee 表中添加一组数据

    示例代码:

    mysql> 
    mysql> insert into emloyee (id, workno, name, gender, age, idcard, entrydate) values (1, '1', '张三', '男', 15, '012345678912345678', '2001-01-01');
    Query OK, 1 row affected (0.00 sec)
    
    mysql> 
    mysql> select * from emloyee;
    +----+--------+------+--------+-----+--------------------+------------+
    | id | workno | name | gender | age | idcard             | entrydate  |
    +----+--------+------+--------+-----+--------------------+------------+
    |  1 | 1      | 张三 ||  15 | 012345678912345678 | 2001-01-01 |
    +----+--------+------+--------+-----+--------------------+------------+
    1 row in set (0.03 sec)
    
    mysql> 
    
    1. 给全部字段添加数据
    INSERT INTO 表名 VALUES (1,2, ...);
    

    案例:

    在emloyee 表给全部字段添加一组数据

    示例代码:

    
    mysql> 
    mysql> insert into emloyee values(2, '2', '李四', '男', 18, '012345678912345679', '2002-02-02');
    Query OK, 1 row affected (0.01 sec)
    
    mysql> 
    mysql> 
    mysql> 
    mysql> select * from emloyee;
    +----+--------+------+--------+-----+--------------------+------------+
    | id | workno | name | gender | age | idcard             | entrydate  |
    +----+--------+------+--------+-----+--------------------+------------+
    |  1 | 1      | 张三 ||  15 | 012345678912345678 | 2001-01-01 |
    |  2 | 2      | 李四 ||  18 | 012345678912345679 | 2002-02-02 |
    +----+--------+------+--------+-----+--------------------+------------+
    2 rows in set (0.04 sec)
    
    mysql> 
    
    1. 批量添加数据
    INSERT INTO 表名 (字段名1, 字段名2, ...) VALUES (1,2, ...),(1,2, ...);
    
    INSERT INTO 表名 VALUES(1,2, ...), (1,2, ...), (1,2, ...);
    

    案例:

    在emlyee 表中,批量添加两条数据。

    示例代码:

    mysql> 
    mysql> insert into emloyee (id, workno, name, gender, age, idcard, entrydate) values (3,'3', '王五', '男', 13, '012345678901234567', '2003-03-03'),(4, '4', '哈哈', '男', 14, '012345678912345689', '2004-04-04');
    Query OK, 2 rows affected (0.01 sec)
    Records: 2  Duplicates: 0  Warnings: 0
    
    mysql> 
    mysql> select * from emloyee;
    +----+--------+------+--------+-----+--------------------+------------+
    | id | workno | name | gender | age | idcard             | entrydate  |
    +----+--------+------+--------+-----+--------------------+------------+
    |  1 | 1      | 张三 ||  15 | 012345678912345678 | 2001-01-01 |
    |  2 | 2      | 李四 ||  18 | 012345678912345679 | 2002-02-02 |
    |  3 | 3      | 王五 ||  13 | 012345678901234567 | 2003-03-03 |
    |  4 | 4      | 哈哈 ||  14 | 012345678912345689 | 2004-04-04 |
    +----+--------+------+--------+-----+--------------------+------------+
    4 rows in set (0.04 sec)
    
    mysql> 
    

    注意:

    • 插入数据时, 指定的字段顺序需要与值的顺序时一一对应的。
    • 字符串和日期型数据应该包含在引导中。
    • 插入的数据大小,应该在字段的规定范围内。

    3. 修改数据

    基本语法:

    UPDATE 表名 SET 字段名1=1, 字段名2=2, ...[WHERE条件];
    

    注意:

    修改语句的条件可以有,也可以没有,如果没有条件,则会修改整张表的所有数据。

    案例1:

    修改id为1的数据,将name 修改为嘿嘿。

    示例代码:

    mysql> 
    mysql> update emloyee set name='嘿嘿' where id=1;
    Query OK, 1 row affected (0.01 sec)
    Rows matched: 1  Changed: 1  Warnings: 0
    
    mysql> 
    mysql> 
    mysql> select * from emloyee;
    +----+--------+------+--------+-----+--------------------+------------+
    | id | workno | name | gender | age | idcard             | entrydate  |
    +----+--------+------+--------+-----+--------------------+------------+
    |  1 | 1      | 嘿嘿 ||  15 | 012345678912345678 | 2001-01-01 |
    |  2 | 2      | 李四 ||  18 | 012345678912345679 | 2002-02-02 |
    |  3 | 3      | 王五 ||  13 | 012345678901234567 | 2003-03-03 |
    |  4 | 4      | 哈哈 ||  14 | 012345678912345689 | 2004-04-04 |
    +----+--------+------+--------+-----+--------------------+------------+
    4 rows in set (0.04 sec)
    
    mysql> 
    

    案例2:

    修改id为1的数据,将name 修改为小马,gender 修改为 女。

    示例代码:

    ysql> 
    mysql> update emloyee set name = '小马', gender = '女' where id=1;
    Query OK, 1 row affected (0.01 sec)
    Rows matched: 1  Changed: 1  Warnings: 0
    
    mysql> 
    mysql> 
    mysql> select * from emloyee;
    +----+--------+------+--------+-----+--------------------+------------+
    | id | workno | name | gender | age | idcard             | entrydate  |
    +----+--------+------+--------+-----+--------------------+------------+
    |  1 | 1      | 小马 ||  15 | 012345678912345678 | 2001-01-01 |
    |  2 | 2      | 李四 ||  18 | 012345678912345679 | 2002-02-02 |
    |  3 | 3      | 王五 ||  13 | 012345678901234567 | 2003-03-03 |
    |  4 | 4      | 哈哈 ||  14 | 012345678912345689 | 2004-04-04 |
    +----+--------+------+--------+-----+--------------------+------------+
    4 rows in set (0.05 sec)
    
    mysql> 
    

    案例3:

    将所有的员工入职日期修改为 2020-05-20。

    示例代码:

    mysql> 
    mysql> update emloyee set entrydate='2020-05-20';
    Query OK, 4 rows affected (0.01 sec)
    Rows matched: 4  Changed: 4  Warnings: 0
    
    mysql> 
    mysql> 
    mysql> select * from emloyee;
    +----+--------+------+--------+-----+--------------------+------------+
    | id | workno | name | gender | age | idcard             | entrydate  |
    +----+--------+------+--------+-----+--------------------+------------+
    |  1 | 1      | 小马 ||  15 | 012345678912345678 | 2020-05-20 |
    |  2 | 2      | 李四 ||  18 | 012345678912345679 | 2020-05-20 |
    |  3 | 3      | 王五 ||  13 | 012345678901234567 | 2020-05-20 |
    |  4 | 4      | 哈哈 ||  14 | 012345678912345689 | 2020-05-20 |
    +----+--------+------+--------+-----+--------------------+------------+
    4 rows in set (0.04 sec)
    
    mysql> 
    

    4. 删除数据

    基本语法:

    DELETE FROM 表名[WHERE 条件];
    

    注意:

    • DELETE语句的条件可以有,也可以没有,如果没有条件,则会删除整张表的所有数据。
    • DELETE语句不能删除某一个字段的值(可以使用UPDATE删除某一个字段的值,将其置为NULL即可)。

    案例1:

    删除 gender 为女的员工。

    示例代码:

    mysql> 
    mysql> delete from emloyee where gender='女';
    Query OK, 1 row affected (0.00 sec)
    
    mysql> 
    mysql> 
    mysql> select * from emloyee;
    +----+--------+------+--------+-----+--------------------+------------+
    | id | workno | name | gender | age | idcard             | entrydate  |
    +----+--------+------+--------+-----+--------------------+------------+
    |  2 | 2      | 李四 ||  18 | 012345678912345679 | 2020-05-20 |
    |  3 | 3      | 王五 ||  13 | 012345678901234567 | 2020-05-20 |
    |  4 | 4      | 哈哈 ||  14 | 012345678912345689 | 2020-05-20 |
    +----+--------+------+--------+-----+--------------------+------------+
    3 rows in set (0.04 sec)
    
    mysql> 
    

    案例2:

    删除所有员工

    示例代码:

    mysql> delete from emloyee;
    Query OK, 3 rows affected (0.01 sec)
    
    mysql> 
    mysql> 
    mysql> 
    mysql> select * from emloyee;
    Empty set
    
    mysql> 
    
  • 相关阅读:
    springboot:slf4j+logback日志
    网上商城项目(加入购物车)
    2022年06月 C/C++(七级)真题解析#中国电子学会#全国青少年软件编程等级考试
    《Linux运维篇:Linux系统运维指南》
    软考高级架构师下篇-18大数据架构理论设计与实践
    AI推介-多模态视觉语言模型VLMs论文速览(arXiv方向):2024.02.10-2024.02.15
    【业务功能篇112】maven 指定打包某个module子模块 打包命令参数
    Spring中Bean注入的几种方式
    软件设计师--数据结构考点细节总结
    Spring注解开发
  • 原文地址:https://blog.csdn.net/2303_80341387/article/details/139321596