如创建学生表,进行增删改查
-- 创建学生表
drop table if exists students;
create table students (
studentNo varchar(10) primary key, # 学生编号
name varchar(10), # 学生姓名
sex varchar(2), # 性别
hometown varchar(20), a # 城市编号
age tinyint(4), # 年龄
class varchar(10), # 班级
card varchar(20) ); # 学籍卡号
-- 插入一些测试数据
insert into students values
('001', '王昭君', '女', '北京', '20', '1班', '340322199001247654'),
('002', '诸葛亮', '男', '上海', '18', '2班', '340322199002242354'),
('003', '张飞', '男', '南京', '24', '3班', '340322199003247654'),
('004', '白起', '男', '安徽', '22', '4班', '340322199005247654'),
('005', '大乔', '女', '天津', '19', '3班', '340322199004247654'),
('006', '孙尚香', '女', '河北', '18', '1班', '340322199006247654'),
('007', '百里玄策', '男', '山西', '20', '2班', '340322199007247654'),
('008', '小乔', '女', '河南', '15', '3班', null),
('009', '百里守约', '男', '湖南', '21', '1班', ''),
('010', '妲己', '女', '广东', '26', '2班', '340322199607247654'),
('011', '李白', '男', '北京', '30', '4班', '340322199005267754'),
('012', '孙膑', '男', '新疆', '26', '3班', '340322199000297655');
1、添加一条学生数据:伊泽瑞尔、男、广东、25、1班、'340322199000297656';
INSERT into studens values('013','伊泽瑞尔','男','广东','25','1班','340322199000297656');
2、修改百里玄策的年龄58
UPDATE studens set age=58 where name='百里玄策';
3、删除伊泽瑞尔的信息
DELETE from studens where name='伊泽瑞尔';
4、删除学生表中的所有信息,保留表结构?
TRUNCATE table studens ;
5、删除整个学生表?
DROP table studens ;
6、Delete和drop删除命令有什么区别?
delete,可以按条件删除表格中的行,保留表格格式,数据可找回
drop,删除整个表格
7、where条件查询有哪几种方式?
1,比较运算
2,逻辑运算
3,模糊查询
4,条件查询
5,空判断
8、Mysql中常用的聚合函数哪些?
max,min,avg,count,sum。
9、 起别名用什么命令,可以给什么起别名,分别有什么注意点?
select sex as 性别, name as 名字 from student;可以给较长的字段和表名起别名。
select s.sex,s.name from student as s;
注意:下面的练习需要重新执行数据准备的SQL
10、查询1班除外其他班级学生的平均年龄、最大年龄、最小年龄。
SELECT class,avg(age),MAX(age),MIN(age) from studens group by class HAVING class!='1班';
11、查询学生"百里守约"的基本信息。
SELECT * FROM studens WHERE name='百里守约';
12、查询学生"百里守约"或”百里玄策”的基本信息。
SELECT * FROM studens s where name='百里守约' OR name='百里玄策';
13、查询姓“张”学生的姓名,年龄,班级。
SELECT name,age,class from studens s WHERE name LIKE '张%';
14、查询姓名中含有“约”字的学生的基本信息。
SELECT * FROM studens s where name like '%约%';
15、查询姓名长度为三个字,姓“孙”的学生的学号,姓名,年龄,班级,身份证号。
SELECT studentNo,name,age,class,card from studens s where name like '孙__';
16、查询姓“百”或者姓”孙”的学生的基本信息。
SELECT * FROM studens s WHERE name like '百%' OR name LIKE '孙%';
17、查询姓“百”并且家乡是“山西”的学生信息。
SELECT * from studens s where hometown='山西' AND name like '百%';
18、查询家乡是“北京”、”新疆”、”山东”或者“上海”的学生的信息。
SELECT * FROM studens s where hometown='北京' or hometown='新疆' or hometown='山东' or hometown='上海';
19、查询姓“孙”,但是家乡不是“河北”的学生信息。
SELECT * from studens s where name like '孙%' AND hometown!='河北';
20、查询家乡不是"北京"、"新疆"、"山东"、"上海"的学生的信息
SELECT * FROM studens s where hometown!='北京' and hometown!='新疆' and hometown!='山东' and hometown!='上海';
21、查询1班除外其他班级学生的平均年龄、最大年龄、最小年龄。
SELECT class,AVG(age),MIN(age),max(age) from studens group by class HAVING class!='1班';
22、查询每个班级中各种性别的人数,只显示2班和3班
SELECT class,sex,count(*)from studens s group by class,sex HAVING class='2班' OR class='3班';
23、查询各种性别的人数, 显示人数超过5个的性别
SELECT sex,count(sex) from studens s group by sex HAVING COUNT(sex)>5;