简单了解SQL(结构化查询语言)
http://www.cnblogs.com/pinnsvin/p/5528272.html
结构化查询语言(英语:Structural Query Language,缩写:SQL),是一种特殊目的之编程语言,用于数据库中的标准数据查询语言,IBM公司最早使用在其开发的数据库系统中。1986年10月,美国国家标准学会对SQL进行规范后,以此作为关系式数据库管理系统的标准语言(ANSI X3. 135-1986),1987年得到国际标准组织的支持下成为国际标准。不过各种通行的数据库系统在其实践过程中都对SQL规范作了某些编改和扩充。所以,实际上不同数据库系统之间的SQL不能完全相互通用。[维基百科]
SQL是高级的非过程化编程语言,它允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解其具体的数据存放方式。而它的界面,能使具有底层结构完全不同的数据库系统和不同数据库之间,使用相同的SQL作为数据的输入与管理。它以记录项目〔records〕的合集(set)〔项集,record set〕作为操纵对象,所有SQL语句接受项集作为输入,回提交的项集作为输出,这种项集特性允许一条SQL语句的输出作为另一条SQL语句的输入,所以SQL语句可以嵌套,这使它拥有极大的灵活性和强大的功能。在多数情况下,在其他编程语言中需要用一大段程序才可实践的一个单独事件,而其在SQL上只需要一个语句就可以被表达出来。这也意味着用SQL可以写出非常复杂的语句。[维基百科]
SQL分类:
- 数据查询语言(DQL)
- 数据定义语言(DDL)
- 数据操纵语言(DML)
- 数据控制语言(DCL)
1.数据查询语言(DQL)
数据查询语言(Data Query Language, DQL)是SQL语言中,负责进行数据查询而不会对数据本身进行修改的语句,这是最基本的SQL语句。
语法结构:
SELECT [要提取的欄位,或是用"*"代表全部的欄位]
FROM [要提取的資料來源物件,包含資料表,檢視表與表格型使用者函數等] -- 可搭配JOIN做關聯式連結。
WHERE [提取的過濾條件] -- WHERE可有可無。
GROUP BY [要做彙總的群組欄位] -- GROUP BY在使用彙總指令時必須要有。
HAVING [要做為條件的彙總欄位] -- 要使用彙總函數作為條件時使用
ORDER BY [要排序的欄位與方向] -- ORDER BY可有可無,若沒有則是按照查詢引擎的輸出序為主。
2.数据定义语言(DDL)
数据定义语言 (Data Definition Language, DDL) 是SQL语言集中,负责数据结构定义与数据库对象定义的语言,由CREATE、ALTER与DROP三个语法所组成,最早是由 Codasyl (Conference on Data Systems Languages) 数据模型开始,现在被纳入 SQL 指令中作为其中一个子集。
语法结构:
CREATE
CREATE可以用来创建用户、数据库,数据表,视图,存储过程,存储函数,触发器,索引等。
ALTER是负责数据库对象修改的指令。
DROP是删除数据库对象的指令,只需要指定要删除的数据库对象名即可。
3.数据操纵语言(DML)
数据操纵语言(Data Manipulation Language, DML)是SQL语言中,负责对数据库对象运行数据访问工作的指令集,以INSERT、UPDATE、DELETE三种指令为核心,分别代表插入、更新与删除。
语法结构:
INSERT 是将数据插入到数据库对象中的指令,可以插入数据的数据库对象有数据表以及可更新查看表两种。
UPDATE 指令是依给定条件,将匹配条件的数据表中的数据更新为新的数值。
DELETE 是为数据库对象中删除数据的指令。
4.数据控制语言(DCL)
数据控制语言 (Data Control Language) 在SQL语言中,是一种可对数据访问权进行控制的指令,它可以控制特定用户账户对数据表、查看表、预存程序、用户自定义函数等数据库对象的控制权。由 GRANT 和 REVOKE 两个指令组成。
DCL以控制用户的访问权限为主,GRANT为授权语句,对应的REVOKE是撤销授权语句。
相关文章
- Linq to SQL 简单增删改查
- SQL语法集锦三:合并列值与分拆列值
- sql server简单查询
- sql server简单查询
- SQL SERVER 2012启动失败 because upgrade step 'SSIS_hotfix_install.sql' 失败
- oracle 常用SQL
- SQL优化经验总结34条
- nano-sql.js的基本操作
- SQL简单语句作用
- SQLServer · 特性分析 · SQL Server 2012的分析函数未必都理解透了(1)
- mysql 必知必会整理—sql 排序与过滤[三]
- mysql 必知必会整理—sql 简单语句[二]
- SQL Server vs Oracle 简单语法比较
- 获取sql server与年、季度、月、周首尾有关的时间函数
- oracle与sql server大批量存储过程可以替换部分
- SQL Server vs Oracle 简单语法比较
- SQL SERVER CHARINDEX函数
- Atitit 读取数据库的api orm SQL Builder sql对比 目录 1.1. 提高生产效率的 ORM 和 SQL Builder1 1.2. SQL Builder 在 SQL
- Atitit 基于sql编程语言的oo面向对象大规模应用解决方案attilax总结
- SQL基础【七、Order by】
- 经典SQL语句大全---提升
- 快速迁移数据中心:华为云数据库SQL Server实践案例技术解析
- SQL VQ11 找出sql类题目的单次最大刷题数
- 【编程实践】帮助您节省时间和编写更简单查询的 SQL 技巧
- 010-Hadoop Hive sql语法详解5-HiveQL与SQL区别
- 009-Hadoop Hive sql语法详解4-DQL 操作:数据查询SQL-select、join、union、udtf
- sql 精读(五) 标准 SQL窗口函数一
- 簡單SQL存儲過程實例
- sql date时间加减几天几小时
- AWVS工作原理——先做爬虫,然后再针对每一个url探测可能的xss、sql注入等漏洞
- SQL注入——堆叠注入,很简单,无非就是执行多条sql语句,注意不是所有DB支持
- SQL学习路线图,首次公开