当前位置: 首页 > news >正文

【JaveWeb教程】(19) MySQL数据库开发之 MySQL数据库操作-DML 详细代码示例讲解

目录

    • 3. 数据库操作-DML
      • 3.1 增加(insert)
      • 3.2 修改(update)
      • 3.3 删除(delete)
      • 3.4 总结

在这里插入图片描述

3. 数据库操作-DML

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

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

3.1 增加(insert)

insert语法:

  • 向指定字段添加数据

    insert into 表名 (字段名1, 字段名2) values (值1, 值2);
    
  • 全部字段添加数据

    insert into 表名 values (值1, 值2, ...);
    
  • 批量添加数据(指定字段)

    insert into 表名 (字段名1, 字段名2) values (值1, 值2), (值1, 值2);
    
  • 批量添加数据(全部字段)

    insert into 表名 values (值1, 值2, ...), (值1, 值2, ...);
    

案例1:向tb_emp表的username、name、gender字段插入数据

-- 因为设计表时create_time, update_time两个字段不能为NULL,所以也做为要插入的字段
insert into tb_emp(username, name, gender, create_time, update_time)
values ('wuji', '张无忌', 1, now(), now());

案例2:向tb_emp表的所有字段插入数据

insert into tb_emp(id, username, password, name, gender, image, job, entrydate, create_time, update_time)
values (null, 'zhirou', '123', '周芷若', 2, '1.jpg', 1, '2010-01-01', now(), now());

案例3:批量向tb_emp表的username、name、gender字段插入数据

insert into tb_emp(username, name, gender, create_time, update_time)
values ('weifuwang', '韦一笑', 1, now(), now()),('fengzi', '张三疯', 1, now(), now());

图形化操作:双击tb_emp表查看数据

在这里插入图片描述

Insert操作的注意事项:

  1. 插入数据时,指定的字段顺序需要与值的顺序是一一对应的。

  2. 字符串和日期型数据应该包含在引号中。

  3. 插入的数据大小,应该在字段的规定范围内。

3.2 修改(update)

update语法:

update 表名 set 字段名1 =1 , 字段名2 =2 , .... [where 条件] ;

案例1:将tb_emp表中id为1的员工,姓名name字段更新为’张三’

update tb_emp set name='张三',update_time=now() where id=1;

案例2:将tb_emp表的所有员工入职日期更新为’2010-01-01’

update tb_emp set entrydate='2010-01-01',update_time=now();

在这里插入图片描述

注意事项:

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

  2. 在修改数据时,一般需要同时修改公共字段update_time,将其修改为当前操作时间。

3.3 删除(delete)

delete语法:

delete from 表名  [where  条件] ;

案例1:删除tb_emp表中id为1的员工

delete from tb_emp where id = 1;

案例2:删除tb_emp表中所有员工

delete from tb_emp;

注意事项:

​ • DELETE 语句的条件可以有,也可以没有,如果没有条件,则会删除整张表的所有数据。

​ • DELETE 语句不能删除某一个字段的值(可以使用UPDATE,将该字段值置为NULL即可)。

​ • 当进行删除全部数据操作时,会提示询问是否确认删除所有数据,直接点击Execute即可。

3.4 总结

  1. 插入数据:INSERT INTO table_name (column1, column2, …) VALUES (value1, value2, …);

  2. 更新数据:UPDATE table_name SET column1=value1, column2=value2, … WHERE condition;

  3. 删除数据:DELETE FROM table_name WHERE condition;

  4. 查询数据:SELECT column1, column2, … FROM table_name WHERE condition;

  5. 排序数据:SELECT column1, column2, … FROM table_name ORDER BY column1 ASC/DESC, column2 ASC/DESC, …;

  6. 分组数据:SELECT column1, column2, … FROM table_name GROUP BY column1, column2, …;

  7. 连接表查询:SELECT column1, column2, … FROM table_name1 JOIN table_name2 ON condition;

  8. 子查询:SELECT column1, column2, … FROM table_name WHERE column1 IN (SELECT column2 FROM table_name2 WHERE condition);

  9. 聚合函数:SELECT COUNT(column1), SUM(column2), AVG(column3), MAX(column4), MIN(column5) FROM table_name WHERE condition;

  10. 更新表结构:ALTER TABLE table_name ADD column_name datatype, MODIFY column_name datatype, DROP column_name;

以上是一些常用的MySQL数据库DML操作总结,可以根据具体需求进行灵活运用。1. 插入数据:INSERT INTO table_name (column1, column2, …) VALUES (value1, value2, …);

  1. 更新数据:UPDATE table_name SET column1=value1, column2=value2, … WHERE condition;

  2. 删除数据:DELETE FROM table_name WHERE condition;

  3. 查询数据:SELECT column1, column2, … FROM table_name WHERE condition;

  4. 排序数据:SELECT column1, column2, … FROM table_name ORDER BY column1 ASC/DESC, column2 ASC/DESC, …;

  5. 分组数据:SELECT column1, column2, … FROM table_name GROUP BY column1, column2, …;

  6. 连接表查询:SELECT column1, column2, … FROM table_name1 JOIN table_name2 ON condition;

  7. 子查询:SELECT column1, column2, … FROM table_name WHERE column1 IN (SELECT column2 FROM table_name2 WHERE condition);

  8. 聚合函数:SELECT COUNT(column1), SUM(column2), AVG(column3), MAX(column4), MIN(column5) FROM table_name WHERE condition;

  9. 更新表结构:ALTER TABLE table_name ADD column_name datatype, MODIFY column_name datatype, DROP column_name;

以上是一些常用的MySQL数据库DML操作总结,可以根据具体需求进行灵活运用。

http://www.lryc.cn/news/278252.html

相关文章:

  • Web前端篇——ElementUI之el-scrollbar + el-backtop + el-timeline实现时间轴触底刷新和一键返回页面顶部
  • CAS-ABA问题编码实战
  • Linux 常用进阶指令
  • windows通过ssh连接Liunx服务器并实现上传下载文件
  • 【K8S 存储卷】K8S的存储卷+PV/PVC
  • 工业智能网关如何保障数据通信安全
  • 基于Springboot的课程答疑系统(有报告)。Javaee项目,springboot项目。
  • 操作系统 内存相关
  • 【模拟IC学习笔记】 PSS和Pnoise仿真
  • IPv6邻居发现协议(NDP)---路由发现
  • OpenPLC v3 代码结构
  • 安全防御之备份恢复技术
  • 条款39:明智而审慎地使用private继承
  • 【数据库原理】(20)查询优化概述
  • FineBI实战项目一(18):每小时上架商品个数分析开发
  • Pytorch常用的函数(六)常见的归一化总结(BatchNorm/LayerNorm/InsNorm/GroupNorm)
  • 业务记录笔记
  • Leetcode16-有多少小于当前数字的数字(1365)
  • JavaWeb- Tomcat
  • Android studio 各本版下载
  • [C#]winform部署PaddleOCRV3推理模型
  • 谈谈Spring Bean
  • kubernetes(一)概述与架构
  • 【Scala】——变量数据类型运算符
  • 嵌入式培训机构四个月实训课程笔记(完整版)-Linux系统编程第十天-Linux下mplayer音乐播放器练习题(物联技术666)
  • 线性回归(Linear Regression)
  • matlab绘图修改坐标轴数字字体大小及坐标轴自定义间隔设置
  • C++入门教程,C++基础教程(第一部分:从C到C++)七
  • 【数据库】视图索引执行计划多表查询笔试题
  • CentOS7本地部署分布式开源监控系统Zabbix并结合内网穿透实现远程访问