SQL常用语句总汇
1.使用insert插入单行数据:
2.使用insert select语句将现有表中的数据添加到已有的新表中
3.使用select into语句将现有表中的数据添加到新建表中
4.使用union关键字合并数据进行插入多行
或 insert into TongXueLu(name,sex,birthday)
select stuName,stuAge,stuBirday from Students where StuSex = '男' union
select stuName,stuAge,stuBirday from Students where stuAge > 12
注意:union 使用也要注意表结构必须相同,也有是这两个表的列必须相同的列,数据类型也必须相同。into可以省略
二、删:有2中方法
1.使用delete删除数据某些数据
[where <删除条件>]
2.使用truncate table 删除整个表的数据
三、改
使用update更新修改数据
[where <更新条件>]
四、查
1.普通查询
语法:select <列名> from <表名>
[where <查询条件表达试>]
[order by <排序的列名>]
[asc或desc]]
1).查询所有数据行和列
例:select * from Students
说明:查询Students表中所有行和列
2).查询部分行列--条件查询
例:select stuName,stuSex
说明:查询表Students中 stuAge = 5 的所有行,并显示 stuName,stuSex 两列
3).在查询中使用 as 更改列名
例:select stuName as '姓名' fromStudents where stuSex = '男'
说明:查询Students表中性别为男的所有行,显示 stuName列,并将 stuName列 改名为 '姓名' 显示
4).查询空行
例:select stuName fromStudents where stuEmail is null
说明:查询表Students中 stuEmail 为空的所有行,并显示 stuName列;SQL语句中用 is null 或者 is not null 来判断是否为空行
5).在查询中使用常量
例:select stuName,'大大' as A from Students
说明:查询表Students,显示stuName,并创建一个 新列A,给 A列 赋值'大大'
6).查询返回限制行数(关键字:top
例1:select top 6 stuName from Students
说明:查询表Students,显示前6行 stuName列的值,top 为关键字
例2:select top 60 percent stuName from Students
说明:查询表Students,显示列 stuName的60%,percent 为关键字
7).查询排序(关键字:order by , asc , desc)
例:select stuName from Students
where stuAge >= 16 order by stuId desc
说明:查询表中 stuAge 大于等于16的所有行,并按 stuId 降序显示 stuName 列;默认为 asc 升序
2.模糊查询
1).使用like进行模糊查询
注意:like运算副只用语字符串,所以仅与 char 和 varchar 数据类型联合使用
例:select * from Students where stuName like '张%'
说明:查询显示表 Students 中,stuName 字段第一个字为张的记录
2).使用 between 在某个范围内进行查询
例:select * from Students where stuAge between 18 and 20
说明:查询显示表 Students 中 stuAge 在 18 到 20 之间的记录
3).使用in 在列举值内进行查询
例:select stuName from Students where stuAddr in ('西安','大雁塔','兵马俑')
说明:查询表 Students 中 stuAddr 值为 '西安','大雁塔','兵马俑' 记录,显示 stuName 字段
3.分组查询
1).使用group by 进行分组查询
例:select studentID as '学员编号', AVG(score) as '平均成绩'
from Exam group by stuId
说明:在表 Exam 中查询,按 stuId 字段分组,显示 stuId 字段和 score 字段的平均值;select语句中只允许被分组的列和为每个分组返 回的一个值的表达试,例如用一个列名作为参数的聚合函数
2).使用having子句进行分组筛选
例:select stuId as '学员编号',AVG(score) as '平均成绩' from Exam
group by stuId having count(score)>1
说明:接上面例子,显示分组后 count(score)>1 的行,由于 where 只能在没有分组时使用,分组后只能使用 having 来限制条件,
4.多表联接查询
1).内联接
①在where子句中指定联接条件
例:select a.name,b.sex from a,b where a.name=b.name
说明:查询 表a 和 表b 中 name 字段相等的记录,并显示 表a 中的 name 字段和表b 中的 sex 字段
②在from子句中使用join…on
例:select a.name,b.sex from a
inner join b on a.name = b.name
说明:同①
2).外联接
①左外联接查询
例:select s.name,e.courseId,e.score from Students as s
left outer join Exam as e on s.scode=e.stuId
说明:在 Students表 和 Exam表 中查询满足 on 条件的行,条件为Exam表 的 stuId 与 Students表 中的 sconde 相同
②右外联接查询
例:select s.name,e.courseId,e.score from Students as s
right outer join Exam as e on s.scode=e.stuId
- 上一篇:ASP.NET中如何获取汉字的拼音介绍
- 下一篇:SqlParameter的用法介绍