01 数据库和SQL语言概述
概述
数据库是按照数据结构来组织、存储和管理数据的建立在计算机存储设备上的仓库;就是存储数据的仓库
是一个以某种组织方式存储在磁盘上的数据的集合
数据库的分类
网络数据库
网络数据库是指把数据库技术引入到计算机网络系统中,借助于网络技术将存储于数据库中的大量信息及时发布出去;而计算机网络借助于成熟的数据库技术对网络中的各种数据进行有效管理,并实现用户与网络中的数据库进行实时动态数据交互
层级数据库
层级结构模型实质上是一种有根节点的定向有序树
关系数据库
关系数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据
关系模型主要是由 关系数据结构、关系操作结构,关系完整性约束 3个部分组成
- 关系数据结构:指的是数据以什么方式来存储:主要以一种二维表(数据库表)的形式存储
- 关系操作集合:如何来关联和管理对应的存储数据:各种SQL指令
- 关系完整性约束:数据内部有对应的关联关系以及数据与数据之前也有对应的关系
一些典型的关系型数据库:
小型:Microsoft Access
SQLite
中型:SQL Sever
Mysql
大型:Oracle
DB2
另外的分类
数据库的另外一种分类区别:按照存储介质(磁盘和内存)分类
关系型数据库:存储在 磁盘 中
非关系型数据库:存储在 内存 中
SQL语言
结构化查询语言(Structured Squery Langurage),简称SQL。是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存储数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名
SQL语言的组成
1、数据查询语言--DQL
也称为 数据检索语句,主要是从表中获取/查询数据。代表指令:select / show
2、 数据操作语言--DML
也称为 动作查询语句,主要用于 添加INSERT、更新UPDATE、删除DELETE 表中的行
3、 事务处理语言--TPL
专门用于事务安全处理(但是并不是所有的关系型数据库都提供事务安全处理的),它的语句能确保被 数据操作语句 影响的表的所有行及时得以更新,其TPL语句包括:BEGIN、TRANSACTION、COMMIT和ROLLBACK
4、 数据控制语言--DCL
它的语句主要是通过 GRANT 或 REVOKE 获得许可,确定单个用户和用户组对数据库对象的访问。专门用于权限管理
5、 数据定语语言--DDL
主要是可以在数据库中创建新表(CREATE TABLE)或删除表(DEOP TABLE),为表加入索引等。专门用于结果管理
SQL 语法特点
1、 SQL 对关键字的大小写不敏感
2、 SQL语句可以以单行或者多行书写,以分行结束
3、 SQL注释
--- 单行注释 ---后面一定要加空格
# 单行注释 #后面可以不加空格
/*
代码块注释:
这个是注释内容
*/
SQL和数据库管理系统的关系
- SQL是一种用于操作数据库的语言,SQL适用于所有关系型数据库。
- MySQL、Oracle、SQLServer是一个数据库软件,这些数据库软件支持标准SQL,也就是通过SQL可以使用这些软件,不过每一个数据库系统会在标准SQL的基础上扩展自己的SQL语法。
- 大部分的NoSQL数据库有自己的操作语言,对SQL支持的并不好