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

SQL— DML语句学习【后端 10】

数据库操作-DML 详解

请添加图片描述

在数据库管理系统中,DML(Data Manipulation Language,数据操作语言)扮演着至关重要的角色,它负责对数据库中的数据进行增、删、改操作。掌握DML操作对于数据库的日常维护和管理至关重要。本文将详细介绍DML中的三大基本操作:插入(INSERT)、修改(UPDATE)和删除(DELETE)。

3.1 增加数据(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表指定字段插入数据

假设tb_emp表包含usernamenamegendercreate_timeupdate_time等字段,并且create_timeupdate_time字段不能为空。插入数据的SQL语句如下:

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());

注意:如果id字段是自增的,则可以省略或设为null

案例3:批量向tb_emp表指定字段插入数据
insert into tb_emp(username, name, gender, create_time, update_time)  
values ('weifuwang', '韦一笑', 1, now(), now()),  ('fengzi', '张三疯', 1, now(), now());

注意事项

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

3.2 修改数据(UPDATE)

基本语法

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

实战案例

案例1:更新tb_emp表中特定员工的姓名
update tb_emp set name='张三', update_time=now() where id=1;
案例2:更新tb_emp表中所有员工的入职日期
update tb_emp set entrydate='2010-01-01', update_time=now();

注意事项

  1. 修改语句的条件可以省略,但这样会更新表中的所有数据,应谨慎使用。
  2. 在修改数据时,通常需要同时更新公共字段如update_time

3.3 删除数据(DELETE)

基本语法

delete from 表名 [where 条件];

实战案例

案例1:删除tb_emp表中特定id的员工
delete from tb_emp where id = 1;
案例2:删除tb_emp表中的所有员工
delete from tb_emp;

注意事项

  1. DELETE语句的条件可以省略,但这样会删除表中的所有数据,应格外小心。
  2. DELETE语句不能用于删除表中的某个字段值,只能删除整行数据。如需删除字段值,应使用UPDATE语句将该字段值置为NULL。
  3. 在执行删除全部数据的操作时,系统可能会提示确认,请确保操作无误后再执行。

掌握DML操作是数据库管理的基础,希望本文的介绍能够帮助你更好地理解和应用DML操作。


http://www.mrgr.cn/news/1214.html

相关文章:

  • 10结构型设计模式——桥接模式
  • 嵌入式系统:全面解读与关键要点
  • HTML 基础要素解析
  • 零基础STM32单片机编程入门(三十九) 多传感器模块之NFC刷卡开门实战源码
  • C语言刷题日记(附详解)(1)
  • Go语言中的值类型与引用类型
  • Android笔试面试题AI答之Kotlin(14)
  • 如何量化管理研发团队的技术债务?
  • Node.js推荐的项目
  • Centos7 系统下安装go语言开发环境
  • 以太网、usb网卡 无法使用,Windows仍在设置此设备的类配置(代码:56)
  • 【LeetCode热题100】滑动窗口
  • 后端开发刷题 | 排序算法--冒泡排序
  • 计算机网络——运输层(进程之间的通信、运输层端口,UDP与TCP、TCP详解)
  • DMS:直接可微的网络搜索方法,最快仅需单卡10分钟 | ICML 2024
  • 寻找AC110-220V输入、稳定输出12V、300mA负载并预留500mA用AH8966
  • UDP/TCP --- Socket编程
  • 运维学习————Linux环境下Tomcat的部署
  • react笔记:redux
  • 【Qt】常用控件QLabel