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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 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)使用视图过滤不想要的数据

相关实践学习
MySQL数据库快速部署实践
本场景主要介绍如何在一台配置了CentOS 7.7版本的ECS实例(云服务器)上安装mysql,执行mysql的常用操作,学习基本的SQL语句。
目录
相关文章
|
3月前
|
SQL 人工智能 Linux
SQL Server 2025 RC1 发布 - 从本地到云端的 AI 就绪企业数据库
SQL Server 2025 RC1 发布 - 从本地到云端的 AI 就绪企业数据库
361 5
SQL Server 2025 RC1 发布 - 从本地到云端的 AI 就绪企业数据库
|
2月前
|
SQL 存储 监控
SQL日志优化策略:提升数据库日志记录效率
通过以上方法结合起来运行调整方案, 可以显著地提升SQL环境下面向各种搜索引擎服务平台所需要满足标准条件下之数据库登记作业流程综合表现; 同时还能确保系统稳健运行并满越用户体验预期目标.
183 6
|
3月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS费用价格:MySQL、SQL Server、PostgreSQL和MariaDB引擎收费标准
阿里云RDS数据库支持MySQL、SQL Server、PostgreSQL、MariaDB,多种引擎优惠上线!MySQL倚天版88元/年,SQL Server 2核4G仅299元/年,PostgreSQL 227元/年起。高可用、可弹性伸缩,安全稳定。详情见官网活动页。
|
3月前
|
关系型数据库 分布式数据库 数据库
阿里云数据库收费价格:MySQL、PostgreSQL、SQL Server和MariaDB引擎费用整理
阿里云数据库提供多种类型,包括关系型与NoSQL,主流如PolarDB、RDS MySQL/PostgreSQL、Redis等。价格低至21元/月起,支持按需付费与优惠套餐,适用于各类应用场景。
|
3月前
|
SQL Oracle 关系型数据库
Oracle数据库创建表空间和索引的SQL语法示例
以上SQL语法提供了一种标准方式去组织Oracle数据库内部结构,并且通过合理使用可以显著改善查询速度及整体性能。需要注意,在实际应用过程当中应该根据具体业务需求、系统资源状况以及预期目标去合理规划并调整参数设置以达到最佳效果。
287 8
|
4月前
|
SQL 人工智能 Java
用 LangChain4j+Ollama 打造 Text-to-SQL AI Agent,数据库想问就问
本文介绍了如何利用AI技术简化SQL查询操作,让不懂技术的用户也能轻松从数据库中获取信息。通过本地部署PostgreSQL数据库和Ollama模型,结合Java代码,实现将自然语言问题自动转换为SQL查询,并将结果以易懂的方式呈现。整个流程简单直观,适合初学者动手实践,同时也展示了AI在数据查询中的潜力与局限。
434 8
|
3月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎,提供高性价比、稳定安全的云数据库服务,适用于多种行业与业务场景。
|
关系型数据库 MySQL 网络安全
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
|
SQL 存储 监控
SQL Server的并行实施如何优化?
【7月更文挑战第23天】SQL Server的并行实施如何优化?
529 13
解锁 SQL Server 2022的时间序列数据功能
【7月更文挑战第14天】要解锁SQL Server 2022的时间序列数据功能,可使用`generate_series`函数生成整数序列,例如:`SELECT value FROM generate_series(1, 10)。此外,`date_bucket`函数能按指定间隔(如周)对日期时间值分组,这些工具结合窗口函数和其他时间日期函数,能高效处理和分析时间序列数据。更多信息请参考官方文档和技术资料。
351 9

热门文章

最新文章