• MySQL中的DML操作


            DML语言即数据操作语言,作用是更新,添加,删除数据表中的的行,也就是给每个字段添加新的数据。

    目录

    一,DML是干什么的?

    二,添加数据(INSERT)

    1,选择插入

    2,完全插入

    3,默认值处理

    3.1 创建表的时候给指定列添加默认值

    3.2 给表添加新字段时指定默认值

    3.3 插入数据时的默认值处理

    三,增添数据update

    四,删除数据delete

    1,delete语句

    2,TRUNCATE语句清空表

    3,清空表时DELETE与 TRUNCATE 区别


    一,DML是干什么的?

            如下图,DML语言就是对表中箭头的地方进行添加,更新,删除数据的。

            DML语言的分类。 insert:在新行中添加数据。update:对已经存在数据的行进行修改。delete:删除某行中的数据。

    二,添加数据(INSERT)

    1,选择插入

            选择插入是指:向指定的字段添加数据,未被选择的字段不会添加。

    1. INSERT INTO 表名(列名1 ,列名2 ,列名3.....) VALUES(值1,值2 ,值3......);
    2. insert into departments
    3. (department_name,location_id)
    4. values
    5. ("market", 1);

    2,完全插入

            完全插入是指:默认一行中所有字段都要添加数据。使用了主键增长的字段由于数据库管理系统自动维护,我们不需要给他主动加数据,对其使用null,0,default占位即可。

    1. INSERT INTO 表名 VALUES(值 1 ,值 2 ,值3......);
    2. //如果主键是自动增长,需要使用 default 或者 null 或者 0 占位。
    3. insert into departments values(default,"development",2);
    4. insert into departments values(null,"human",3);
    5. insert into departments values(0,"teaching",4);

    3,默认值处理

            默认值处理是指:初始化的时候或者给未被选择的字段添加默认值,一般的默认值有:null,unknown,0,未知,NaN,undefined,default等。而且这个默认值的数据类型要与这个字段的数据类型保存一致。

    3.1 创建表的时候给指定列添加默认值

    1. CREATE TABLE 表名(列名 类型 default 默认值,...... );
    2. //创建emp3表,该表包含emp_id主键且自动增长,包含name,包含address,该列默认值为”未知”。
    3. create table emp3(emp_id int primary key
    4. auto_increment,name varchar(10),address
    5. varchar(50) default 'Unknown');

    3.2 给表添加新字段时指定默认值

    1. ALTER TABLE 表名 ADD COLUMN 列名 类型 DEFAULT 默认值;
    2. alter table emp3 add column job_id int default 0;

    3.3 插入数据时的默认值处理

            如果在插入数据时并未指定该列的值,那么MySQL会将默认值添加到该列中(通常是null)。如果是完全项插入需要使用default来占位。

    1. //向emp3表中添加数据,要求address列与job_id列使用默认值作为该列的值。
    2. insert into emp3(name) values("admin");//选择插入
    3. insert into emp3 values(default,"xiaoming",default,default);//完全插入

    三,增添数据update

            update对已经存在数据的行进行数据内容修改。更新语句中一定要给定更新条件,否则表中的所有数据都会被更新成新的值。

            一般更新条件(也就是准确定位到需要修改数据的单元格)很好做,作为一张二维表,只需要x和y两个坐标即可确定,通常使用一个字段+主键的形式来确定单元格,如:address = "BeiJing" where emp_id = 1。

            常见操作有:1,修改某一个单元格;2,修改一行中多个字段。

    1. UPDATE 表名 SET 列名=值,列名=值…… WHERE 条件;
    2. //更新emp3表中的id为1的数据,添加address为 BeiJing。
    3. update emp3 set address = "BeiJing" where emp_id = 1;//修改单元格
    4. UPDATE Person SET Address = 'Zhongshan 23', City = 'Nanjing' WHERE LastName = 'Wilson'//修改一行中多个列

    四,删除数据delete

    1,delete语句

            在DELETE语句中,如果没有给定删除条件则会删除表中的所有数据。

    1. DELETE FROM 表名 WHERE 条件;
    2. delete from emp3 where emp_id = 1;//删除emp_id为1的一整行。

    2,TRUNCATE语句清空表

    1. TRUNCATE TABLE 表名;
    2. truncate table emp3;

    3,清空表时DELETE TRUNCATE 区别

            truncate是整体删除(速度较快)delete 是逐条删除(速度较慢)

            truncate不写服务器log日志delete写服务器log,也就是truncate效率比delete高的原因

            truncate是会重置自增值,相当于自增列会被置为初始值,又重新从1开始记录,而不是接着原来的值。而delete删除以后,自增值仍然会继续累加。

  • 相关阅读:
    数据结构逻辑结构物理结构
    22、短信登录(隐藏用户的敏感信息)
    中移OneOS开发板学习入门
    学习笔记25--多传感器前融合技术
    【数据结构-队列】阻塞队列
    程序员常用的19款办公软件和开发工具推荐!
    Linux 日志系统
    wxpython使用中出现的内存泄露问题
    域对象(request域对象)共享 数据方法(五种servletApi,ModelandVies,Model,map,ModelMap)
    2022年最新四川交安安全员考试题库及答案
  • 原文地址:https://blog.csdn.net/weixin_44992737/article/details/125463827