数据库-DML语言-数据操作语言

定义

DML是对表中数据进行操作的语言,涉及的关键字:INSERT UPDATE DELETE

  • INSERT:向表中插入新数据的语句
  • UPDATE:修改表中数据的语句
  • DELETE:删除表中数据的语句

准备工作

USE mydb;					使用mydb库
CREATE TABLE person(		创建表personname VARCHAR(30),age INT(3)
)

INSERT语句-向表中插入数据

语法
INSERT INTO 表名 (字段1,字段2,字段3,...) VALUES (1,2,3,...)
向表中插入一条记录,将值1插入的到字段1中,将值2插入到字段2
向person表中插入记录
INSERT INTO person (name,age) VALUES ('张三',22);
INSERT INTO person (age,name) VALUES (33,'李四');INSERT INTO person (name,age) VALUES (36,'王五');   不可以,值的顺序与前面指定的字段不匹配
INSERT INTO person (name,age) VALUES ('王五')       不可以,值的个数与前面指定的字段不匹配

注:

  • 在数据库中,字符串的字面量是使用单引号括起来的,需要注意
  • 在INSERT语句中指定的字段与VALUES后面指定的值顺序,个数,类型要完全一致
  • 在INSERT语句中字段指定时的顺序和个数可以与表结构定义时不一致
补充
查询表中数据的语法
SELECT * FROM 表名
SELECT * FROM person

在这里插入图片描述

插入默认值

INSERT语句中指定字都时,忽略的字段会被插入默认值。当表中字段没有被明确指定默认值时,默认值一律为NULL

INSERT INTO person (name) VALUES ('王五')
此时该条记录插入后,age字段使用默认值NULL

在这里插入图片描述

默认值的指定

注:指定默认值是属于DDL语句的范畴

使用DEFAULT关键字来为字段指定默认值,可以在创建表时,也可以在修改表时指定

在创建表时为字段指定默认值
CREATE TABLE person(name VARCHAR(30) DEFAULT '无名氏',age INT(3) DEFAULT 30
)修改表时为字段指定默认值
ALTER TABLE person CHANGE name name VARCHAR(30) DEFAULT '无名氏'可以使用DESC 表名 在查看表结构时看到字段的默认值

在这里插入图片描述

此时向person表中插入数据时,若不指定name字段,该字段默认值插入’无名氏’

INSERT INTO person (age) VALUES (55)

在这里插入图片描述

全列插入

在INSERT语句中不指定字段时,为全列插入,此时要求VALUES子句后面指定的值的个数,顺序,类型必须与表结构中字段完全一致

补充说明
子句

在SQL语句中一个关键字可以组成一个子句

INSERT INTO person(name,age)		INSERT子句
VALUES('张三',22)					   VALUES子句
这两个子句整体构成了INSERT语句
语法
INSERT INTO 表名 VALUES(1,2,...)	此时就要求VALUES子句中指定的值必须与表结构一致
INSERT INTO person VALUES('赵六',15)   插入默认值
INSERT INTO person VALUES(DEFAULT,15)	使用DEFAULT关键字表达该字段插入默认值插入NULLINSERT INTO person VALUES(NULL,78)		使用NULL关键字表达该字段插入NULL值下面是错误示范:
INSERT INTO person VALUES(15,'赵六')	 不可以,与person表结构字段顺序不一致
INSERT INTO person VALUES('赵六')      不可以,与person表结构字段顺序不一致
批量插入
语法
INSERT INTO 表名(字段...) VALUES(第一组值...),(第二组值...),....
一次插入三条记录
INSERT INTO person(name,age) VALUES('阿猫',11),('阿狗',22),('阿三',33) 

在这里插入图片描述

UPDATE语句-修改表数据

语法
UPDATE 表名
SET 字段1=新值,字段2=新值,...
[WHERE 过滤条件]
UPDATE person
SET age=40
此时该SQL执行后,person表中每条记录的age字段都会被改为40

注:当UPDATE语句中不添加WHERE子句时,会将表中所有记录进行修改,这种操作实际开发中很少见

WHERE子句在UPDATE中的作用

当UPDATE语句添加了WHERE子句时,只有满足WHERE子句要求的记录才会被修改

修改张三的年龄为22
UPDATE person
SET age=22
WHERE name='张三'数据库在修改记录时对表是逐行进行的,每一行是否进行修改取决于该行记录是否满足WHERE子句的条件要求

在这里插入图片描述

40岁的人改为36UPDATE person
SET age=36
WHERE age=40

在这里插入图片描述

WHERE子句基础条件

WHERE子句会在后面DQL中详细展开介绍

WHERE中基础条件:>,>=,<,<=,=,<>(首先"=“在数据库中表达等于,”<>“在数据库中表达不等于。”!="也可以表达不等于,但不是SQL92标准)

将年龄高于30岁的人改为29
UPDATE person
SET age=29
WHERE age>30

在这里插入图片描述

使用表达式修改
将每个人的年龄涨一岁
UPDATE person
SET age=age+1
修改多字段
将李四的名字改为'李老四',年龄改为66
UPDATE person
SET name='李老四',age=66
WHERE name='李四'

DELETE语句-删除表中数据

语法
DELETE FROM 表名
[WHERE 过滤条件]

注:DELETE语句通常不会忽略WHERE子句,否则是清空表操作!

删除person表中'李老四'
DELETE FROM person
WHERE name='李老四'			//仅删除person表中name字段为'李老四'的记录删除年龄小于25岁的人
DELETE FROM person
WHERE age<25
清空表
DELETE FROM person

总结

  • INSERT语句,向表中插入数据的语言
    • INSERT语句指定的字段顺序,个数可以与表结构不一致,但是VALUES子句后指定的值必须与指定的字段顺序,类型,个数完全一致
    • INSERT语句在指定字段时,可以忽略某些字段,此时插入数据时被忽略的字段会插入默认值
    • INSERT语句中可以使用关键字DEFAULT显示声明插入默认值
    • INSERT语句中可以使用关键字NULL显示声明插入NULL值
    • INSERT语句中不指定字段时为全列插入,此时VALUES后指定的值的顺序,个数,类型要与表结构完全一致。实际开发中不推荐这样的写法。
  • UPDATE语句,修改表中记录的语言
    • UPDATE语句通常要指定WHERE子句,如果不指定则为全表修改
  • DELETE语句,删除表中记录的语言
    • DELETE语句通常要指定WHERE子句,否则是清空表操作

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/401689.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

麒麟v10(ky10.x86_64)升级——openssl-3.2.2、openssh-9.8p1

系统版本: ky10.x86_64 下载安装包并上传 openssh下载地址 https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable openssl下载地址 https://openssl-library.org/source/index.html zlib下载地址 https://zlib.net/fossils/ 上传安装包 备份配置文件 cp -r /etc/ssh /et…

高德地图SDK Android版开发 5 地图交互操作

高德地图SDK Android版开发 5 地图交互操作 前言控件控件介绍接口UiSettingsAMapOptions 示例代码Logo指南针比例尺缩放按钮 效果图 地图手势地图手势方法说明地图手势开关指定屏幕中心点的手势操作 地图手势事件地图点击事件监听接口地图长按事件监听接口地图触摸事件监听接口…

Python 6行代码写北京时间时钟(10帧 可调) 天地良心

今天看到别的大佬用Python写时钟 我密集恐惧症都犯了 十来个定义函数 我看也看不懂 代码还有整整78行 还是在我改良后的 改良前有98行 我删注释 优化函数名(比如把penup改成pu) 这个文件照样有5KB 并且在帧数取决于电脑性能 我运行了一下 电脑都卡出蓝屏了 于是我连夜赶…

云动态摘要 2024-08-12

给您带来云厂商的最新动态&#xff0c;最新产品资讯和最新优惠更新。 全球加速 GA - 新增“巴西&#xff08;圣保罗&#xff09;”、“沙特&#xff08;利雅得&#xff09;”接入点 华为云 2024-08-12 全球加速服务新增开通“巴西&#xff08;圣保罗&#xff09;”、“沙特&a…

CAN总线-----帧格式

目录 前言 一、CAN总线帧格式分类 1.数据帧&#xff08;重点&#xff09; 2.遥控帧 3.错误帧 4.过载帧 5.间隔帧 二、位填充 三、波形实例 前言 本期我们就开始学习CAN总线的帧格式&#xff0c;对应帧格式的话&#xff0c;在前面我们学习I2C协议和SPI协议等协议的时候…

使用功率器件比如MOSFET瞬态热阻曲线计算参数

使用功率器件比如MOSFET瞬态热阻曲线计算参数 1.概述2.查看 ZθJC 图3.使用 ZθJC 图估算结温升4.应用案例5.使用 ZθJC 图估算 MOSFET 峰值电流能力6.应用实例 资料来自网络&#xff0c;仅供学习使用 1.概述 功率 MOSFET 数据表包括归一化瞬态热阻抗图&#xff1a;结至外壳 …

怎么将pdf转为ppt文件?pdf转ppt的8个方法

在诸多职场与学术交流的场合中&#xff0c;我们时常面临将详尽的PDF文件转化为生动且易于编辑的PPT演示文稿的需求。这一转换不仅是为了满足演示时的灵活性&#xff0c;更是为了提升信息传递的效率与观众的理解度。从简单的在线工具到功能全面的专业软件&#xff0c;我们拥有多…

概要设计遇到需求变更,6大应对措施

有效地应对概念设计过程中的需求变更&#xff0c;有助于项目灵活适应市场与用户变化&#xff0c;减少后期调整成本&#xff0c;提升产品竞争力与用户满意度&#xff0c;促进项目顺利推进和高质量交付。未能及时有效应对概念设计中的需求变更&#xff0c;往往会导致项目偏离原定…

“论NoSQL数据库技术及其应用”写作框架,软考高级,系统架构设计师

论文真题 随着互联网web2.0网站的兴起&#xff0c;传统关系数据库在应对web2.0 网站&#xff0c;特别是超大规模和高并发的web2.0纯动态SNS网站上已经显得力不从心&#xff0c;暴露了很多难以克服的问题&#xff0c;而非关系型的数据库则由于其本身的特点得到了非常迅速的发展…

[C++] STL (multi)map/(multi)set简介

标题&#xff1a;[C] STL (multi)map/(multi)set简介 水墨不写bug 目录 前言&#xff1a; 一、set简介 1.set简介 2.set的常见用法 二、map简介 1.map简介 2.map使用 三、multiset简介 1.multiset简介 2.multiset使用 四、multimap简介 1.multimap简介 2.multim…

24小时不间断守护:输电线路防山火在线监测装置|防山火利器

24小时不间断守护&#xff1a;输电线路防山火在线监测装置|防山火利器 “一年之计在于秋”虽然传统上强调秋季作为收获与规划的重要时节&#xff0c;但同时也提醒我们&#xff0c;这个季节也伴随着一系列的自然挑战&#xff0c;如火灾风险的增加。针对输电线路而言&#xff0c…

制造业生产管理的困境及MES系统解决方案介绍:盘古信息IMS

在当今竞争激烈的制造业环境中&#xff0c;企业面临着前所未有的生产管理挑战。从计划执行的灵活性不足、过程监控的缺失&#xff0c;到质量控制的挑战、供应链协同的难题&#xff0c;每一个环节都亟需创新与优化。盘古信息MES系统&#xff0c;作为全球领先的制造运营管理工业软…

秋招突击——8/15——知识补充——垃圾回收机制

文章目录 引言正文指针引用可达性分析算法垃圾回收算法标记清除算法标记整理算法复制分代收集 垃圾收集器Serial收集器ParNew并行收集器Parallel Scavenge吞吐量优先收集器Serial Old老年代收集器Parallel old收集器CMS收集器G1收集器&#xff08;Garbage First垃圾优先&#x…

MySQL:查询(万字超详细版)

&#x1f48e;所属专栏&#xff1a; MySQL &#x1f48e;1. 单表查询 &#x1f48e;1.1 全列查询和指定列查询 全列查询&#xff1a; select * from exam; 在实际开发中不要使用 * 来进行查询&#xff0c;因为数据库会很大&#xff0c;影响效率 指定列查询&#xff1a; se…

IPC进程间通信

信号 信号是一种终端机制&#xff0c;程序运行到一半的时候接收到了某种通知&#xff0c;程序就会立刻中断运行&#xff0c;转而去处理通知。 登记信号 一个进程只会接收默认的几个信号 如果想要让一个进程接收特定信号的话&#xff0c;必须提前在该进程中登记一下想要接收…

如何进行长截图的两种方法

前言 本文主要讲2种截图方式&#xff0c;分别是谷歌和QQ。 谷歌分为Web端 和 移动端&#xff0c;选一种即可。 第一种&#xff1a;谷歌浏览器控制台自带的 1.先把控制台语言更改为中文&#xff0c;方便查看 ①.按F12&#xff0c;点击设置面板 ②.修改语言为中文并关闭 ③.点击…

2024-08-07升级记录:北斗卫星导航系统轨道信息解释

北斗三号全球星座由地球静止轨道&#xff08;GEO&#xff09;、倾斜地球同步轨道&#xff08;IGSO&#xff09;、中圆地球轨道&#xff08;MEO&#xff09;三种轨道卫星组成&#xff0c;北斗人称这三种卫星为“北斗三兄弟”。 三种轨道区别&#xff1a; 1、GEO卫星 位于距地球约…

MySQL索引的性能优化

1.数据库服务器的优化步骤 在数据库调优中&#xff0c;我们的目标就是响应时间更快&#xff0c;吞吐量更大。利用宏观的监控工具和微观的日志分析可以帮我们快速找到调优的思路和方式 数据库服务器的优化步骤 当我们遇到数据库调优问题的时候&#xff0c;该如何思考呢&#xf…

腾讯云AI代码助手 —— 编程新体验,智能编码新纪元

阅读导航 引言一、开发环境介绍1. 支持的编程语言2. 支持的集成开发环境&#xff08;IDE&#xff09; 二、腾讯云AI代码助手使用实例1. 开发环境配置2. 代码补全功能使用&#x1f4bb;自动生成单句代码&#x1f4bb;自动生成整个代码块 3. 技术对话3. 规范/修复错误代码4. 智能…

python-NLP:4句法分析

文章目录 句法分析概述句法分析分类句法分析任务 句法结构分析基本概念语法形式化基本方法 依存句法分析浅层句法分析 句法分析概述 句法分析(syntacticparsing)是自然语言处理中的关键技术之一&#xff0c;其基本任务是确定句子的句法结构(syntactic structure)或句子中词汇之…