数据库系统原理:第四章:SQL与关系数据库基本操作

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: 学习

第一节:SQL概述

1.SQL是一种数据库查询和程序设计语言,主要用于存取数据以及查询、更新和管理关系数据库系统,
SQL的功能主要是查询,除此之外还包括数据定义、数据操纵、和数据控制等与数据库有关的一系列功能。
2.SQL具有以下特点:

(1)SQL不是某个特定数据库供应商专有的语言
(2)SQL简单易学
(3)SQL是一种强有力的语言,灵活使用其语言元素,可以进行非常复杂和高级的数据库操作
(4)SQL语句不区分大小写

3.数据定义语言的主要功能是对数据库及数据库中的各种对象进行创建、删除、修改等操作
4.数据定义语言的主要SQL语句有:

(1)CREATE
(2)ALTER
(3)DEOP

5.数据操纵语言的主要SQL语句有:

(1)select
(2)insert
(3)update
(4)delete

第二节:MySQL预备知识

1.MySQL是一个关系数据库管理系统(RDBMS)
2.MySQL具有客户/服务器体系结构,最初由瑞典Mysql AB公司开发
3.MySQL的特点:

(1)体积小
(2)速度快
(3)开放源代码
(4)遵循GPL(GNU通用公共许可证)

4.常量是指在程序运行过程中值不变的量
5.常量可以分为以下几类:

(1)字符串常量
(2)数值常量
(3)十六进制常量
(4)时间日期常量
(5)位字段值
(6)布尔值
(7)NULL值

6.表达式是常量、变量、列名、复杂计算、运算符和函数的组合
7.MySQL提供了很多内置函数,主要类型有:

(1)数学函数
(2)聚合函数
(3)字符串函数
(4)日期和时间函数
(5)加密函数
(6)流程控制函数
(7)格式化函数
(8)类型转换函数
(9)系统信息函数

8.目前使用MySQL数据库管理系统构建各种信息管理系统或互联网网站的应用环境,主要有两种架构方式:

(1)LAMP
(2)WAMP

第三节:数据定义

1.MySQL创建数据库:

create database、create schema

2.MySQL中用来修改已被创建的数据库的相关参数

alter database、alter schema

3.索引是指DBMS根据表中的一列或若干列按照一定顺序建立的列值与记录行之间的对应关系表
4.根据用途,索引在逻辑上分为三类:

(1)普通索引(index)
(2)唯一性索引(unique)
(3)主键(primary key)

5.在MySQL数据库中,创建索引的方式:

(1)create index
(2)create table
(3)alter table

第四节:数据更新

update tbl_name set col_name1 = expr1, col_name2 = expr2... where where_condition

insert into tbl_name(col_name1,...) values (expr1...)

insert into tbl_name set col_name = expr,...

第五节:数据查询

1.查询语句

select
all|distinct|distinctrow
form table_references
where where_condition
group by col_name|expr|position
asc|desc,...
limit row_count

2.聚合函数通常是数据库系统中一类系统内置函数,常用于对一组数值进行计算,然后返回单个值
3.MySQL中常用聚合函数有

(1)count
(2)max
(3)min
(4)sum
(5)avg
(6)std或stddev 其功能是返回给定表达式中所有值的标准值
(7)variance 其功能是返回给定表达式中所有值的方差
(8)group_concat
(9)bir_or
(10)bir_and
(11)bir_xor

第六节:视图

1.视图时一个或多个表或其他视图中通过查询语句导出的表,它也包含一系列带有名称的数据列和若干条数#####据行,并有自己的视图名
2.视图与基本表的区别是:

(1)视图不是数据库中真实的表,而是一张虚拟表,其结构和数据是建立在对数据库中真实表的查询基础上的
(2)视图的内容是有存储在数据库中进行查询操作的SQL语句来定义的,它的列数据与行数据均来自于定义视图的查询所引用的真实表,并且这些数据是在引用视图时动态生成的
(3)视图不是以数据集的形式存储在数据库中,它所对应的数据实际上是存储在视图所引用的真实表(基本表)中
(4)视图是用来查看存储在别处的数据的一种虚拟表,而其自身不存储数据

3.使用视图的优点:

(1)集中分散数据
(2)简化查询语句
(3)重用SQL语句
(4)保护数据安全
(5)共享所需数据
(6)更改数据格式

4.创建视图:

create view view_name as ...

5.对于可更新的视图,需要该视图中的行和基本表中的行之间具有一对一的关系
6.视图用于查询检索,主要体现在以下应用中:

(1)利用视图简化复杂的表连接
(2)使用视图重新格式化检索出的数据
(3)使用视图过滤不想要的数据

相关实践学习
体验RDS通用云盘核心能力
本次实验任务是创建一个云数据库RDS MySQL(通用云盘),并通过云服务器ECS对RDS MySQL实例进行压测,体验IO加速和IO突发带来的性能提升;并通过DMS执行DDL,将数据归档到OSS,再结合云盘缩容,体验数据归档带来的成本优势。
目录
打赏
0
1
0
0
7
分享
相关文章
SQL注入之万能密码:原理、实践与防御全解析
本文深入解析了“万能密码”攻击的运行机制及其危险性,通过实例展示了SQL注入的基本原理与变种形式。文章还提供了企业级防御方案,包括参数化查询、输入验证、权限控制及WAF规则配置等深度防御策略。同时,探讨了二阶注入和布尔盲注等新型攻击方式,并给出开发者自查清单。最后强调安全防护需持续改进,无绝对安全,建议使用成熟ORM框架并定期审计。技术内容仅供学习参考,严禁非法用途。
105 0
大数据新视界--大数据大厂之MySQL数据库课程设计:MySQL 数据库 SQL 语句调优方法详解(2-1)
本文深入介绍 MySQL 数据库 SQL 语句调优方法。涵盖分析查询执行计划,如使用 EXPLAIN 命令及理解关键指标;优化查询语句结构,包括避免子查询、减少函数使用、合理用索引列及避免 “OR”。还介绍了索引类型知识,如 B 树索引、哈希索引等。结合与 MySQL 数据库课程设计相关文章,强调 SQL 语句调优重要性。为提升数据库性能提供实用方法,适合数据库管理员和开发人员。
数据库编程:在PHP环境下使用SQL Server的方法。
看看你吧,就像一个调皮的小丑鱼在一片广阔的数据库海洋中游弋,一路上吞下大小数据如同海中的珍珠。不管有多少难关,只要记住这个流程,剩下的就只是探索未知的乐趣,沉浸在这个充满挑战的数据库海洋中。
53 16
如何优化SQL查询以提高数据库性能?
这篇文章以生动的比喻介绍了优化SQL查询的重要性及方法。它首先将未优化的SQL查询比作在自助餐厅贪多嚼不烂的行为,强调了只获取必要数据的必要性。接着,文章详细讲解了四种优化策略:**精简选择**(避免使用`SELECT *`)、**专业筛选**(利用`WHERE`缩小范围)、**高效联接**(索引和限制数据量)以及**使用索引**(加速搜索)。此外,还探讨了如何避免N+1查询问题、使用分页限制结果、理解执行计划以及定期维护数据库健康。通过这些技巧,可以显著提升数据库性能,让查询更高效流畅。
框架源码私享笔记(02)Mybatis核心框架原理 | 一条SQL透析核心组件功能特性
本文详细解构了MyBatis的工作机制,包括解析配置、创建连接、执行SQL、结果封装和关闭连接等步骤。文章还介绍了MyBatis的五大核心功能特性:支持动态SQL、缓存机制(一级和二级缓存)、插件扩展、延迟加载和SQL注解,帮助读者深入了解其高效灵活的设计理念。
关系数据库-数据库事务处理与ACID原则
本文详细介绍了关系数据库中的事务处理和ACID原则。通过事务处理,可以确保数据库操作的原子性、一致性、隔离性和持久性,从而提高数据的可靠性和一致性。在实际应用中,可以通过事务控制语句和适当的隔离级别,确保复杂操作的正确执行。希望本文能帮助您更好地理解和应用数据库事务处理,提高数据库系统的可靠性和性能。
129 18
【SQL技术】不同数据库引擎 SQL 优化方案剖析
不同数据库系统(MySQL、PostgreSQL、Doris、Hive)的SQL优化策略。存储引擎特点、SQL执行流程及常见操作(如条件查询、排序、聚合函数)的优化方法。针对各数据库,索引使用、分区裁剪、谓词下推等技术,并提供了具体的SQL示例。通用的SQL调优技巧,如避免使用`COUNT(DISTINCT)`、减少小文件问题、慎重使用`SELECT *`等。通过合理选择和应用这些优化策略,可以显著提升数据库查询性能和系统稳定性。
115 9
MySQL原理简介—10.SQL语句和执行计划
本文介绍了MySQL执行计划的相关概念及其优化方法。首先解释了什么是执行计划,它是SQL语句在查询时如何检索、筛选和排序数据的过程。接着详细描述了执行计划中常见的访问类型,如const、ref、range、index和all等,并分析了它们的性能特点。文中还探讨了多表关联查询的原理及优化策略,包括驱动表和被驱动表的选择。此外,文章讨论了全表扫描和索引的成本计算方法,以及MySQL如何通过成本估算选择最优执行计划。最后,介绍了explain命令的各个参数含义,帮助理解查询优化器的工作机制。通过这些内容,读者可以更好地理解和优化SQL查询性能。

热门文章

最新文章

目录
目录
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等