MySQL 程序设计课程复习大纲
作为一门基础的 MySQL 程序设计课程,期末复习的重点应放在常见的数据库操作、基本查询、数据建模、关系型数据库的规范化设计等方面。以下是针对基础课程的 MySQL 期末复习知识点。
1. MySQL 基础概念与数据库操作
-
数据库基础
- 数据库与表的概念
- 数据库管理系统(DBMS)的作用与功能
- MySQL 与其他数据库的区别
- MySQL 的安装与配置
-
基本的数据库操作
- 创建数据库:
CREATE DATABASE - 删除数据库:
DROP DATABASE - 查看当前数据库:
SHOW DATABASES - 选择数据库:
USE
- 创建数据库:
-
表的创建与管理
- 创建表:
CREATE TABLE - 删除表:
DROP TABLE - 修改表结构:
ALTER TABLE - 查看表结构:
DESCRIBE或SHOW COLUMNS - 表的约束:
PRIMARY KEY、NOT NULL、UNIQUE、FOREIGN KEY、CHECK(根据 MySQL 版本)
- 创建表:
2. 数据类型与表设计
-
常用数据类型
- 整数类型:
INT,TINYINT,BIGINT - 浮点类型:
FLOAT,DOUBLE,DECIMAL - 字符类型:
CHAR,VARCHAR,TEXT - 日期和时间类型:
DATE,DATETIME,TIMESTAMP,TIME - 布尔类型:
BOOLEAN(实际上是TINYINT(1)) - 枚举类型:
ENUM、SET
- 整数类型:
-
字段约束
- 主键(Primary Key):唯一且不能为空,自动索引
- 外键(Foreign Key):与其他表的字段建立关联,维护参照完整性
- 唯一约束(Unique):保证字段值唯一
- 非空约束(NOT NULL):字段不能为空
- 默认值(DEFAULT):指定默认值
-
表的设计规范
- 数据库范式:第一范式 (1NF)、第二范式 (2NF)、第三范式 (3NF) 的概念与应用
- 如何避免冗余数据,设计合适的主外键关系
- 规范化与反规范化的选择
3. SQL 查询语言
-
基本查询
SELECT查询:选择指定的列FROM子句:指定查询的表WHERE条件:筛选满足条件的记录ORDER BY排序:根据一个或多个字段排序,ASC(升序)、DESC(降序)LIMIT限制返回的记录数
-
常见的查询操作
- 使用
AND,OR,NOT来组合多个条件 - 模糊查询:
LIKE与通配符(%,_) IN:指定多个可能的值BETWEEN:范围查询NULL判断:IS NULL,IS NOT NULL
- 使用
-
聚合函数
- 常见聚合函数:
COUNT(),SUM(),AVG(),MIN(),MAX() GROUP BY:分组查询HAVING:对分组结果进行筛选(与WHERE的区别)
- 常见聚合函数:
4. 多表查询
-
连接查询
- 内连接(INNER JOIN):返回两个表中匹配的记录
- 左连接(LEFT JOIN):返回左表所有记录以及右表中匹配的记录
- 右连接(RIGHT JOIN):返回右表所有记录以及左表中匹配的记录
- 全连接(FULL JOIN):返回左右表所有记录(MySQL 不直接支持,需要使用
UNION) - 自连接:同一个表进行连接查询
-
子查询
- 单行子查询:返回单行单列的结果
- 多行子查询:使用
IN、ANY、ALL等关键字 - 关联子查询:在子查询中使用外部查询的字段
5. 数据操作语言(DML)
-
数据插入(INSERT)
- 插入单行数据:
INSERT INTO table (columns) VALUES (values) - 插入多行数据:
INSERT INTO table (columns) VALUES (value1), (value2) - 插入时使用默认值:
INSERT INTO table DEFAULT VALUES
- 插入单行数据:
-
数据更新(UPDATE)
- 更新指定字段的值:
UPDATE table SET column = value WHERE condition - 多行更新:一次更新多条记录
- 更新指定字段的值:
-
数据删除(DELETE)
- 删除指定记录:
DELETE FROM table WHERE condition - 删除所有记录:
DELETE FROM table(不删除表结构)
- 删除指定记录:
6. 数据控制语言(DCL)
-
权限控制
- 用户管理:
CREATE USER,DROP USER,GRANT,REVOKE - 用户权限分配:授予、撤销权限,例如:
GRANT SELECT, INSERT ON database TO 'user'@'host'
- 用户管理:
-
事务控制
- 事务的概念:ACID(原子性、一致性、隔离性、持久性)
- 事务命令:
START TRANSACTION,COMMIT,ROLLBACK - 锁机制:行级锁、表级锁
7. 索引与优化
-
索引的基本概念
- 索引的作用:提高查询效率
- 常见索引类型:单列索引、多列索引、唯一索引、全文索引
- 创建索引:
CREATE INDEX - 删除索引:
DROP INDEX
-
查询优化
- 使用
EXPLAIN查看查询执行计划 - 常见的查询优化技巧:避免全表扫描、减少子查询使用、合理设计索引
- 使用
8. 视图与存储过程
-
视图(View)
- 视图的概念与创建:
CREATE VIEW - 查询视图与删除视图:
SELECT FROM view、DROP VIEW
- 视图的概念与创建:
-
存储过程(Stored Procedures)
- 存储过程的创建与调用:
CREATE PROCEDURE和CALL - 参数:输入参数、输出参数、IN/OUT 参数
- 存储过程的使用场景与优化
- 存储过程的创建与调用:
9. 常见的错误与调试
- 常见的 SQL 错误
- 语法错误、数据类型错误、主外键约束错误
- 查询返回空结果或无匹配数据时的调试技巧
- 调试技巧
- 使用
SHOW ERRORS查看错误信息 - 分析查询的执行计划
- 使用
复习建议:
- 重点掌握:SELECT 查询、JOIN 操作、数据的增删改查、表结构设计、索引与优化。
- 多做练习:通过大量的 SQL 练习来巩固知识点,尤其是多表查询、嵌套查询和子查询。
相关文章:
MySQL 程序设计课程复习大纲
作为一门基础的 MySQL 程序设计课程,期末复习的重点应放在常见的数据库操作、基本查询、数据建模、关系型数据库的规范化设计等方面。以下是针对基础课程的 MySQL 期末复习知识点。 1. MySQL 基础概念与数据库操作 数据库基础 数据库与表的概念数据库管理系统&…...
C++ : STL容器(适配器)之stack、queue剖析
STL容器适配器之stack、queue剖析 一、stack、queue的接口(一)stack 接口说明(二)queue 接口说明 二、stack、queue的模拟实现(一)stack、queue是容器适配器stack、queue底层默认容器--deque1、deque概念及…...
nuxt3安装pinia报错500[vite-node] [ERR_LOAD_URL]问题解决
按照pinia官网步骤安装运送服务会报一个500[vite-node] [ERR_LOAD_URL]问题,查阅各个网站资料没有找到有用信息. 最后解决:在package.json中把pinia的版本给降回0.5.5版本之后就正常了 "dependencies": {"element-plus/icons-vue": "^2.3.1",&q…...
青少年编程能力等级测评CPA试卷(2)Python编程(一级)
青少年编程能力等级测评CPA试卷(2) Python编程(一级) (考试时间90分钟,满分100分) 一、单项选择题(共20题,每题3.5分,共70分) 下列语句的输出结果是( &am…...
wordpress判断page页与非page页
在WordPress中,你可以使用is_page()函数来判断当前页面是否为page类型。以下是如何使用这个函数的示例: <?php if (is_page()) {// 当前页面是page类型echo 这是一个Page页面; } else {// 当前页面不是page类型echo 这不是一个Page页面; } ?> …...
JavaScript 库-qs的使用
meta.query qs.parse(query)语句解析:qs.parse(query) qs 是一个常用的 JavaScript 库(全称为 query-string 或 qs),它用于处理 URL 查询字符串。qs.parse(query) 会将查询字符串解析成一个对象。举个例子: 假设有一…...
Leetcode 两数之和 Ⅱ - 输入有序数组
这段代码实现了在一个非递减排序的数组中找到两个数,使它们的和等于目标值的算法。算法使用了双指针技术,具体思想如下: 算法思想: 初始化指针:定义两个指针 left 和 right,分别指向数组的起始位置和末尾位…...
多处理器一致协议(MSI)协议详细介绍
多处理器一致协议 MSI 协议详细介绍 #mermaid-svg-2lc6AxM2mRiND4C0 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-2lc6AxM2mRiND4C0 .error-icon{fill:#552222;}#mermaid-svg-2lc6AxM2mRiND4C0 .error-text{fill:…...
SSH实验5密钥登录Linuxroot用户(免密登录)
当用户尝试通过SSH连接到远程服务器时,客户端会生成一对密钥:公钥和私钥。公钥被发送到远程服务器,并存储在服务器的~/.ssh/authorized_keys文件中。而私钥则由客户端保管,不会传输给服务器。 在连接过程中,客户端使用…...
2024 网鼎杯 - 青龙组 Web WP
2024 网鼎杯 - 青龙组 WEB - 02 打开容器一个登录界面,随便输入账号密码可以进到漏洞界面 这里有一个发送给boss的功能,一眼xss 有三个接口:/flag 、/update 、/submit /flag :要求boss才能访问,/update …...
ORACLE 闪回技术简介
闪回技术是若干技术的集合 包含对数据库整体的闪回 对表的闪回 对事务的闪回 经典面试题面试题:简述Oracle数据库闪回技术? 1.闪回Oracle数据库 2.闪回表 3.闪回事务 数据库闪回 要想实现数据库闪回 1.必须配置数据库的恢复区 SQL> show parameter …...
【笔记】LLC电路工作频点选择 2-2 开关管与滤波压力
LLC谐振变换器稳态工作波形分析 - 知乎,上面这篇文的结论相较MPS那篇文章的结论更严格。我们分析一下它的频点选择为什么会更窄: 1. LLC电路模型 电流滞后的特性就是电路呈感性注意这里也是开关管ZVS开通。 2.工作循环的波形 iLm的波形,最终…...
【CUDA】认识CUDA
目录 一、CUDA编程 二、第一个CUDA程序 三、CUDA关键字 四、device管理 4.1 初始化 4.2 Runtime API查询GPU信息 4.3 决定最佳GPU CUDA C 编程指南CUDA C在线文档:CUDA C 编程指南 CUDA是并行计算的平台和类C编程模型,能很容易的实现并行算法。只…...
Linux(CentOS)yum update -y 事故
CentOS版本:CentOS 7 事情经过: 1、安装好CentOS 7,系统自带JDK8,版本为:1.8.0_181 2、安装好JDK17,版本为:17.0.13 3、为了安装MySQL执行了 yum update -y(这个时候不知道该命令的…...
AI绘画赚钱秘籍!掌握ai绘画赚钱技巧,开启副业新篇章,ai绘画赚钱实战指南!
AI绘画赚钱:方法与策略 一、引言 随着人工智能技术的日益发展,AI绘画作为新兴领域,正逐渐成为赚钱的新途径。本文将从多个角度探讨AI绘画赚钱的完整策略,帮助读者深入了解并把握这一领域的商机。 二、AI绘画赚钱的主要方式…...
HCIP-HarmonyOS Application Developer V1.0 笔记(四)
平板/折叠屏设计 自适应动态布局:相对拉伸、相对缩放、延伸布局 响应式动态布局:挪移布局、重复布局、瀑布布局 Sketch 插件 设计系统:提供了 HarmonyOS 设计语言中定义的视觉参数和设计资源文件。 控件库:按类别组织控件&…...
【前端】Svelte:组件封装与使用
在 Svelte 中,组件化是开发的核心理念。将页面的不同部分封装成独立组件,不仅可以提升代码的复用性,还能让项目的结构更加清晰。在本文中,我们将介绍如何创建、封装、引入和使用 Svelte 组件,帮助你快速上手 Svelte 的…...
STM32标准库-待机模式
1.1 STM32待机模式简介 STM32单片机具有低功耗模式,包括睡眠、停止和待机三种。 运行状态下,HCLK为CPU提供时钟。HCLK由AHB预分频器分频后直接输出得到。 低功耗模式选择需考虑电源消耗、启动时间和唤醒源。 睡眠模式停CPU不停外设时钟; 停止…...
【论文笔记】The Power of Scale for Parameter-Efficient Prompt Tuning
🍎个人主页:小嗷犬的个人主页 🍊个人网站:小嗷犬的技术小站 🥭个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。 基本信息 标题: The Power of Scale for P…...
几个docker可用的镜像源
几个docker可用的镜像源 💐The Begin💐点点关注,收藏不迷路💐 sudo rm -rf /etc/docker/daemon.json sudo mkdir -p /etc/dockersudo tee /etc/docker/daemon.json <<-EOF {"registry-mirrors": ["https://d…...
如果男+女<总人数是正常的
因为有些情况,检测不到人脸:2026-05-13 10:38:48.753 29659-32208 <no-tag> com.example.inspiret W 检测到人体,但未能检测到人脸如果比总人数多是逻辑错误,但是少已经不是逻辑错误了&…...
Ubuntu 下 Rider 无法识别 Unreal Engine 的解决方法
Ubuntu 下 Rider 无法识别 Unreal Engine 的解决方法适用环境:JetBrains Rider Ubuntu Unreal Engine(含预发布/自定义安装版本)问题描述在 Ubuntu 上使用 Rider 打开 UE 项目时,IDE 提示找不到引擎,或 .uproject 文…...
3步搞定Windows部署自动化:MediaCreationTool.bat终极指南
3步搞定Windows部署自动化:MediaCreationTool.bat终极指南 【免费下载链接】MediaCreationTool.bat Universal MCT wrapper script for all Windows 10/11 versions from 1507 to 21H2! 项目地址: https://gitcode.com/gh_mirrors/me/MediaCreationTool.bat …...
OmenSuperHub终极指南:免费解锁惠普OMEN游戏本隐藏性能的完整教程
OmenSuperHub终极指南:免费解锁惠普OMEN游戏本隐藏性能的完整教程 【免费下载链接】OmenSuperHub 使用 WMI BIOS控制性能和风扇速度,自动解除DB功耗限制。 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub OmenSuperHub是一款专为惠普…...
0401开源光刻机整机控制与量检测系统(A级 中期集中攻坚)1. 开源套刻精度核心原理
开源光刻机整机控制与量检测系统(A级 中期集中攻坚) 1. 开源套刻精度核心原理(全参数开源硬核工程溯源喂饭级量化) 前置硬核声明 本文100%开源所有套刻精度核心参数、误差公式、耦合模型、制程阈值、国产实测短板数据,…...
极域电子教室破解终极指南:如何快速解除课堂控制实现学习自由
极域电子教室破解终极指南:如何快速解除课堂控制实现学习自由 【免费下载链接】JiYuTrainer 极域电子教室防控制软件, StudenMain.exe 破解 项目地址: https://gitcode.com/gh_mirrors/ji/JiYuTrainer 还在为极域电子教室的全屏控制而烦恼吗?你是…...
学术写作AI工具排雷指南:5款主流产品深度评测(涵盖毕业与发刊需求)
每逢毕业季,无论是图书馆还是自习室,总能看到为论文熬夜奋战的身影。随着人工智能的发展,使用AI工具辅助提升科研效率已成为许多本硕博学生的常规操作。然而,不少人却陷入了一个误区:以为随便找个对话型AI就能搞定一切…...
C#/.NET/.NET Core技术前沿周刊 | 第 70 期(2026年5.01-5.10)
前言C#/.NET/.NET Core技术前沿周刊,你的每周技术指南针!记录、追踪C#/.NET/.NET Core领域、生态的每周最新、最实用、最有价值的技术文章、社区动态、优质项目和学习资源等。让你时刻站在技术前沿,助力技术成长与视野拓宽。欢迎投稿、推荐或…...
商家怎么弄小程序店铺
去年10月有个做茶叶生意的武夷山商家找到我,说要弄个小程序店铺。我问他需求是什么,他说"就是能让客户在线买茶"。听起来简单,但实际做下来,整个过程走了不少弯路。我把时间线记录下来,给要弄小程序店铺的商…...
面向软件测试从业者的多模态AI系统评估体系构建指南
随着人工智能技术的飞速演进,多模态AI系统正逐渐从实验室走向广泛的产业应用。这类系统能够同时处理和理解文本、图像、音频、视频等多种模态的信息,并实现跨模态的语义融合与推理。对于软件测试从业者而言,评估此类系统的复杂性远超传统单模…...
