MySQL:开始深入其数据(一)DML

在上一章初识MySQL了解了如何定义数据库和数据表(DDL),接下来我们开始开始深入其数据,对其数据进行访问(DAL)、查询DQL()和操作(DML)等。

通过DML语句操作管理数据库数据

DML (数据操作语言) 是SQL语言中用于检索和操作数据库中数据的一组语法元素。主要包括INSERT、UPDATE、DELETE语句,以及用于过滤数据的WHERE子句。

DML(数据操作语言)

DML 是用于添加、修改、删除和查询数据库中数据的语言。它包括以下几种类型的语句:

  • INSERT 用于向数据库表中添加新的数据行。
  • UPDATE 用于修改数据库表中的现有数据。
  • DELETE 用于从数据库表中删除数据。
  • SELECT 用于查询数据库表中的数据(虽然通常被认为是DQL,但在某些情况下也被归类为DML)。

添加数据

使用 INSERT INTO 语句向表中添加新记录。

INSERT INTO 表名称 (1,2,3, ...)
VALUES (1,2,3, ...);

修改数据

使用 UPDATE 语句修改表中已存在的记录。

UPDATE 表名称
SET1 =1,2 =2, ...
WHERE 条件;

WHERE 条件子句

WHERE 子句用于限定 SELECTUPDATEDELETE 操作的数据范围。

SELECT 列名称 FROM 表名称
WHERE 条件;

UPDATE 表名称
SET 列名称 = 新值
WHERE 条件;

DELETE FROM 表名称
WHERE 条件;

删除数据

使用 DELETE 语句从表中删除记录。

DELETE FROM 表名称
WHERE 条件;

清空数据

使用 TRUNCATE TABLE 语句来删除表中的所有行,这个操作不能被回滚。与使用 DELETE 删除表中所有行相比,TRUNCATE TABLE 通常更快,并且会重置表的自增计数器(如果有的话)。

TRUNCATE TABLE 表名称;

请注意,TRUNCATE TABLE 不像 DELETE 语句那样使用 WHERE 子句,因为 TRUNCATE 操作会删除表中的所有行。另外,TRUNCATE 通常是一个不能回滚的操作,并且在某些数据库中,它可能需要更高的权限才能执行,因为它会直接删除数据,而不是一行行地删除。

请注意,没有提供WHERE子句将会影响表中的所有记录(在 UPDATEDELETE 操作中特别危险)。

在这里插入图片描述
建了一个公众号(音耀),后续会在上面更新一些有用资源和笔记,大家有兴趣的话可以加一下谢谢了。
在这里插入图片描述
大家现在看下面的sql语句都懂了吧

SELECT * FROM student;
SELECT * FROM grad1;

#添加
insert into grad1 (gradeid,gradename,remark1) VALUES(10,'大三','二楼')

INSERT into student VALUES (0,"wangwu",'123456','wangwu@qq.com')\

INSERT into student(stuname,gradeid)VALUES ("zhangliu",2);

INSERT into student VALUES(0'王五','13505692563','wangwu@qq.com')

INSERT into student(stuname,gradeid)VALUES ("zhangliu",2),("lishi",3),('wangwu',1);

#把所有电话为空的学生 改为18345699876
UPDATE student Set email = 'anojh@qq.com';
UPDATE student set phone ='18934567890'
WHERE phone is Null;

#把学生编号为2和 phone = '13668966987'的年级改为10,email= 'list@qq.com'
UPDATE student set gradeid=10,email='list@qq.com' 
WHERE stuno =2 and phone = '13668966987';

SELECT * FROM `subject`
#
update `subject` set classhour=classhour-10
WHERE classhour>110 and gradeid=1
 
#删除
DELETE from student;
TRUNCATE TABLE student;#效率高一点
drop TABLE student;

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Vue3列表触底请求(上手体验hooks新特性)

今天我们来聊一聊业务开发中的触底请求,其实就是分页的一种,只不过传统的分页感觉很丑而已,正好我的小博客最近在做触底分页,借此机会来说一说具体怎么实现的,以及来带领大家使用一下Vue3中的新特性hooks函数。 案例和…

uniapp小程序uView自定义tabbar

两年没接触小程序,又重新拾请来 前言 工具:HBuilder X 3.99版本 微信开发者工具 1.06 语言:vue2 uView 一、创建项目 先使用HBuilder X工具创建一个空白uni-app项目 uviewTest 二、安装和配置 HBuilder X找到工具-》插件安装-》插件市场 u…

Flutter中高级JSON处理:使用json_serializable进行深入定制

Flutter中高级JSON处理 使用json_serializable库进行深入定制 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at: https://jclee95.blog.csdn.netEmail: 291148484163.com. Shenzhen ChinaAddress of this article:https://blog.csdn.net/qq_28550263/article/details/1363…

vscode不能远程连接ubuntu18.04.6

目录 问题解决Portable Mode 安装vscode 补充说明学习资料 问题 vscode远程ssh连接ubuntu18.04.6时,出现如下提示框,单击Learn More后,定位到问题。Can I run VS Code Server on older Linux distributions? 原始是:需要glibc …

Mac 配置Clion Qt 调试显示变量值

背景 使用Clion开发Qt程序,在进行调试时,会看不到Qt类的变量值,只有指针形式,对于调试很不方便。 环境: Macbook ProCPU:M3Qt 5.15.13CLion 2023.3.4 解决方案 为了让Clion能显示Qt类的值,…

Ubuntu常用状态命令

目录 一、温度 1,查看CPU温度 2,查看硬盘温度 二、CPU状态 1,显示CPU的详细信息,包括型号、频率、缓存等 2,显示CPU架构、CPU核心数、线程数、频率等信息 三、登录状态 1,查看成功登录的用户 2&am…

4核8g服务器能支持多少人访问?

腾讯云4核8G服务器支持多少人在线访问?支持25人同时访问。实际上程序效率不同支持人数在线人数不同,公网带宽也是影响4核8G服务器并发数的一大因素,假设公网带宽太小,流量直接卡在入口,4核8G配置的CPU内存也会造成计算…

【代码解读】OpenCOOD框架之model模块(以PointPillarFCooper为例)

point_pillar_fcooper PointPillarFCooperPointPillarsPillarVFEPFNLayerPointPillarScatterBaseBEVBackboneDownsampleConvDoubleConv SpatialFusion检测头 (紧扣PointPillarFCooper的框架结构,一点一点看代码) PointPillarFCooper # -*- c…

在两台CentOS 7服务器上部署MinIO集群---准确

环境说明: 2台Centos7服务器 IP地址分别为172.16.1.9和172.16.1.10 1. 创建minio用户和目录 在两台服务器上执行以下命令: sudo useradd -m -d /app/minio minio sudo mkdir -p /app/minioData sudo mkdir -p /app/minio/logs sudo chown -R mini…

数据结构与算法(数组,栈,队列,链表,哈希表,搜索算法,排序算法,查找算法,策略算法,递归算法,二叉搜索树BST,动态规划算法)

文章目录 1 课程介绍1.1 前置知识1.2 为什么要学习算法1.3 大厂面试常见数据结构题目(基础)1.4 数据结构和算法的关系 2 数据结构2.1 数据结构概述2.1.1 数据结构是什么2.1.2 数据结构分类2.1.2.1 线性结构2.1.2.2 非线性结构2.1.2.3 小总结 2.1.3 数据结构范围 2.2 数组Array2…

leetcode 2.27

leetcode hot 100 哈希1.字母异位词分组2.最长连续序列 双指针1.盛最多水的容器2.和为 K 的子数组 数组1.除自身以外数组的乘积 哈希 1.字母异位词分组 49. 字母异位词分组 方法一:排序 由于互为字母异位词的两个字符串包含的字母相同,因此对两个字符…

Redis之一: 简介及环境安装搭建

什么是NoSQL? NoSQL,指的是非关系型的数据库。NoSQL有时也称作Not Only SQL的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称。 NoSQL用于超大规模数据的存储。(例如谷歌或Facebook每天为他们的用户收集万亿比特的数据&#xf…

python:时间序列谐波拟合与残差分析(利用最小二乘法确定模型参数)

作者:CSDN _养乐多_ 在科学研究中,经常需要对实验数据进行拟合,以找出其中的规律。本文介绍了如何使用Python中的NumPy、Matplotlib和SciPy库进行谐波拟合,并对拟合结果进行残差分析。 从下图可以看出,谐波拟合曲线…

Python算法100例-2.6 分糖果

完整源代码项目地址,关注博主私信源代码后可获取 1.问题描述2.问题分析3.算法设计4.确定程序框架5.完整的程序6.运行结果 1.问题描述 10个小孩围成一圈分糖果,老师分给第1个小孩10块,第2个小孩2块,第3个小孩8块&…

C#,弗洛伊德-瑞文斯特(Floyd-Rivest)算法与源代码

Robert W. Floyd 1 Floyd-Rivest 算法 Floyd-Rivest 算法是一种选择算法,用于在不同元素的数组中找到第k个最小元素。它类似于快速选择算法,但在实际运行中有更好的运行时间。 和 QuickSelect 一样,该算法基于分区的思想工作。对数组进行分…

istio学习记录——VirtualService详解

上一篇使用VirtualService进行了简单的流量控制,并通过Gateway将流量导入到了集群内。这一篇将更加深入的介绍 VirtualService。 k8s中有service,service能够对流量进行负载均衡,那为什么istio又引入了VirtualService呢,因为serv…

最新IE跳转Edge浏览器解决办法(2024.2.26)

最新IE跳转Edge浏览器解决办法(2024.2.26) 1. IE跳转原因1.1. 原先解决办法1.2. 最新解决办法1.3. 最后 1. IE跳转原因 关于IE跳转问题是由于在2023年2月14日,微软正式告别IE浏览器,导致很多使用Windows10系统的电脑在打开IE浏览…

300分钟吃透分布式缓存-17讲:如何理解、选择并使用Redis的核心数据类型?

Redis 数据类型 首先,来看一下 Redis 的核心数据类型。Redis 有 8 种核心数据类型,分别是 : & string 字符串类型; & list 列表类型; & set 集合类型; & sorted set 有序集合类型&…

多线程与高并发(1)- 线程基础、并发特性、锁、JUC工具

文章目录 第一章、线程基础知识一、基础概念1、什么是程序?2、什么是进程?3、什么是线程?4、什么是线程的切换(Context Switch)?5、单核CPU 设定多线程是否有意义?6、工作线程数是不是设置的越大…

【Linux】部署单机项目(自动化启动)---(图文并茂详细讲解)

目录 一 准备工作 1.1 连接服务器拷贝文件 1.2 解压 二 JDK安装 2.1 配置坏境变量 2.2 查看版本 三 Tomcat(自启动) 3.1 复制启动命令的位置 3.2 添加命令相关配置文件 3.2.1 配置jdk及tomcat目录 3.2.2 添加优先级 3.3 设置自启动命令 3.4 开放端口 四 My…