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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 学习

第一节: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,再结合云盘缩容,体验数据归档带来的成本优势。
目录
相关文章
|
28天前
|
存储 关系型数据库 数据挖掘
【瑶池数据库动手活动及话题本周精选(体验ADB、 SelectDB,参与 RDS 迁移训练营)】(4.21-4.27)
本文为 “瑶池数据库动手活动及话题精选” 系列第一期,聚焦 SelectDB 日志分析、AnalyticDB Zero-ETL 集成、RDS 迁移训练营三大实战,设积分、实物等多重奖励,同步开启话题互动。点击链接参与,每周解锁数据库实战新场景。
|
24天前
|
人工智能 运维 关系型数据库
|
1月前
|
SQL 安全 关系型数据库
SQL注入之万能密码:原理、实践与防御全解析
本文深入解析了“万能密码”攻击的运行机制及其危险性,通过实例展示了SQL注入的基本原理与变种形式。文章还提供了企业级防御方案,包括参数化查询、输入验证、权限控制及WAF规则配置等深度防御策略。同时,探讨了二阶注入和布尔盲注等新型攻击方式,并给出开发者自查清单。最后强调安全防护需持续改进,无绝对安全,建议使用成熟ORM框架并定期审计。技术内容仅供学习参考,严禁非法用途。
162 0
|
21天前
|
存储 关系型数据库 OLAP
【瑶池数据库动手活动及话题本周精选(体验ADB、 SelectDB,参与 RDS 迁移训练营)】(4.28-5.4)
本文为“瑶池数据库动手活动及话题精选”系列第二期,聚焦SelectDB日志分析、AnalyticDB Zero - ETL集成、RDS迁移训练营三大实战,设积分、实物等多重奖励,同步开启话题互动。上一期活动反响热烈,错过的朋友别再犹豫!点击链接参与,每周解锁数据库实战新场景,抓紧时间,精彩不容错过!
|
1月前
|
SQL 人工智能 自然语言处理
Text2SQL圣经:从0到1精通Text2Sql(Chat2Sql)的原理,以及Text2Sql开源项目的使用
Text2SQL圣经:从0到1精通Text2Sql(Chat2Sql)的原理,以及Text2Sql开源项目的使用
Text2SQL圣经:从0到1精通Text2Sql(Chat2Sql)的原理,以及Text2Sql开源项目的使用
|
3月前
|
SQL 存储 关系型数据库
MySQL原理简介—1.SQL的执行流程
本文介绍了MySQL驱动、数据库连接池及SQL执行流程的关键组件和作用。主要内容包括:MySQL驱动用于建立Java系统与数据库的网络连接;数据库连接池提高多线程并发访问效率;MySQL中的连接池维护多个数据库连接并进行权限验证;网络连接由线程处理,监听请求并读取数据;SQL接口负责执行SQL语句;查询解析器将SQL语句解析为可执行逻辑;查询优化器选择最优查询路径;存储引擎接口负责实际的数据操作;执行器根据优化后的执行计划调用存储引擎接口完成SQL语句的执行。整个流程确保了高效、安全地处理SQL请求。
304 77
|
3月前
|
缓存 NoSQL Redis
Redis原理—2.单机数据库的实现
本文概述了Redis数据库的核心结构和操作机制。
Redis原理—2.单机数据库的实现
|
2月前
|
SQL 缓存 Java
框架源码私享笔记(02)Mybatis核心框架原理 | 一条SQL透析核心组件功能特性
本文详细解构了MyBatis的工作机制,包括解析配置、创建连接、执行SQL、结果封装和关闭连接等步骤。文章还介绍了MyBatis的五大核心功能特性:支持动态SQL、缓存机制(一级和二级缓存)、插件扩展、延迟加载和SQL注解,帮助读者深入了解其高效灵活的设计理念。
|
3月前
|
关系型数据库 数据库 数据安全/隐私保护
云数据库实战:基于阿里云RDS的Python应用开发与优化
在互联网时代,数据驱动的应用已成为企业竞争力的核心。阿里云RDS为开发者提供稳定高效的数据库托管服务,支持多种数据库引擎,具备自动化管理、高可用性和弹性扩展等优势。本文通过Python应用案例,从零开始搭建基于阿里云RDS的数据库应用,详细演示连接、CRUD操作及性能优化与安全管理实践,帮助读者快速上手并提升应用性能。
|
3月前
|
存储 SQL 数据库
关系数据库-数据库事务处理与ACID原则
本文详细介绍了关系数据库中的事务处理和ACID原则。通过事务处理,可以确保数据库操作的原子性、一致性、隔离性和持久性,从而提高数据的可靠性和一致性。在实际应用中,可以通过事务控制语句和适当的隔离级别,确保复杂操作的正确执行。希望本文能帮助您更好地理解和应用数据库事务处理,提高数据库系统的可靠性和性能。
149 18

热门文章

最新文章

AI助理

你好,我是AI助理

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