- DML(data manipulation language): 它们是SELECT、UPDATE、INSERT、DELETE,就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言
- DDL(data definition language): DDL比DML要多,主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定义或改变表(TABLE)的结构,数据类型,表之间的链接和约束等初始化工作上,他们大多在建立表时使用
- DCL(Data Control Language): 是数据库控制功能。是用来设置或更改数据库用户或角色权限的语句,包括(grant,deny,revoke等)语句。在默认状态下,只有sysadmin,dbcreator,db_owner或db_securityadmin等人员才有权力执行DCL
- TCL - Transaction Control Language:事务控制语言,COMMIT - 保存已完成的工作,SAVEPOINT - 在事务中设置保存点,可以回滚到此处,ROLLBACK - 回滚,SET TRANSACTION - 改
查询:
1.查询,过滤掉重复的姓名(我这边使用top关键字,选择第一个)
SELECT TOP 1 id FROM [dbo].[ASDA_3_REAL_DATA] ORDER BY id DESC;(选择重复的第一个)
2查询第30-40条数据(先选取前30条然后反选,再选取前10条)
SELECT TOP 10 * FROM [dbo].[ASDA_3_REAL_DATA] WHERE id NOT IN (SELECT TOP 30 id FROM [dbo].[ASDA_3_REAL_DATA] );
3.查询给字段别名(as关键字(用不用无所谓))
SELECT TOP 10 * FROM [dbo].[ASDA_3_REAL_DATA] as sb ORDER BY sb.id DESC;
3.使用计算列
SELECT top 10 id,F_108*100 as "站点id" FROM [dbo].[ASDA_3_REAL_DATA] ;
聚合查询
sum(列名) 求和
max(列名) 最大值
min(列名) 最小值
avg(列名) 平均值
first(列名) 第一条记录 (只有 MS Access 支持 FIRST() 函数)
last(列名) 最后一条记录
count(列名) 统计记录数 注意和count(*)的区别(count(列名)会忽略为null的那一列,count(*)不会忽略为null的那一列)
使用方式:
SELECT COUNT(*) num FROM students;
聚合操作和集合操作
针对聚合操作和集合操作,常见的聚合操作比如 COUNT(*)、SUM(<列名>)、AVG(<列名>),得到的是一列值的个数、总和、以及平均值。而对于集合操作比如 UNION、INTERSECT、EXCEPT 代表对查询出来的集合分别取并集、交集、补集。且集合查询必须保证查询的列数相同,对应项的数据类型相同。对于新表 SC[sno, cno, grade] 分别代表学号、课程、分数,如要查询选出选修了 1 号课程的不及格的学生以及缺考的学生: