• MySQL-DML【数据操作语言】(图码结合)


    目录

    🚩DML的定义 

    👉DML-添加数据

    🎓给指定的字段添加数据

    🕶️查询表数据的方式

    ❗疑惑点一【Affecter rows:行数】 

    ❗疑惑点二【字符集问题】

    🎓给全部字段添加数据

    🎓批量添加数据

    👉DML—修改数据

    👉DML—删除数据 


    🚩DML的定义 

    DML(Data Manipulation Language):数据操作语言,用来对数据库表中的数据进行增删改

    • insert 增加
    • update修改
    • delete删除

     我们将之前的一篇DDL中的建立表操作,继续用这个表来进行数据的调整。

    我们可以看到,我们形成的表中只有数据类型,建立的表结构,而数据库是存储数据的仓库,DDL给我们建立框架,接下来我们要真正的操作DML,对数据库表中的数据进行增删查改。


    👉DML-添加数据

    🎓给指定的字段添加数据

    INSERT INTO 表名 (字段1,字段2,...)VALUES (值1,值2,值3,....);

    注意😲:

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

    我们根据语法的规则,每个字段/值之间都用逗号隔开,指定字段顺序与值一一对应,字符串和日期型数据应该包含在引号中。

    🕶️查询表数据的方式

    接下来就是查询表数据。查询表数据的方式有俩种:

    第一种:

    SELECT FROM * 表名;

     第二种:

    我们在所在的数据库中的表中查找,当前test表在cl数据库中,所以我们去cl数据库中

    ❗疑惑点一【Affecter rows:行数】 

    这里的Affecter rows:行数,表示你的代码是运行成功的,没有出错,行数1,2,3,4....表示的是进行对数据的操作了几行。添加字段(编号,姓名,年龄/.....)都是一行的,所以对数据的操作就进行一行。

    这里显示的rows是5,表明对数据的操作是5行。上面的代码不清楚的,下面会详细解答。


    ❗疑惑点二【字符集问题】

    Incorrect string value: '\xE7\x94\xB7' for column 'gender' at row 1
    

     Incorrect string value(字符串值不正确): '\xE7\x94\xB7' for column 'gender' at row 1

    相信在初次使用的时候,可能会遇到这样的报错。我就是,所以我搜索材料。进行修改归纳总结 ,出现的问题:字符集对应不上,性别“男”为中文字符串,需要使用到utf-8字符集,而默认是使用的是latin1字符集。

    1. CREATE table test(
    2. id int COMMENT'编号',
    3. worknumber varchar(10) COMMENT'员工工号',
    4. workname VARCHAR(10) COMMENT'员工姓名',
    5. gender char(1) COMMENT'员工性别',
    6. age TINYINT UNSIGNED COMMENT'员工年龄',
    7. idcard char(18) COMMENT'员工身份证号',
    8. entrydate date COMMENT'入职时间'
    9. )COMMENT'员工信息';

    解决方案:此时应该根据报错的内容修改对应的数据库、表或者字段的字符集

    代码如下:
    1、修改数据库字符集

    alter database db_new(数据库名) charset utf8mb4;

    2、修改表字符集

    alter table tb(表名) charset=utf8mb4;

    3、修改表字符集和校验规则

    alter table tb(表名)charset=utf8mb4 collate=utf8mb4_general_ci;

    4、修改表字段的字符集和校验规则

    alter table tb(表名)modify gender char(1)(字段名+字段数据类型) character set utf8 collate utf8_general_ci;
    

    🎓给全部字段添加数据

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


    🎓批量添加数据

    1. //INSERT INTO 表名 (字段1,字段2,...)VALUES (值1,值2,值3,....),(值1,值2,值3,....);
    2. //INSERT INTO 表名 VALUES (值1,值2,值3,....),(值1,值2,值3,....),(值1,值2,值3,....);


    👉DML—修改数据

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

    注意😲:

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

    案例1:修改id为1的数据,将workname修改为cl

    案例2:修改id为1的数据,将name修改为cll,gender修改为女

    案例3:将所有的员工入职日期改为2008-01-01

    没有前提条件就是修改整个表的对应字段的数据。


    👉DML—删除数据 

    DELETE FROM 表名 [WHERE 条件]

    注意😲:

            DELECT语句的条件可以有,也可以没有,如果没有,则删除整张表的所有数据

            DELECT语句不能删除某一个字段的值(可以使用UPDATE)

    先给出原表的数据,后面删除数据好对应。 

    案例1:删除gender为女的员工

    案例2:删除所有的员工

    再原来基础删除女员工的基础上,剩下俩行,删除整个表格,就对应的操作数据俩行。


    好了,一切为空,从最开始的添加数据,到后来的修改数据,最后删除数据,最后成了空表。

    希望你的每一步都走的有意义。

  • 相关阅读:
    SSM整合流程
    【嵌入式开发学习】__扒一扒单片机串口IAP原理
    部署ELK,收集nginx日志
    局域网靶机渗透操作指南
    一文读懂 Shiro 登录认证全流程
    mac系统占用内存太大怎么办?
    2 errors and 0 warnings potentially fixable with the `--fix` option.(Vue后台管理系统)
    Fucoidan-PLGA 岩藻多糖-聚乳酸-羟基乙酸共聚物 PLGA-PEG-Fucoidan
    C++ 正则表达式(匹配、搜索、替换)
    370万欧元!西班牙iPronics加速可重构光子芯片商用
  • 原文地址:https://blog.csdn.net/m0_74438843/article/details/133980229