Mysql学习笔记之SQL-2

上篇文章介绍了SQL语句的第一部分数据定义语言(DDL),这篇文章我们介绍SQL语句的第二部分,数据库操作语言(DML)

1.简介

DML全称(Data Manipulation Language),用来对数据表中的数据进行操作。
包括:

  • 增加数据
  • 删除数据
  • 修改数据

下面依次介绍每种操作的语法和案例。

2.增加数据

增加数据是指在数据表中插入一条或者多条数据,语法如下所示:

INSERT INTO 表名 (字段名1, 字段名2, ...) VALUES (1,2, ...);

当插入的数据为表中全部字段时可以省略字段名,如:

-- 存在student数据表,包含字段 id、name、sex、age 插入全部字段可简写如下
INSERT INTO 表名 VALUES (1,2,3,4);

这两种写法有什么区别?
当数据表中的某些字段可以为空或者存在默认值时(后面会详细说明),在增加数据时就可以给需要的字段指定值,而不需要的字段可以不设置值,这时候就需要使用第一种写法。

反之,如果当数据表中的字段都必须不能为空且不存在默认值时,在增加数据时就必须给每个字段赋值,这时第二种写法就比较简单。

案例:
写法一:
1.给student数据表中添加一条数据,要求指定全部字段

INSERT INTO student (id,name,sex,age) VALUES(7,'皮洋洋','男',20);

2 .给students数据表中添加一条数据,只指定姓名和性别
这时候就需要数据表中的字段可以为空,我们可以通过naticat的设计表功能查看当前student表格的状态
在这里插入图片描述
将id、和age字段的“不是null“复选框去掉,点击保存
在这里插入图片描述
这时执行以下语句

INSERT INTO student (name,sex) VALUES('张三丰','男');

在这里插入图片描述
未指定字段的值就为空
写法二:

INSERT INTO student VALUES(9 ,'张三丰','男',19);

一次插入多条数据

INSERT INTO 表名 (字段名1, 字段名2, ...) VALUES (1,2, ...),(1,2,...),(1,2,...)...;
-- 或者
INSERT INTO 表名 VALUES(1,2,...),(1,2,...),(1,2,...)...;

当有大量的数据需要插入时,组合成一条sql语句插入效率会大大提高
案例:

INSERT INTO `test`.`student` (`id`, `name`, `sex`, `age`) VALUES (1, '张三', '男', 16)
,(2, '李四', '男', 16)
,(3, '王五', '男', 18)
,(4, '李翠翠', '女', 16)
,(5, '王芳芳', '女', 16)
,(6, '赵琴', '女', 16)
,(7, '皮洋洋', '男', 20)
,(9, '张三丰', '男', 19);

3.删除数据

3.1删除全部数据

DELETE FROM 表名;

执行后会清空表格,慎用!!!

3.2删除指定数据

DELETE FROM 表名 WHERE 条件;

案例:
1.删除学号为1的学生

DELETE FROM student WHERE id = 1;

2.删除学号不为1的学生

DELETE FROM student WHERE id <> 1;

3.删除学号大于10的学生

DELETE FROM student WHERE id > 10;

4.删除学号为2,3,4的学生

DELETE FROM student WHERE id == 2 or id == 3 or id == 4;
--或者
DELETE FROM student WHERE id in (2,3,4);

where条件后面可以判断任意的字段,这里不一一举例了,下表列举了where条件支持的比较符

条件比较符
比较= , > , < , >= , <= , (<> , !=不等于)
确定集合IN,NOT IN
字符匹配LIKE,NOT LIKE 通配符 % ,_
逻辑运算AND, OR(, NOT
空值判断IS NULL , IS NOT NULL

4.修改数据

UPDATE 表名 SET 字段名1 =1 , 字段名2 =2 , .... [ WHERE 条件 ] ;

注意
修改数据的where条件虽然时非必须的,但当where条件不指定时更新的数据将会是整张表格
where条件的语法跟删除数据中的where条件语法一样

案例:
1.将学号为1的学生,年龄修改为20

UPDATE student SET age = 20 WHERE id = 1;

2.将学号为2的学生,名称修改为黄眉大王

UPDATE student SET name = '黄眉大王' WHERE id = 2;

2.将所有学生的年龄都改为18

UPDATE student SET age = 18;

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

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

相关文章

opencv-python的简单练习

题目1.读取一张彩色图像并将其转换为灰度图。 import cv2 # 读取图片文件 img cv2.imread(./1.png)# 将原图灰度化 img_gray cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)# 输出图片 cv2.imshow(img,img) cv2.imshow(img_g,img_gray) # 进行阻塞 cv2.waitKey(0) 题目2&#xff1a;…

AOP实现操作日志记录+SQL优化器升级

文章目录 1.引入依赖1.sun-dependencies 指定依赖2.将sun-dependencies进行install3.sun-common-log引入依赖 2.sun-common-log代码实现1.LogAspect.java&#xff08;需要更改包时就修改Pointcut的切点表达式即可&#xff09;2.log4j2-spring.xml3.效果展示 3.SQL优化器升级1.目…

CH582F BLE5.3 蓝牙核心板开发板 60MHz RAM:32KB ROM:448KB

CH582F BLE5.3 蓝牙核心板开发板 60MHz RAM:32KB ROM:448KB 是一款基于南京沁恒&#xff08;WCH&#xff09;推出的高性能、低功耗无线通信芯片CH582F的开发板。以下是该开发板的功能和参数详细介绍&#xff1a; 主要特性 双模蓝牙支持&#xff1a; 支持蓝牙5.0标准&#xff0…

AI技术在演示文稿制作中的应用一键生成PPT

在快节奏的现代工作环境中&#xff0c;时间就是金钱。为了提高工作效率&#xff0c;许多专业人士都在寻找能够快速生成演示文稿&#xff08;PPT&#xff09;的工具。本文将探讨AI技术如何帮助用户自动生成演示文稿&#xff0c;从文案撰写到排版&#xff0c;最终输出成品&#x…

【Redis篇】Set和Zset 有序集合基本使用

目录 Set 基本命令 sadd SMEMBERS SISMEMBER SCARD 返回值&#xff1a; SPOP SMOVE SREM 集合间操作 交集&#xff1a; 并集&#xff1a; 差集&#xff1a; ​编辑 内部编码 使用场景&#xff1a; Zset 有序集合 Zset基本命令 ZADD ZCARD ZCOUNT ZRANGE …

安防监控Liveweb视频汇聚融合平台助力执法记录仪高效使用

Liveweb平台可接入的设备除了常见的智能分析网关与摄像头以外 &#xff0c;还可通过GB28181协议接入执法记录仪&#xff0c;实现对执法过程的全程监控与录像&#xff0c;并对执法轨迹与路径进行调阅回看。那么&#xff0c;如何做到执法记录仪高效使用呢&#xff1f; 由于执法记…

技术理性角度思考:游戏是什么?

1、从单纯技术理性角度来看&#xff0c;游戏就是若干事件的组合&#xff0c; 每一个事件都是若干代码控制的若干动画。通过各种事件&#xff0c;玩家持续输入&#xff0c;改变游戏状态&#xff0c;获得输出结果。 细分为界面切换事件&#xff0c;游戏逻辑事件&#xff0c; a…

IDEA 未启用lombok插件的Bug

项目中maven已引用了lombok依赖&#xff0c;之前运行没有问题的&#xff0c;但有时启动会提示&#xff1a; java: You arent using a compiler supported by lombok, so lombok will not work and has been disabled. Your processor is: com.sun.proxy.$Proxy8 Lombok support…

【vue】npm install 报错 python2 Error: not found: python2

如图所示&#xff0c;vue项目在下载依赖的时候报错找不到python2&#xff0c;有网友通过下载python2.7并配置环境变量解决了&#xff0c;这里有两个其他自测可用的方式&#xff0c;供各位作为参考。 报错的主要原因是因为【sass-loader】【node-sass】这两个依赖跟nodejs版本有…

批量DWG文件转换低版本(CAD图转低版本)——c#插件实现

此插件可实现指定路径下所有dwg文件&#xff08;包含子文件夹内dwg&#xff09;一键全部转为低版本&#xff08;包含2004、2007、2018版本&#xff0c;也可定制指定版本&#xff09;。效果如下&#xff1a; &#xff08;使用方法&#xff1a;命令行输入 “netload” 加载插件&…

无管理员权限 LCU auth-token、port 获取(全网首发 go)

一&#xff1a; 提要&#xff1a; 参考项目&#xff1a; https://github.com/Zzaphkiel/Seraphine 想做一个 lol 查战绩的软件&#xff0c;并且满足自己的需求&#xff08;把混子和大爹都表示出来&#xff09;&#xff0c;做的第一步就是获取 lcu token &#xff0c;网上清一色…

STM32F407ZGT6-UCOSIII笔记6:UCOS-III软件定时器

今日学习使用UCOS系统的软件定时器功能 本文学习与程序编写基于 正点原子的 STM32F1 UCOS开发手册 文章提供测试代码讲解、完整工程下载、测试效果图 软件定时器卡柱UCOS III 系统问题解决 目录 UCOS-III 软件定时器&#xff1a; 单次定时器&#xff1a; 周期定时器: 开启软…

金碟中间件-AAS-V10.0安装

金蝶中间件AAS-V10.0 AAS-V10.0安装 1.解压AAS-v10.0安装包 unzip AAS-V10.zip2.更新license.xml cd /root/ApusicAS/aas# 这里要将license复制到该路径 [rootvdb1 aas]# ls bin docs jmods lib modules templates config domains …

Reactor 响应式编程(第四篇:Spring Security Reactive)

系列文章目录 Reactor 响应式编程&#xff08;第一篇&#xff1a;Reactor核心&#xff09; Reactor 响应式编程&#xff08;第二篇&#xff1a;Spring Webflux&#xff09; Reactor 响应式编程&#xff08;第三篇&#xff1a;R2DBC&#xff09; Reactor 响应式编程&#xff08…

【Qt】信号、槽

目录 一、信号和槽的基本概念 二、connect函数&#xff1a;关联信号和槽 例子&#xff1a; 三、自定义信号和槽 1.自定义槽函数 2.自定义信号函数 例子&#xff1a; 四、带参的信号和槽 例子&#xff1a; 五、Q_OBJECT宏 六、断开信号和槽的连接 例子&#xff1a; …

PCIE概述

PCIE概述 文章目录 PCIE概述前言一、应用场景二、PCIE理论2.1 硬件2.2 拓扑结构&#xff1a;处理器和设备之间的关系2.3 速率2.4 层次接口2.5 四种请求类型2.5.1 bar空间2.5.2 memory2.5.3 IO2.5.4 configuration2.5.5 message 前言 参考链接&#xff1a; pcie总线知识点解析 …

Android Studio创建新项目并引入第三方so外部aar库驱动NFC读写器读写IC卡

本示例使用设备&#xff1a;https://item.taobao.com/item.htm?spma21dvs.23580594.0.0.52de2c1bbW3AUC&ftt&id615391857885 一、打开Android Studio,点击 File> New>New project 菜单&#xff0c;选择 要创建的项目模版&#xff0c;点击 Next 二、输入项目名称…

NX系列-使用 `nmcli` 命令创建 Wi-Fi 热点并设置固定 IP 地址

使用 nmcli 命令创建 Wi-Fi 热点并设置固定 IP 地址 一、前言 在一些场景下&#xff0c;我们需要将计算机或嵌入式设备&#xff08;例如 NVIDIA Orin NX&#xff09;转换为 Wi-Fi 热点&#xff0c;以便其他设备&#xff08;如手机、笔记本等&#xff09;能够连接并使用该设备…

用docker快速安装电子白板Excalidraw绘制流程图

注&#xff1a;本文操作以debian12.8 最小化安装环境为host系统。 一、彻底卸载原有的残留 apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras 二、设置docker的安装源 # Add Dockers official G…

mac 如何开启指定端口供外部访问?

前言 需要 mac 上开放指定端口&#xff0c;指定 ip 访问 解决 在 macOS 上开放一个端口&#xff0c;并指定只能特定的 IP 访问&#xff0c;可以使用 macOS 内置的 pfctl(Packet Filter)工具来实现。 1、 编辑 pf 配置文件&#xff1a; 打开 /etc/pf.conf 文件进行编辑。 可以使…