SQL(Structure Query Language,结构化查询语言)语言主要有以下几类:
1、数据查询语言(DQL,Data Query Language):主要用于检索数据库数据,基本机构有Select、From、Where、Group By、Having、Order By、Compute、For Browse等;Select语句的功能和语法最复杂、最灵活;完整语法描述如下(还有更复杂的语法,如:集合操作(Union和Union All)、子查询、表连接、CASE语句等):
SELECT [ALL | DISTINCT | DISTINCTROW TOP n [PERCENT ] WITH TIES select_list
[INTO [new_table_name ]]
[FROM {table_name | view_name }[(optimizer_hints )]
[[,{table_name2 | view_name2 }[(optimizer_hints )]
[..., table_namen | view_namen ][(optimizer_hints )]]]
[WHERE clause]
[GROUP BY clause]
[HAVING clause]
[ORDER BY clause]
[COMPUTE clause]
[FOR BROWSE ]
说明:
All:返回满足SQL语句条件的所有记录,如果没有指明这个谓词,默认为ALL。
Distinct:如果有多个记录的选择字段的数据相同,只返回一个。
Distinctrow:如果有重复的记录,只返回一个。
Top:显示查询头尾若干记录。
TOP n PERCENT: 返回记录的百分比,其中N 表示百分比。
With Ties:列出重复值
Into:子句指定接受新记录的表。
Group By:指明了按照哪几个字段来分组。
Having:将记录分组后,用HAVING子句过滤这些记录。
Order By:对查询的结果进行排序,语法:Order by 表达式1 [asc | desc][, 表达式2 [asc | desc][,......n]]
Compute:(目前没用过,有兴趣的朋友可以自己搜索资料也可以查看本文中的参考资料)
For Browse:(同上)
一条Select语句就像叠加在数据库表上的过滤器,利用SQL关键字,数据库缩小到定位在一个查询中检索到的那些列和行。
2、数据操纵语言(DML,Data Manipulation Language):用于改变数据库数据,包括Insert(插入数据)、Update(更新数据)、Delete(删除数据)三条语句;完整语法如下:
Update语法:
UPDATE table_name SET column_name = new_value WHERE column_name = some_value
Insert语法:
INSERT INTO table_name VALUES (value1 , value2 ,....)
或
INSERT INTO table_name (column1 , column2 ,...) VALUES (value1 , value2 ,....)
Delete语法:
DELETE FROM table_name WHERE column_name = some_value
3、事务控制语言(TCL,Transactional Control Language):用于维护数据的一致性,包括Commit(提交事务)、Rollback(回滚事务)、Savepoint(设置保存点,以取消部分数据库改变)三条语句。
4、数据定义语言(DDL,Data Definition Language):用户创建(Create)、修改(Alter)、删除(Drop)数据库对象,例如:Create Table可以创建表、Alter Table可以修改表结构、Drop Table可以删除表;这里要注意的是DDL语句会自动提交事务。
例如:
创建数据库:CREATE DATABASE database_name .... 详情请看
。。。。
5、数据控制语言(DCL,Data Control Language):用于执行权限授予和权限收回操作,包括Grant(授与)、Revoke(收回)两条命令,注意DCL也是自动提交事务。
——本文纯属自己学习使用,如有错误请各位大侠见谅!