零基础想自学sql数据库应该从哪入手?

bdqnwqk2024-03-24基础1

1.什么是sql

结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。

2. 数据视图与数据模型

数据抽象共有三个层次:物理层、逻辑层和视图层。在逻辑层使用的数据模型包括两类:一类是概念数据模型,主要用于数据库设计,它能被一般的用户理解,与人的思维表达方式比较接近。这样的模型有实体-联系模型(ERM);另一类是逻辑数据模型,按计算机系统的观点对数据建模,使得数据更适合用计算机加以表示。

3.数据库语言

根据功能不同,可以将数据库系统提供的语言分成三种类型:1)数据定义语言(DDL),用于定义数据库模式;2)数据操纵语言(DML),用于对数据库进行查询和更新;3)数据控制语言(DCL),用于对数据进行权限管理。

4.数据库模式

根据数据的不同抽象层次,数据库有三级模式:物理模式(内模式)在物理层描述数据库中全体存储结构和存取方法,而逻辑模式(概念模式)则在逻辑层描述数据库中全体数据的逻辑结构和特征。在视图层也可分为若干模式,称为子模式(外模式),它描述了数据库用户能够看见和使用的局部数据的逻辑结构和特征。通常一个数据库只有一个物理模式和一个逻辑模式,但是子模式有若干个。

5. E-R图

E-R图由以下元素构成:1)矩形,代表实体型;2)椭圆,代表属性;3)菱形,代表联系;4)线段,将属性和实体性相连,或将实体型和联系相连。

6.关系模型

关系模型由关系数据结构、关系操作集合和关系完整性约束三部分构成。在关系模型中,现实世界实体以及实体间的联系均用关系来表示。关系模型允许定义三类完整性约束:实体完整性、参照完整性和用户定义完整性。其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件。实体完整性规则是:关系的主码不能取空值。参照完整性规则是:外码必须是另一个表中主码的有效值,或者是“空值”。

7.连接运算

连接运算是从两个关系的乘运算结果中选取属性间满足一定条件的元组,构成新的关系。连接运算有两种:等值连接和自然连接。自然连接要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。

8.SQL基本语法

数据库创建、表的创建、对表的增删查改等。

9.视图

视图能够简化用户的操作

视图是用户能以多种角度看待同一数据

视图对重构数据库提供了一定程度的逻辑独立性

视图能够对机密数据提供安全保护

10.事务

事务是一系列的数据库操作,是数据库应用程序的基本单元,是反映现实世界需要以完整单位提交的一项工作。事务是用户定义的一个数据库操作序列。

事务的四个特征:原子性、一致性、隔离性和持久性。

11. 触发器

一个触发器用来定义一个条件以及在该条件为真时需要执行的动作。通常,触发器的条件以断言的形式定义。动作以过程的形式定义。

12.索引

帮助MySQL高效获取数据的数据结构。提取句子主干,就可以得到索引的本质:索引是数据结构。

基本的sql学习基础如上

进阶学习

(1)sql执行顺序。当sql逻辑复杂后,sql的执行顺序就会非常重要。

sql执行顺序 - qanholas

(2)SQL ROW_NUMBER() OVER函数。用作分组排序,比如各个省份税收排名前20的企业。

SQL ROW_NUMBER() OVER函数的基本用法用法

(3)case when then else end。用作条件判断,比如将10、11、12、13……19、20岁的人群新生成一个字段‘年龄段’取值为10-20岁;聚合函数分别计算,如sum(case when 性别=‘男’ then 收入 end) as 收入_男,sum(case when 性别=‘n女’ then 收入 end) as 收入_女

SQL中的case when then else end用法

(4)select时加标签。例如select出某一特征user_id时新建一个tag字段作为用户的标签。

select user_id,'白领' as tag

(5)差集运算。例如取A集合中不包含在B集合的用户,做差集。