本章详细介绍select语句、DMT语句、事物控制等等知识。
一。SQL语言概述
SQL(Structured Query Language,结构化查询语言),用来实现关系运算中的查询、选择等操作,是一个综合的、功能极强同时也是一种简单易学的语音。
1.1 SQL 语言的特点
SQL语言采用集合操作方式,对数据的处理是成组进行的
执行SQL语句时,每次只能发送并处理一条语句
执行SQL语句时,用户只需要知道逻辑含义,无需关心SQL的具体执行
1.2 SQL语言分类
①查询语言
比如select
②数据操纵语言(Data Manipulation Lanuage,DMT)
Insert
Update
Delete
Merge(合并 插入 修改)
③数据定义语言(Data Definition Language,DDL)
Create
Drop
Rename
Truncate(删除表的全部内容)
④事物控制(Transaction Control ,TC)语句
Commit 永久性的保存对行所做的修改
Rollback 取消对行所做的修改
Savepoint 设置一个“保存点”,可以将对行的修改回滚到此处
⑤数据控制语言(Data Control Language,DCL)
Grant 授予其他用户对数据库结构的访问权限
Revoke 收回用户数据库结构的权限
1.3 SQL语句的编写规则
SQL关键字不区分大小写,也就是大小写不敏感
对象名和列名不区分大小写
字符值和日期值区分大小写
具体一些 看后记中的参考文献
二。数据查询语法
Select [All|Distinct] <列名> [,<列名> ]...
from <表名或试图名>
[where <条件表达式>]
[Group by <列名1> [Having <条件表达式>]]
[Order by <列名2> [ASC|DESC]]
OK,上面就是查询语句的语法。这个怎么看呢?很简单。。貌似以前也说过。就是方括号([])中的内容是可选的,尖括号(<>)是一定要选择的。
测试数据
我新建了3个表,如下
学生表:Student(Sno,Sname,Ssex,Sage,Ddept)
课程表:Course(Cno,Cname,Cpno(先行课),Ccredit(学分))
这里需要解释一下,什么叫先行课:就是比如你要学C#,那么你需要一定的计算机基础的知识,那么这个计算机知识就是先行课。
学生选课表:SC(Sno,Cno,Grade)