查询表达式
· 每一个表达式表示想要的一列,必须至少 有一列,多个列之间以逗号分隔
· *表示所有列,tbl_name.*可以表示命名表的 所有列
· 查询表达式可以使用[as] alias_name为其赋 予别名
单表查询
· 查询表中全部数据
SELECT * FROM stu;
· 查询表中特定字段
SELECT id,newnameFROM stu;
· 为字段取别名
SELECT * FROM stu u;
· 为表取别名
SELECT username AS ‘姓名’,sex ‘性别’ FROM usertbl;
· 为字段指定表名
SELECT usertbl.username,usertbl.sex FROM usertbl;
· 为表名指定库名
SELECT username,sex,ageFROM cms.usertbl;
· 使用常量进行查询
SELECT 1,2,3,username FROM usertbl;
备份表
把A表的数据备份到B表不存在
1.表结构和数据全部备份
create table stu_1
as
select* from students;
2.备份部分字段
create table stu_2
as
selectscode,sname from students;
3.只备份表结构
create table stu_3
as
select* from students where 1=2;
把A表数据备份到B表,B表存在
insert into stu_3
select* from students;
Order By排序
· ORDER BY 语句用于根据指定的列对结果集 进行排序。
· ORDER BY 语句默认按照升序对记录进行排 序。
· 影响排序的关键字:ASC,DESC。
例:
· 按出生日期排序显示用户信息
SELECT * FROM users ORDER BY birth;
· 按工资排序降序显示用户信息,如果工资 相同则按姓名字母顺序显示
SELECT * FROM users WHERE salary IS NOT NULL ORDER BY salary DESC,cnameASC;
Limit关键字(限制)
· 检查记录行,第0行开始,共返回10行记录
SELECT * FROM table LIMIT 0,10;
· 检查记录行,第100行开始到最后1
SELECT * FROM table LIMIT 99,-1
· 返回前5行记录
SELECT * FROM table LIMIT 5
distinct关键字(去重)
使用distinct过滤结果集中的重复记录
例:
查询出score表中所有的studenid,去掉重得的studenid
SELECT DISTINCT(studentid) FROM score WHERE Courseid=1;