六、SQL
6.1、 简介
SQL 全名是结构化查询语言(Structured Query Language)
是用于数据库中的标准数据查询语言, IBM公司最早使用在其开发的数据库系统中。 1986年10 月,美国ANSI(美国国家标准化组织) 对 SQL 进行规范后,以此作为关系式数据库管理系统的标准语言 (ANSI X3. 135-1986),得到所有数据库厂商 的支持下成为国际规范 。不过各种通行的数据库系统在其实践过程中都对SQL规范作了某些编改和扩充。所以,实际上不同数据库系统之间的 SQL 语言不能完全相互通用
什么是SQL
是一种ANSI(美国国家标准化组织)的标准计算机语言 SQL 语句是一种特殊的编程语言,是面向数据库的语言 使我们有能力访问数据库
为什么会有SQL?
在70年代末的时候,世界上就已经存在七八十种数据库,而每一种数据库都有属于自己的一套数据库操作命令。这样就显得让开发者从A数据库过度到B数据库增加了难度,甚至要重新学习一套新的操作命令。
就在那个时候,IBM公司开发出了SQL数据库操作命令标准,而Oracle数据库是世界最早支持SQL标准的数据库。从那之后,大多数公司都支持SQL语法,大部分都是在各自原有的操作命令的基础上,再兼容一套SQL语法。直到现在,基本上所有的关系型数据库都支持SQL语法
SQL能做什么
1> 面向数据库执行的查询 2> 可以从数据库取回数据库 3> 可以向数据库中插入新的记录 4> 可以更新数据库中的记录 5> 可以从数据库中删除记录 6> 可以创建新的数据库 7> 可以在数据库中创建新表 8> 可以在数据库中创建存储过程 9> 可在数据库中创建视图 10>可以设置表,存储过程和视图的权限
6.2、分类
6.2.1、DDL(重点)
6.2.1.1、定义
(Data Definition Language 数据定义语句): 用于定义数据的结构,比如 创建、修改或者删除数据库对象注意:DDL只是对我们的表的属性(列名)进行操作,不会对具体的数据进行操作(也就是行).
6.2.1.2、主要操作
CREATE
1、作用:
可以创建数据库和数据库的一些对象。
2、示例代码
1
DROP
1、作用:
可以删除数据表、索引、触发程序、条件约束以及数据表的权限等。
2、示例代码
1
ALTER
1、作用:
修改数据表定义及属性
2、示例代码
111
6.2.1.3、操作对象(表)
6.2.2、DML(重点)
6.2.2.1、定义
(Data Manipulation Language 数据操控语句)主要是用于操作数据库对象中包含的数据
6.2.2.2、主要操作
select(重要的无法描述)
1、作用
查询数据库数据
2、示例代码
111
insert
1、作用
向数据库表中插入一条记录
2、示例代码
111
update
1、作用
用于修改已经存在的表中记录的内容
2、示例代码
1111
delete
1、作用
用于删除表中的一条或多条记录,也可以删除数据库表中的所有记录(危险操作,开发中慎用,一般都是假删除,假删除是指在表中添加一个字段(列)作为标识,然后查询时多写一个条件来去除该记录。)
2、示例代码
111
6.2.2.3、操作对象(记录,行数据)
6.2.3、DCL
6.2.3.1、定义
全称(Data Control Language)翻译成中文 数据控制语句 主要的操作是数据库对象授权,角色控制,这些操作的确定使数据更加的安全
6.2.3.2、主要操作
GRANT
1、作用
允许对象的创建者给某用户或某组或所有用户(PUBLIC)某些特定的权限。
2、示例代码
1
REOVKE
1、作用
废除某用户或某组或所有用户访问权限
2、示例代码
1
6.2.3.3、操作对象(用户)
6.2.4、TCL
6.2.4.1、定义
全称(Transaction Control Language)翻译成中文 事务控制语言,事务是访问并可能更新数据库各种数据项的一个程序执行单元
6.2.4.2、主要操作
CREATE
1、作用
设置保存点
2、示例代码
1
ROLLBACK
1、作用
回滚
2、示例代码
1
SET TRANSACTION
1、作用
设置事务
2、作用
111
事务操作步骤
set autocomit=false;设置手动提交; rollback 回滚; commit 提交; savepoint pl 保存; rollback to pl 回滚到pl点