mysql的基本知识点——数据增删查

写相关

在SQL中,用于写入数据的基本语句主要有两个:INSERT INTO 和 UPDATE。这两个语句分别用于向表中插入新记录和更新现有记录。

INSERT INTO 语句

INSERT INTO 语句用于向数据库表中插入新的行/记录。其基本语法如下:

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

例如,假设我们有一个名为 students 的表,包含 id, name, 和 age 三列。要向这个表中插入一条新记录,可以使用以下语句:

INSERT INTO students (id, name, age)  
VALUES (1, '张三', 20);

这条语句将在 students 表中插入一条新记录,其中 id 为1,name 为’张三’,age 为20。

UPDATE 语句

UPDATE 语句用于修改数据库表中已有的记录。其基本语法如下:

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

其中,WHERE 子句用于指定要更新的记录的条件。如果不使用 WHERE 子句,将会更新表中的所有记录。
继续上面的例子,如果我们想要将 students 表中 id 为1的学生的年龄更新为21,可以使用以下语句:

UPDATE students  
SET age = 21  
WHERE id = 1;

这条语句将只更新 id 为1的学生的年龄,将其设置为21。

查相关

SQL查询中的一些过滤方法

在SQL中,过滤数据是一个常见的操作,它允许你根据特定的条件选择或排除记录。以下是SQL中常用的过滤方法:

WHERE 子句:

这是SQL中最基本的过滤方法。它允许你根据一个或多个条件来过滤记录。
示例:选择所有年龄大于25的员工。

SELECT * FROM employees WHERE age > 25;

IN 操作符:

用于过滤某个字段的值在指定列表中的记录。
示例:选择部门ID为1、3或5的员工。

SELECT * FROM employees WHERE department_id IN (1, 3, 5);

BETWEEN 操作符:

用于过滤在某个范围内的记录。
示例:选择薪水在5000到10000之间的员工。

SELECT * FROM employees WHERE salary BETWEEN 5000 AND 10000;

LIKE 操作符:

用于基于模式匹配来过滤记录,通常与通配符(如%和_)一起使用。
示例:选择名字以“Li”开头的员工。

SELECT * FROM employees WHERE name LIKE 'Li%';

NOT 操作符:

用于排除满足特定条件的记录。
示例:选择不是经理的员工。

SELECT * FROM employees WHERE NOT position = 'Manager';

多个条件的组合:

使用AND和OR来组合多个条件。
示例:选择部门为“销售”且薪水超过8000的员工。

SELECT * FROM employees WHERE department = 'Sales' AND salary > 8000;

子查询:

你可以在WHERE子句中使用子查询来过滤记录。子查询可以返回单个值或多个值。
示例:选择薪水高于平均薪水的员工。

SELECT * FROM employees WHERE salary > (SELECT AVG(salary) FROM employees);

CASE 语句:

虽然这不是一个直接的过滤方法,但CASE语句可以在查询中根据条件返回不同的值,这可以用于基于条件的复杂过滤或计算。
示例:根据员工的薪水水平为他们分类。

SELECT   name,   salary,  CASE   WHEN salary < 5000 THEN 'Low'  WHEN salary BETWEEN 5000 AND 10000 THEN 'Medium'  ELSE 'High'  END AS salary_level  
FROM employees;

DISTINCT:

虽然这不是一个过滤方法,但DISTINCT关键字可以用于返回唯一不同的值,这有助于消除重复的记录。
示例:选择所有不同的部门ID。

sql`SELECT DISTINCT department_id FROM employees;`

EXISTS:

EXISTS用于检查子查询是否返回任何记录。如果子查询返回至少一个记录,则EXISTS条件为真。
示例:选择有下属的员工。

SELECT * FROM employees e1  
WHERE EXISTS (  SELECT 1 FROM employees e2 WHERE e2.manager_id = e1.employee_id  
);

删相关

在SQL中,用于删除数据的基本语句是DELETE。DELETE语句用于从数据库表中删除一行或多行记录。以下是DELETE语句的基本语法:

DELETE FROM 表名  
WHERE 条件;
  • 表名:要从中删除记录的表的名称。
  • WHERE 条件:指定要删除哪些记录的条件。如果省略WHERE子句,将删除表中的所有记录。
  • 重要提示:使用DELETE语句时必须非常小心,特别是在没有指定WHERE子句的情况下,因为这将删除表中的所有记录。在执行删除操作之前,务必备份重要数据或确保你的操作是预期的。

删除指定条件的记录:
假设有一个名为students的表,包含学生的信息,我们想要删除年龄大于25岁的学生记录:

DELETE FROM students  
WHERE age > 25;
  • 这条语句将删除students表中所有年龄大于25岁的学生的记录。

删除所有记录(谨慎使用):
如果你想删除表中的所有记录,你可以使用以下语句:

DELETE FROM students;
  • 这条语句将删除students表中的所有记录,但表结构将保持不变。如果你想完全删除表及其结构,你应该使用DROP TABLE语句。

注意:在某些数据库管理系统中,如MySQL,如果你想删除表中的所有记录,但又想保留表结构,并希望重置任何自增字段的计数器,你可能会考虑使用TRUNCATE TABLE语句,而不是DELETE语句。例如:

TRUNCATE TABLE students;
  • 这条语句将删除students表中的所有记录,并且通常比使用DELETE语句更快,因为它不记录任何单独的删除操作。但是,不是所有的数据库系统都支持TRUNCATE TABLE语句,因此你需要根据你所使用的数据库系统来确定是否可用。

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

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

相关文章

【Qt学习笔记】(三)--编写上位机软件(ui设置、样式表serialport串口接收数据、Qchart显示波形)

声明&#xff1a;本人水平有限&#xff0c;博客可能存在部分错误的地方&#xff0c;请广大读者谅解并向本人反馈错误。    这段时间大部分都是在学Qt&#xff0c;前面想着跟着书一章章的学&#xff0c;但是发现这个效率极低&#xff0c;所以就改变了学习的方法&#xff0c;那…

蓝桥杯java组 螺旋折线

题目描述 如图所示的螺旋折线经过平面上所有整点恰好一次。 对于整点(X, Y)&#xff0c;我们定义它到原点的距离dis(X, Y)是从原点到(X, Y)的螺旋折线段的长度。 例如dis(0, 1)3, dis(-2, -1)9 给出整点坐标(X, Y)&#xff0c;你能计算出dis(X, Y)吗&#xff1f; 【输入格…

C语言判断回⽂字符串

使用C语言判断这个字符串是否是回⽂字符串&#xff08;字符串的长度小于等于30&#xff0c;字符串不包含空格&#xff09;&#xff0c;如果是回文字符串输出Yes&#xff0c;如果不是回⽂字符串输出No。 回文串:是一个正读和反读都一样的字符串 方法:1.使用两个指针分别放置在…

处理器方法的返回值

返回ModelAndView: 若处理器方法处理完后&#xff0c;需要跳转到其它资源&#xff0c;且又要在跳转的资源间传递数据&#xff0c;此时处理器方法返回ModelAndView 比较好。当然&#xff0c;若要返回 ModelAndView&#xff0c;则处理器方法中 需要定义ModelAndView对象。 在使用…

Python 深度学习第二版(GPT 重译)(四)

九、高级计算机视觉深度学习 本章涵盖 计算机视觉的不同分支&#xff1a;图像分类、图像分割、目标检测 现代卷积神经网络架构模式&#xff1a;残差连接、批量归一化、深度可分离卷积 可视化和解释卷积神经网络学习的技术 上一章通过简单模型&#xff08;一堆Conv2D和MaxP…

什么是高防CDN?

高防CDN&#xff08;Content Delivery Network&#xff0c;内容分发网络&#xff09;在网络安全中的作用非常重要。它通过一种特别的方式来保护网站和网络应用程序免受大规模DDoS攻击。以下是它的一些主要优势&#xff1a; 01 分布式防护 高防CDN通过在全球各地设立大量的节点…

深入解析Kafka中的动态更新模式

欢迎来到我的博客&#xff0c;代码的世界里&#xff0c;每一行都是一个故事 深入解析Kafka中的动态更新模式 前言动态更新模式的基础概念动态更新模式的概念&#xff1a;解决的问题和引入的原因&#xff1a; 原理解析与工作流程动态更新模式的工作原理和工作流程&#xff1a;示…

JavaSE(上)-Day7

JavaSE&#xff08;上&#xff09;-Day7 类和对象封装privatethis构造方法标准JavaBean对象的内存图执行Test类main方法生成一个User对象的内存过程 基本数据类型和引用数据类型的区别this的内存原理成员变量和局部变量区别 类和对象 类是设计图纸&#xff0c;对象是真正的实例…

【联邦学习贡献评估——联邦学习优化】

1. 模型复用 贡献评估往往需要计算不同参与方组合的数据价值, 然而模型相关的价值度量指标, 比如测试准确率, 需要基于数据重新训练并评测模型, 这导致了高昂的数据价值度量代价. 为了避免重复训练联邦模型的代价, 考虑复用全体参与方组合下训练联邦模型时各参与方的梯度更新,…

【NTN 卫星通信】 车辆物联网设备通过NTN和TN切换的应用场景

1 场景描述 对于有两个3GPP无线接入网服务的大面积农田和农场&#xff0c;物联网设备可以通过NTN和TN接入网同时受益于5G系统的双转向数据连接能力。   在这个用例中&#xff0c;我们有一个广域的农业自动化应用系统来控制农业车辆&#xff0c;例如&#xff0c;一个装有数百个…

大模型提示学习样本量有玄机,自适应调节方法好

引言&#xff1a;探索文本分类中的个性化示例数量 在自然语言处理&#xff08;NLP&#xff09;领域&#xff0c;预测模型已经从零开始训练演变为使用标记数据对预训练模型进行微调。这种微调的极端形式涉及到上下文学习&#xff08;In-Context Learning, ICL&#xff09;&…

leetcode代码记录(删除字符串中的所有相邻重复项

目录 1. 题目&#xff1a;2. 我的代码&#xff1a;小结&#xff1a; 1. 题目&#xff1a; 给出由小写字母组成的字符串 S&#xff0c;重复项删除操作会选择两个相邻且相同的字母&#xff0c;并删除它们。 在 S 上反复执行重复项删除操作&#xff0c;直到无法继续删除。 在完成…

LeetCode_30_困难_串联所有单词的子串

文章目录 1. 题目2. 思路及代码实现详解&#xff08;Python&#xff09;2.1 滑动窗口 1. 题目 给定一个字符串 s s s 和一个字符串数组 w o r d s words words。 w o r d s words words 中所有字符串 长度相同。 s s s 中的 串联子串 是指一个包含 w o r d s words words …

Leetcode 3081. Replace Question Marks in String to Minimize Its Value

Leetcode 3081. Replace Question Marks in String to Minimize Its Value 1. 解题思路2. 代码实现 题目链接&#xff1a;3081. Replace Question Marks in String to Minimize Its Value 1. 解题思路 这一题其实感觉还是有点难的&#xff0c;主要一开始确实走了弯路&#x…

Python 异步编程(Async/Await)

Python 中的异步编程是一种编程模式&#xff0c;它允许程序在等待 I/O 操作&#xff08;如网络请求、文件读写等&#xff09;的同时继续执行其他任务&#xff0c;而不会阻塞整个程序。这种方式可以提高程序的效率和响应性。 在 Python 中&#xff0c;异步编程的核心概念是使用…

数据结构:9、二叉树

在上堆中已经介绍了什么是二叉树&#xff0c;所以这里直接写二叉树实现。 1、二叉树的构建 二叉树的构建第一步肯定是初始化&#xff0c;也就是构建这棵树&#xff0c;这里是利用前序遍历构建的&#xff0c;因为这里是利用链表形式创建的二叉树&#xff0c;所以这里就是和之前…

在java中当main方法执行完,堆内存会自己释放内存吗?(附解释)

在Java中&#xff0c;堆内存中的对象由Java虚拟机&#xff08;JVM&#xff09;的垃圾回收器自动进行内存管理和释放。当一个对象不再被引用时&#xff0c;垃圾回收器会在适当的时机自动回收该对象所占用的内存空间。这意味着在main方法执行完毕后&#xff0c;堆内存中的对象会被…

redis常用五大数据类型

目录 Key 字符串String 常用命令 列表List 常用命令 集合Set 常用命令 Hash哈希 键值对集合 有序集合Zset Redis新数据类型 Key set key value...添加keykeys *查看当前库中所有的keyexist key该key是否存在type keykey的类型del key删除keyunlink key根据value选择非阻塞…

Tomcat的Host Manager页面403的原因和解决办法

目录 背景 原因: 解决方案 背景 一直报错 403 Access Denied You are not authorized to view this page.By default the Host Manager is only accessible from a browser running on the same machine as Tomcat. If you wish to modify this restriction, youll need to…

C++ UML类图

参考文章&#xff1a; &#xff08;1&#xff09;C UML类图详解 &#xff08;2&#xff09;C基础——用C实例理解UML类图 &#xff08;3&#xff09;C设计模式——UML类图 &#xff08;4&#xff09;[UML] 类图介绍 —— 程序员&#xff08;灵魂画手&#xff09;必备画图技能之…