• 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:删除所有的员工

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


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

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

  • 相关阅读:
    vue项目的环境准备与创建详情
    信息安全技术概论-李剑-持续更新
    第一章 JAVA入门
    Android 13.0 framework修改AlertDialog对话框的button样式
    day31-线程基础01
    Qt6版使用Qt5中的类遇到的问题解决方案
    记录使用iText7查找PDF内容关键字坐标,加盖电子签名、印章
    项目实用功能-全局loading动画
    React+TS学习和使用
    你们的优雅停机真的优雅吗?
  • 原文地址:https://blog.csdn.net/m0_74438843/article/details/133980229