sql语句学习教程01_sql语言基础_SQL简介

教程发布:风哥 教程分类:MySQL教程 更新日期:2020-03-04 浏览学习:5031

1.  SQL语言介绍
SQL(Structured Query Language,结构化查询语言)语言是一种在关系数据库中定义和操作数据的标准语言,使用户与数据库之间进行交流的接口。SQL语言已经被大多数关系数据库管理系统采用。
SQL是1974年由Boyee和Chamberlin提出,并在IBM公司研制的关系数据库原型系统System R上实现的。1986年10月,美国国家标准局(ANSI)的数据库委员会批准了SQL作为关系数据库语言的美国标准,同年,公布了标准SQL文本。现在,SQL已经成为关系数据库领域中的一种主流语言。
SQL的优势为所有类型的用户提供了好处,包括应用程序编程人员、数据库管理员、管理者和最终用户。从技术上讲,SQL是一种数据子语言。SQL的目的是为关系数据库(如Oracle数据库)提供接口,所有SQL语句都是数据库的指令。在使SQL与C和BASIC等通用编程语言不同。
SQL语言集多种功能于一体,是一个综合的、通用的、功能极强的,同时又简洁易学的语言。风哥(www.fgedu.net)为大家介绍其主要特点如下:
• SQL是一种一体化语言。
• SQL是一种高度非过程化的语言。
• SQL语言非常简洁,虽然SQL语言功能很强,但它只有为数不多的9条命令。
• SQL语言可以直接以命令方式交互使用,也可以嵌入到程序设计语言中以程序方式使用。
本章只对SQL语言做一个简单分类,有关SQL语法及使用,详见第4章Oracle程序开发与PL/SQL以及第五章MySQL程序开发。 

2 SQL语言分类

SQL语言按其功能可分为数据操纵语言(Data Manipulation Language)、数据定义语言(Data Definition Language)、数据库控制语言(Data Control Language)、事务控制语言(Transaction Control Language)。下面风哥教程为大家介绍各类SQL语言做简单介绍。

1)数据查询语言DML
数据操纵语言用于查询、生成、修改、删除数据库中的数据。包含数据查询语句(SELECT)、添加新行语句(INSERT)、修改现有行数据(UPDATE)、删除现有行数据(DELETE)。
Insert语句:向数据表张插入一条记录。
Delete语句:删除数据表中的一条或多条记录,也可以删除数据表中的所有记录,但是它的操作对象仍然是记录。
Update语句:用于修改已存在表中的记录的内容。
Select语句:用于查询表中的数据。

2)数据定义语言DDL
DDL语言用于定义、修改、删除数据库模式对象,进行权限管理等。DDL语言包括创建、修改、删除或者重命名模式对象(CREATE、ALTER、DROP、RENAME)的语句,DDL语言是自动提交的。
Create语句:可以创建数据库、索引、用户等对象。
Drop语句:可以删除数据表、索引、触发程序、条件约束以及数据表的权限等。
Alter语句:修改数据表定义及属性。

3)数据控制语言DCL
DCL语言是用来设置或更改数据库用户或角色权限的语言。包含GRANT授权、REVOKE取消授权。
Grant语句:允许对象的创建者给某用户或某组或所有用户(PUBLIC)某些特定的权限。
Revoke语句:可以废除某用户或某组或所有用户访问权限

4)事务控制语言TCL
TCL控制语言用于数据库的事务管理。包含事务提交(COMMIT)、设置保存点(SAVEPOINT)、回滚(ROLLBACK)、开始事务(STAR TRANSACTION)。


3、SQL常用数据库介绍

1)ORACLE
Oracle是一个非常大的基于多用户的数据库管理系统。Oracle是由“Oracle Corporation”开发的关系数据库管理系统。
Oracle致力于高效管理其资源,它是在网络中请求和发送数据的多个客户端之间的信息数据库。
它是客户端/服务器计算的优秀数据库服务器选择。 Oracle支持客户端和服务器的所有主要操作系统,包括MSDOS,NetWare,UnixWare,OS/2和大多数UNIX风格。

风哥教程为大家介绍Oracle历史:
Oracle始于1977年,它在数据库行业已经有42个辉煌岁月(从1977年到2019年)。
1977年 -  Larry Ellison,Bob Miner和Ed Oates成立了软件开发实验室,负责开发工作。
1979年 -  Oracle 2.0版本发布,它成为第一个商业关系数据库和第一个SQL数据库。 该公司更名为Relational Software Inc.(RSI)。
1981年 -  RSI开始为Oracle开发工具。
1982年 -  RSI更名为Oracle Corporation。
1983年 -  Oracle发布了3.0版本,用C语言重写并在多个平台上运行。
1984年 -  Oracle 4.0发布。 它包含并发控制等功能 - 多版本读取一致性等。
1985年 -  Oracle 4.0发布。 它包含并发控制等功能 - 多版本读取一致性等。
2007年 -  Oracle发布了Oracle11g。 新版本专注于更好的分区,轻松迁移等。
2013年 - Oracle 12c版本正式发布。
2018年 - Oracle 18c版本正式发布。
2019年 - Oracle 19c版本正式发布。
2020年 - Oracle 20c版本正式发布。

具有以下特征:
并发读
一致性
锁定机制
静默数据库
可移植性
物化视图
位图索引
表压缩
并行执行
分析SQL
数据挖掘
分区表
自我管理数据库
SQL * Plus
ASM
调度资源管理
数据仓库


2)MS SQL Server

MS SQL Server是由Microsoft公司开发的关系数据库管理系统。它的主要查询语言是 -  
T-SQL
ANSI SQL

风哥教程为大家介绍MS SQL Server历史:
1987年 -  Sybase发布用于UNIX的SQL Server。
1988年 - 微软,Sybase和Aston-Tate将SQL Server移植到OS / 2。
1989年 - 微软,Sybase和Aston-Tate发布用于OS/2的SQL Server 1.0。
1990年 - 发布SQL Server 1.1,支持Windows 3.0客户端。Aston  - Tate退出SQL Server开发。
2000年 - 微软发布SQL Server 2000。
2001年 -  Microsoft发布用于SQL Server Web Release 1的XML(下载)。
2002年 -  Microsoft发布SQLXML 2.0(从XML for SQL Server重命名)。
2002年 - 微软发布SQLXML 3.0。
2005年 -  Microsoft于2005年11月7日发布了SQL Server 2005。

具有以下特性
高性能
高可用性
数据库镜像
数据库快照
DDL触发器
排名功能
基于行版本的隔离级别
XML集成
数据库邮件
CLR集成
服务代理


3)MySQL
MySQL数据库MySQL是一个开源SQL数据库,由瑞典公司MySQL AB开发。 MySQL支持许多不同的平台,包括Microsoft Windows,主要Linux发行版,UNIX和Mac OS X。
MySQL有免费和付费版本,具体取决于其用途(非商业/商业)和功能。 MySQL带有一个非常快速,多线程,多用户和强大的SQL数据库服务器。

风哥教程为大家介绍MySQL历史:
1979年,瑞典的Monty Widenius在为TcX公司打工期间,写了一个报表工具的存储引擎,工具叫Unireg。
1985年,瑞典的几个小伙伴一起成立了一个公司,这就是MySQL AB前身,编写了ISAM(Indexed Sequential Access Method)存储引擎核心算法的前身。
1990年,由于业务的需要,这个存储引擎提供SQL支持,因此整个团队就重写了这个工具。
1996年,MySQL 1.0发布, 在小范围内使用。
1996年10月,MySQL 3.11.1发布了,没有2.x版本。最开始,只提供了Solaris下的二进制版本。1996年11月,MySQL 3.x for Linux版本发布。
1999-2000年,MySQL AB公司在瑞典成立了。开发出了 BDB引擎,,MySQL从此开始支持事务处理了。
2000 年,MySQL 公布了自己的源代码,并采用GPL(GNU General Public License)许可协议,正式开源。
2000年4月,MySQL对旧的存储引擎ISAM进行了整理,命名为MyISAM。
2001年,MySQL集成第三方公司的存储引擎InnoDB,这个引擎同样支持事务处理,还支持行级锁。同时在这一年MySQL 3.23 版本发布,该版本已经支持大多数的基本的SQL 操作,而且还集成了MyISAM和InnoDB 存储引擎,开始支持外键(InnoDB),同时MySQL与InnoDB的正式结合版本是4.0
2004年10月,MySQL 4.1版本发布,开始支持R-trees索引(MyISAM)。
2005年10月,MySQL 5.0发布,这是MySQL历史上最有里程碑的一个版本,在5.0中加入了游标,存储过程,触发器,视图和事务的支持;在5.0之后,MySQL表现出迈向高性能数据库的发展步伐;MySQL5.1 支持分区功能、支持行复制。

sql语句学习教程01_sql语言基础_SQL简介此处内容已经被作者隐藏,请输入验证码查看内容
验证码:
请关注本站微信公众号,回复“fgedu”,获取验证码。在微信里搜索“风哥数据库运维”或者“公众号:itpux_com,加风哥微信:itpux-com,进群领免费课程”或者微信扫描右侧二维码都可以关注本站微信公众号。

MySQL特性:
高性能
高可用性
可扩展性
灵活性
管理轻松。
开源自由和24 x 7支持。
最低的总拥有成本。
强大的事务支持。
Web和数据仓库的优势。
强大的数据保护。
综合应用开发。

网站声明:本文由风哥整理发布,转载请保留此段声明,本站所有内容将不对其使用后果做任何承诺,请读者谨慎使用!
【上一篇】sql语句学习教程02_sql查询语句_sql语法_sql数据类型
【下一篇】MySQL教程学习之面试题10_描述Oracle/MySQL/SQLServer/NoSQL常见数据库区别