N46-第十三周作业
1、如何将hellodb_innodb.sql导入到数据库中。
答:
本机导入:mysql -uroot -p{密码} < hellodb_innodb.sql
远程导入:
(1)授权root有远程执行权限
mysql -uroot -p{密码}
grant all privileges on *.* to root@'%' identified by '123456' with grant option;
flush privileges;
(2)导入数据库
mysql -uroot -p{密码} -h x.x.x.x < hellodb_innodb.sql
2、在学生表中,查询年龄大于25岁,且为男性的同学的名字和年龄。
答:
MariaDB [hellodb]> select Name,Age from students where Age>25 and Gender='M';
3、在学生表中,以ClassID为分组依据,查询显示每组的平均年龄。
答:
MariaDB [hellodb]> select ClassID,avg(Age) as 平均年龄 from students where ClassID is not null group by ClassID;
4、显示第2题中平均年龄大于30的分组及平均年龄。
答:
MariaDB [hellodb]> select ClassID,avg(Age) as 平均年龄 from (select ClassID,Age from students where Age>25 and Gender='M') as ori where Age>30;
5、显示以L开头的名字的同学的信息。
答:
MariaDB [hellodb]> select * from students where Name like 'L%';
6、显示老师ID非空的同学的相关信息。
答:
MariaDB [hellodb]> select * from students where TeacherID is not null;
7、students表中,查询以年龄排序后的数据,并且显示年龄最大的前10位同学的信息。
答:
MariaDB [hellodb]> select * from students order by Age desc limit 10;
8、students表中,查询年龄大于等于20岁,小于等于25岁的同学的信息。
答:
MariaDB [hellodb]> select * from students where Age>=20 and Age<25;
9、以ClassID分组,显示每班的同学的人数。
答:
MariaDB [hellodb]> select ClassID,count(Name) from students group by ClassID;
10、以ClassID分组,显示其平均年龄大于25的班级。
答:
MariaDB [hellodb]> select * from (select ClassID,avg(Age) as 平均年龄 from students group by ClassID) as ori where 平均年龄>25;