数据库与SQL基础
什么是sql?
SQL 是用于访问和处理数据库的标准的计算机语言。
我们日常工作当中,使用的是类似mySQL、oracle这类的数据库管理系统,这些数据库管理系统都遵循SQL语言。我们以来SQL语言来与数据库进行交流与沟通,对于从事变成与互联网行业的人来说,SQL语言是一个非常重要的语言。自从SQL加入了TIOBE编程语言排行榜,就一直保持在TOP10。
虽然 SQL 是一门 ANSI(American National Standards Institute 美国国家标准化组织)标准的计算机语言,但是仍然存在着多种不同版本的 SQL 语言。然而,为了与 ANSI 标准相兼容,它们必须以相似的方式共同地来支持一些主要的命令(比如 SELECT、UPDATE、DELETE、INSERT、WHERE 等等)。完全基于标准 SQL 的 RDBMS 很少,通常需要根据不同的 RDBMS 来编写特定的 SQL 语句,原则上,本课程介绍的是标准 SQL 的书写方式。
sql语言按照功能划分主要分为以下四个部分
DDL(data definition language):数据定义语言,我们用来定义我们的数据库对象,包括数据库、数据表、列等,通过ddl我们可以创建、删除修改数据库和表结构。
DML(data manipulation language):数据库操作语言,我们用它来操作和数据库相关的记录,比如增加、删除、修改数据表中的记录。
DCL(data control language):数据控制语言,我们用它来定义访问权限和安全级别
DQL(data query language ):数据查询语言,我们用它来查询想要的记录,他是SQL语言中的重中之重,在实际使用当中也是我们用到的最多的。
DDL(Data Definition Language,数据定义语言)
DDL(Data Definition Language,数据定义语言) 用来创建或者删除存储数据用的数据库以及数据库中的表等对象。DDL 包含以下几种指令。
- CREATE : 创建数据库和表等对象
- DROP : 删除数据库和表等对象
- ALTER : 修改数据库和表等对象的结构
DML(Data Manipulation Language,数据操纵语言)
DML(Data Manipulation Language,数据操纵语言) 用来查询或者变更表中的记录。DML 包含以下几种指令。
- SELECT :查询表中的数据
- INSERT :向表中插入新数据
- UPDATE :更新表中的数据
- DELETE :删除表中的数据
DCL(Data Control Language,数据控制语言)
DCL(Data Control Language,数据控制语言) 用来确认或者取消对数据库中的数据进行的变更。除此之外,还可以对 RDBMS 的用户是否有权限操作数据库中的对象(数据库表等)进行设定。DCL 包含以下几种指令。
- COMMIT : 确认对数据库中的数据进行的变更
- ROLLBACK : 取消对数据库中的数据进行的变更
- GRANT : 赋予用户操作权限
- REVOKE : 取消用户的操作权限
什么是dbms?
db dbs dbms:
db:database也就是数据库,数据库是存储数据得集合。
dbms:DataBase Management System 数据库管理系统,实际上他可以对多个数据库进行管理,相当于DBMS =多个DB+管理程序。
dbs database system 数据库系统,他是比数据库更大的概念,包括了数据库、数据库管理系统、以及数据库管理员(dba)
常见dbms介绍
数据库排名:
https://db-engines.com/en/ranking
数据库排名图片
从上图可以看除 使用最多的是oracle、mysql、SQL server
关系型数据库(RDBMS)是建立在关系模型基础上的数据库,sql就是关系型数据库的查询语言。
sql与nosql
相比sql,nosql泛指非关系型数据库,如上图中的key-value、Document等
NoSql分类很多,刚才提到的key-value、document、wide column、Search engine
sql如何执行?
oracle中如何执行
oracle sql执行图
mysql中如何执行
mysql sql执行图
什么是数据库表?
什么是分区?
什么是索引?
什么是视图?
什么是函数?
常用函数
更多数据库函数参考数据库SQL函数。
什么是存储过程?
存储过程使用
更多数据库函数参考数据库存储过程
其他学习资源
阿里的sql训练营:https://tianchi.aliyun.com/course/309/3584
菜鸟教程的sql:https://www.runoob.com/sql/sql-tutorial.html
w3c school 的sql教程:https://www.w3school.com.cn/sql/index.asp