您的位置:首页 > 数据库

DQL数据查询语言(二)及数据的备份与恢复

2016-03-12 15:51 501 查看

DQL数据查询语言(复杂的)

连接查询

交叉连接(cross join):不带on子句,返回连接表中所有数据行的笛卡尔积

内连接(inner join):返回连接表中符合连接条件及查询条件的数据行

外连接:分为左外连接(left out join)、右外连接(right outer join)。外连接不仅返回连接表中符合连接条件及查询条件的数据行,也返回左表(左外连接时)或右表(右外连接时)中仅符合查询条件但不符合连接条件的数据行

子查询

联合查询

报表查询

查询每个人的考试成绩

#交叉查询
select * from stu s cross join score c on s.id=c.sid;


查询参加考试的人的成绩

#内连查询
select name,china,english,history,china+english+history 总分 from stu s inner join score c on s.id = c.sid;


查询所有人的成绩

#左外连
select name,china,english,history,china+english+history 总分 from stu s left join score c on s.id = c.sid;

#右外连
select name,china,english,history,china+english+history 总分 from stu s right join score c on s.id = c.sid;


查询没有参加考试的人

#子查询
select * from stu where id not in(select sid from score);


查询参加考试的人的成绩

select name,china,english,history,china+english+history 总分 from stu s,score c where s.id=c.sid;


统计函数

聚合函数

sum max min avg count

分组函数

根据多个字段进行分组

select count(*) 数量,sex,name from stu group by sex,name;


分组条件

select count(*),sex from stu where age >= 16 group by sex having count(*)>1;


数据的备份与恢复

数据库备份

#在退出数据库以后在dos命令行执行

mysqldump -u root -proot 数据库名>test.sql

数据库恢复

#在退出数据库以后在dos命令行执行

mysql -u root -proot 数据库名>test.sql

或者

创建数据库并选择该数据库

SOURCE数据库文件(加路径的数据库文件)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息