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

简介: 学习

第一节: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语句。
目录
相关文章
|
12月前
|
存储 SQL 关系型数据库
mysql底层原理:索引、慢查询、 sql优化、事务、隔离级别、MVCC、redolog、undolog(图解+秒懂+史上最全)
mysql底层原理:索引、慢查询、 sql优化、事务、隔离级别、MVCC、redolog、undolog(图解+秒懂+史上最全)
mysql底层原理:索引、慢查询、 sql优化、事务、隔离级别、MVCC、redolog、undolog(图解+秒懂+史上最全)
|
9月前
|
SQL 关系型数据库 MySQL
阿里云RDS云数据库全解析:产品功能、收费标准与活动参考
与云服务器ECS一样,关系型数据库RDS也是很多用户上云必买的热门云产品之一,阿里云的云数据库RDS主要包含RDS MySQL、RDS SQL Server、RDS PostgreSQL、RDS MariaDB等几个关系型数据库,并且提供了容灾、备份、恢复、监控、迁移等方面的全套解决方案,帮助您解决数据库运维的烦恼。本文为大家介绍阿里云的云数据库 RDS主要产品及计费方式、收费标准以及活动等相关情况,以供参考。
|
10月前
|
关系型数据库 MySQL 数据库
自建数据库如何迁移至RDS MySQL实例
数据库迁移是一项复杂且耗时的工程,需考虑数据安全、完整性及业务中断影响。使用阿里云数据传输服务DTS,可快速、平滑完成迁移任务,将应用停机时间降至分钟级。您还可通过全量备份自建数据库并恢复至RDS MySQL实例,实现间接迁移上云。
|
10月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS费用价格:MySQL、SQL Server、PostgreSQL和MariaDB引擎收费标准
阿里云RDS数据库支持MySQL、SQL Server、PostgreSQL、MariaDB,多种引擎优惠上线!MySQL倚天版88元/年,SQL Server 2核4G仅299元/年,PostgreSQL 227元/年起。高可用、可弹性伸缩,安全稳定。详情见官网活动页。
1569 152
|
10月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎,提供高性价比、稳定安全的云数据库服务,适用于多种行业与业务场景。
1095 156
|
存储 关系型数据库 数据挖掘
【瑶池数据库动手活动及话题本周精选(体验ADB、 SelectDB,参与 RDS 迁移训练营)】(4.21-4.27)
本文为 “瑶池数据库动手活动及话题精选” 系列第一期,聚焦 SelectDB 日志分析、AnalyticDB Zero-ETL 集成、RDS 迁移训练营三大实战,设积分、实物等多重奖励,同步开启话题互动。点击链接参与,每周解锁数据库实战新场景。
|
人工智能 运维 关系型数据库
|
SQL 安全 关系型数据库
SQL注入之万能密码:原理、实践与防御全解析
本文深入解析了“万能密码”攻击的运行机制及其危险性,通过实例展示了SQL注入的基本原理与变种形式。文章还提供了企业级防御方案,包括参数化查询、输入验证、权限控制及WAF规则配置等深度防御策略。同时,探讨了二阶注入和布尔盲注等新型攻击方式,并给出开发者自查清单。最后强调安全防护需持续改进,无绝对安全,建议使用成熟ORM框架并定期审计。技术内容仅供学习参考,严禁非法用途。
1995 0
|
10月前
|
弹性计算 关系型数据库 数据库
云数据库RDS数据库迁移上云
阿里云RDS是一种安全稳定、高性价比的在线数据库服务,支持弹性伸缩,帮助用户轻松部署与扩展数据库。提供实例创建、白名单设置、数据库与账号管理、便捷连接等功能,简化运维操作,保障数据安全。

热门文章

最新文章