1 SQL介绍
SQL(Structured Query Language)是一种特定目的编程语言,用于管理关系数据库管理系统,或在关系流数据管理系统中进行流处理。
SQL基于关系代数和元组关系演算,包括定义数据定义语言和数据操纵语言。
SQL的范围包括数据插入、查询、更新和删除,即”增删改查“,数据库模式创建和修改,以及数据访问控制。
SQL在1986年成为美国国家标准学会(ANSI)的一项标准,在1987年成为国际标准组织(ISO)标准。
SQL适用于各大主流数据库,但SQL在不同数据库系统中并不完全通用,各家厂商均不同程度地加入了自家特性,这使得每个数据库的SQL代码并不具有完全的跨平台性。
2 数据库
数据库,简而言之,即电子文件存储柜,是以一定方式存储在一起、能共多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。
一个数据库通常是由多个表空间(Tablespace)构成。
常见数据库如下:
| 序 号 | 数据库 | 类 别 |
| 1 | Oracle | Relational,Multi-model |
| 2 | MySQL | Relational,Multi-model |
| 3 | Microsoft SQL Server | Relational,Multi-model |
| 4 | PostgreSQL | Relational,Multi-model |
| 5 | MongoDB | Document,Multi-model |
| 6 | IBM DB2 | Relational,Multi-model |
| 7 | Elasticsearch | Search engine,Multi-model |
| 8 | Redis | Key-value,Multi-model |
| 9 | SQLite | Relational |
| 10 | Access | Relational |
| 11 | Cassandra | Wide column |
| 12 | MariaDB | Relational,Multi-model |
| 13 | Splunk | Search engine |
| 14 | Hive | Relational |
| 15 | Teradata | Relational,Multi-model |
| 16 | Amazon DynamoDB | Multi-model |
| 17 | SAP Adaptive Server | Relational |
| 18 | Solr | Search engine |
| 19 | FileMaker | Relational |
| 20 | SAP HANA | Relational,Multi-model |
3 SQL分类
SQL语言可分为:
DDL【Data Definition Language】——数据定义语言(Create、Alter、Drop、Declare)
DML【Data Manupulation Language】——数据操纵语言(Select、Delete、Update、Insert)
DCL【Data Control Language】——数据控制语言(Grant、Revoke、Commit、Rollback)
DQL【Data Query Language】——数据查询语言(Select * from * where *)
SQL对大小写不敏感。
3.1 DDL语句
数据定义语言,就是定义关系模式、创建关系模式、修改关系模式、删除关系模式。
操作数据库中各种对象,包括数据库、表、索引、视图、函数、存储过程、触发器等。
执行DDL语句后,数据库都将提交当前事务,不能回滚,属于数据库结构层面的语言,主要针对表结构的操作。
(1)create database :创建新数据库
(2)alter database :修改数据库
(3)create table : 创建新数据表
(4)alter table : 变更(改变)数据库表
(5)drop table :删除表
(6)create index :创建索引
(7)create index : 删除索引
3.2 DML语句
数据操纵语言,主要针对数据表进行数据的插入、删除、修改的操作,由insert、update、delete、select语法组成。select放在DML中不是很严谨。
执行DML语句后,若DML语句没有被提交,将不会被其他会话看到;需要通过commit命令,提交DML命令方可完成数据表的变动。
在执行了DML命令之后,执行了DDL命令、DCL命令、用户退出、终止实例时,系统会自动触发commit命令,提交DML命令。
不同数据库通过DML语句操纵数据表内容的实现机制上均存在差异。
(1)select : 从数据库表中获取数据
(2)update : 更新数据库表中的数据
(3)delete :从数据库表中删除数据
(4)insert into : 向数据库表中插入数据
3.3 DCL语句
数据控制语言,用于授权或回收访问数据库的某些特权,并控制数据库操纵事务发生的时间及效果,能够对数据库进行监视。
常见的操纵,包括授权、取消授权、回滚、提交等操纵。
(1)Grant : 分配权限给用户
(2)Revoke :撤销用户的权限
(3)Commit :将当前事务的所有操作永久保存到数据库中,确保数据的持久性和一致性。
(4)Rollback :撤销当前事务的所有操作,回滚到事务开始前的状态。
(5)Deny : 拒绝权限
3.4 DQL语句
数据查询语言,主要用于数据库中数据查询,最常用的就是select语句。
(1)select : 用于查询数据表中数据。
浙公网安备 33010602011771号