结构化查询语言(Structured Query Language)简称SQL
               是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统
 
SQL语言提出  :1974年由Boyce和Chamberlin
主要分为:数据定义、数据操纵和数据控制
优点:
            结构化查询语言是高级的非过程化编程语言,
            允许用户在高层数据结构上工作。
            不要求用户指定对数据的存放方法,了解具体的数据存放方式,
            具有完全不同底层结构的不同数据库系统可以使用相同的结构化查询语言作为数据输入与管理的接口
             可以嵌套,具有极大的灵活性和强大的功能。

简单介绍

详细理解

结构化查询语言主要分为六个部分

1、数据查询语言  DQL (全称:Data Query Language):对数据查询操作
                     语句:称为数据检索语句,用于从表中获取数据,保留字SELECT是DQL(也是所有SQL)用得最多的动词,
                                其他DQL常用的保留字有WHERE(子查询),ORDER BY,GROUP BY(分组)和HAVING
SELECT 列名称 FROM 表名称
SELECT 列名称 FROM 表名称 WHERE 列 运算符 值
SELECT Company, OrderNumber FROM Orders ORDER BY id DESC
2、数据操作语言  DML (全称:Data Manipulation Language):对数据插入、删除和更新三种操作
                     语句:包括动词 INSERT,UPDATE和DELETE,分别用于增加修改和删除
增加
INSERT INTO 表名称 VALUES (值1, 值2,....)
INSERT INTO 表名称 (列1, 列2,...) VALUES (值1, 值2,....)
修改
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
删除
DELETE FROM 表名称 WHERE 列名称 = 值
 
3、数据控制语言  DCL (全称:Data Query Language):对用户访问数据的控制有基本表和视图的授权及回收
                    语句:通过GRANT(授予权限)或REVOKE(收回权限)实现权限控制,确定单个用户和用户组对数据库对象的访问,
                               某些RDBMS可用GRANT或REVOKE控制对表单单个列的访问
4、数据定义语言  DDL (全称:Data Query Language):定义数据库的逻辑结构,包括定义数据库、基本表、视图和索引四个部分
                    语句:包括动词CREATE(创造),ALTER(修改)和DROP(删除)。在数据库中创建新表或修改、删除表(CREAT TABLE 或 DROP TABLE);
                                为表加入索引等
创建库
CREATE DATABASE 数据库名称
创建表
CREATE TABLE 表名称
(
列名称1 数据类型,
列名称2 数据类型,
列名称3 数据类型,
....
)
删除表
DROP TABLE 表名称
5、事务控制语言  TCL (全称:Data Query Language):对事务(transaction)的提交与回滚
                     语句:为了确保被DML语句影响的表可以及时更新,包括COMMIT(提交)命令、SAVEPOINT(保存点)命令ROLLBACK(回滚)命令。
6、指针控制语言  CCL (全称:Data Query Language):规定SQL语句在宿主语言的程序中的使用的规则             
                    语句:像DECLARE CURSOR(声明游标),FETCH INTO(进入)和UPDATE WHERE CURRENT(更新当前位置)用于对一个或多个表单独行的操作
 
快速理解: DQL  和DML 主要是为了完成对表中数据的增删改查,DDL主要是为了完成对表的增删改,DCL为给用户操作数据表和数据的权限,
                  TCL 主要是为了确保在执行增删改的操作的时候及时响应,全部提交或全部回滚, CCL 规定了Sql语句在程序中的使用规则  比如sql 中的游标
 
 

最新文章

  1. Comet4J推技术在SSHE三大框架中应用-linux下亲测可用
  2. js混淆工具
  3. linux-0.11内核 任务的堆栈切换
  4. Qt 第一步,环境搭建与测试
  5. Android开发优化之——对Bitmap的内存优化
  6. 如何正确并完全安装Visual Studio 2015企业版本[转]
  7. nandflash中oob、ecc分析
  8. android一些常用的代码1(收藏)
  9. WebWorker SharedWorker ServiceWorker
  10. 关于埃博拉(Ebola)基础研究病毒
  11. 大数据算法设计模式(1) - topN spark实现
  12. Linux指令--chmod
  13. 机器学习---最小二乘线性回归模型的5个基本假设(Machine Learning Least Squares Linear Regression Assumptions)
  14. PAT 1152 Google Recruitment
  15. vue: 代码小记
  16. java读取配置文件的信息
  17. Python--异常处理和断言
  18. 【Alpha】阶段第七次Scrum Meeting
  19. webpack配置上线地址
  20. Learn2Rank

热门文章

  1. Gin-Go学习笔记六:Gin-Web框架 Api的编写
  2. 剑指:最小的k个数
  3. vmware虚拟机安装T6客户端
  4. elasticsearch 索引和mapping导入导出命令
  5. 两数相加[链表加法] LeetCode.2
  6. MATLAB之心形图绘制
  7. dapi 基于Django的轻量级测试平台七 怎样部署到生产环境
  8. isaster(Comet OJ - Contest #11D题+kruskal重构树+线段树+倍增)
  9. Mybatis「MySQL-Oracle」 中主键自动生成 <selectKey> 序列化
  10. zy的日志报表执行有问题。crontab显示执行了任务,代码中应该有问题