【MySQL表的增删改查】

news/2024/11/20 3:36:29/

MySQL表的增删改查

  • 1. CRUD
  • 2. 新增(Create)
    • 2.1 单行数据 + 全列插入
    • 2.2 多行数据 + 指定列插入
  • 3. 查询(Retrieve)
    • 3.1 全列查询
    • 3.2 指定列查询
    • 3.3 查询字段为表达式
    • 3.4 别名
    • 3.5 去重:DISTINCT
    • 3.6 排序:ORDER BY
  • 4. 修改(Update)
  • 5. 删除(Delete)

1. CRUD

注释:在SQL中可以使用“–空格+描述”来表示注释说明
CRUD 即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)四个单词的首字母缩写

2. 新增(Create)

INSERT [INTO] table_name[(column [, column] ...)] VALUES (value_list) [, (value_list)] ...value_list: value, [, value] 

案例:

-- 创建一张学生表
DROP TABLE IF EXISTS student;
CREATE TABLE student (id INT,sn INT comment '学号',name VARCHAR(20) comment '姓名',qq_mail VARCHAR(20) comment 'QQ邮箱'
);

2.1 单行数据 + 全列插入

 插入两条记录,value_list 数量必须和定义表的列的数量及顺序一致
INSERT INTO student VALUES (100, 10000, '唐三藏', NULL);
INSERT INTO student VALUES (101, 10001, '孙悟空', '11111');

2.2 多行数据 + 指定列插入

-- 插入两条记录,value_list 数量必须和指定列数量及顺序一致
INSERT INTO student (id, sn, name) VALUES(102, 20001, '曹孟德'),(103, 20002, '孙仲谋');

3. 查询(Retrieve)

语法:

SELECT[DISTINCT] {* | {column [, column] ...} [FROM table_name][WHERE ...][ORDER BY column [ASC | DESC], ...]LIMIT ...

案例:

-- 创建考试成绩表
DROP TABLE IF EXISTS exam_result;
CREATE TABLE exam_result (id INT,name VARCHAR(20),chinese DECIMAL(3,1),math DECIMAL(3,1),english DECIMAL(3,1)
);
-- 插入测试数据
INSERT INTO exam_result (id,name, chinese, math, english) VALUES(1,'唐三藏', 67, 98, 56),(2,'孙悟空', 87.5, 78, 77),(3,'猪悟能', 88, 98.5, 90),(4,'曹孟德', 82, 84, 67),(5,'刘玄德', 55.5, 85, 45),(6,'孙权', 70, 73, 78.5),(7,'宋公明', 75, 65, 30)

3.1 全列查询

通常情况下不建议使用 * 进行全列查询
-- 1. 查询的列越多,意味着需要传输的数据量越大;
-- 2. 可能会影响到索引的使用。(索引待后面课程讲解)
SELECT * FROM exam_result;

3.2 指定列查询

 指定列的顺序不需要按定义表的顺序来
SELECT id, name, english FROM exam_result;

3.3 查询字段为表达式

-- 表达式不包含字段
SELECT id, name, 10 FROM exam_result;
-- 表达式包含一个字段
SELECT id, name, english + 10 FROM exam_result;
-- 表达式包含多个字段
SELECT id, name, chinese + math + english FROM exam_result;

3.4 别名

为查询结果中的列指定别名,表示返回的结果集中,以别名作为该列的名称,语法:

SELECT column [AS] alias_name [...] FROM table_name;

3.5 去重:DISTINCT

使用DISTINCT关键字对某列数据进行去重

3.6 排序:ORDER BY

-- ASC 为升序(从小到大)
-- DESC 为降序(从大到小)
-- 默认为 ASC
SELECT ... FROM table_name [WHERE ...] ORDER BY column [ASC|DESC], [...];
  1. 没有 ORDER BY 子句的查询,返回的顺序是未定义的,永远不要依赖这个顺序
  2. NULL 数据排序,视为比任何值都小,升序出现在最上面,降序出现在最下面

逻辑运算符:
在这里插入图片描述

4. 修改(Update)

UPDATE table_name SET column = expr [, column = expr ...]    [WHERE ...] [ORDERBY ...] [LIMIT ...]

5. 删除(Delete)

DELETEFROM  table_name [WHERE ...] [ORDERBY ...] [LIMIT ...]

http://www.ppmy.cn/news/431779.html

相关文章

[转]如何保存Windows聚焦的锁屏壁纸

笔记本锁屏有时特别美,超想保存下来。可是笔记本锁屏是Windows聚焦,如图 这时,去哪里找锁屏图片呢? 第一步,找到图片位置。 首先,打开 C:\Users\ ,找到你的登陆用户,显示隐藏的项目…

保存Windows10随机聚焦锁屏壁纸

1、WinR键打开运行窗口,输入以下命令,打开壁纸路径 %localappdata%\Packages\Microsoft.Windows.ContentDeliveryManager_cw5n1h2txyewy\LocalState\Assets 2、修改图片格式方法: 复制打开文件路径下的文件至新文件夹,WinR键打开…

PyQt5桌面应用开发(21):界面设计结果自动测试(二)

本文目录 PyQt5桌面应用系列TDDUI为什么? 开发任务任务设计小码的工作unittest函数一览表 UI单元测试代码控件代码测试报告 总结 PyQt5桌面应用系列 PyQt5桌面应用开发(1):需求分析 PyQt5桌面应用开发(2)&a…

许多智能算法并不智能

数学的精髓在于不断寻找简洁而优美的解决方法,而智能的精髓也在于尽可能地避免繁琐的计算,通过更高效的方式来解决问题。从实践角度看,现代人工智能技术的发展,正是基于这个思路不断推进的。在机器学习领域中,人们通过…

从零开始搭建群众权益平台(五)

本篇博客我们将实现验证新的用户名或电子邮件,文件上传,支付,通知等内容 验证新的用户名或电子邮件: 在更新用户信息的路由中,我们需要确保新的用户名或电子邮件还没有被其他用户使用: app.put(/api/me, async (req, res) > {const { u…

PDF转word神器还支持更多格式,文件小运行又快!!

软件介绍: PDFConverter是一个专业PDF转换器,支持将PDF转换为Word(DOC/DOCX)、PowerPoint(PPT/PPTX)、Excel(XLS/XLSX)、HTML、TXT等格式,经测试对中文字符(简…

PDF文件阅读器可转word...

下载地址 https://wws.lanzoux.com/irB0pfo74rc 直接解压后就可以打开正常使用,支持编辑pdf文件,OCR文字识别,pdf转word,pdf转excel,pdf转ppt以及pdf转txt,最重要的是,方便查看电子版pdf书籍… …

pdf转换器注册码及pdf转换器使用步骤

PDF转换器是一款专业好用的PDF格式转换软件,界面简单,功能稳定,支持批量转换,操作起来非常方便,完美支持将pdf文档转成word文档。用户可以很容易的得到转换文字再利用、编辑文档。原布局、文本内容、图片、超链接可以很…