一、下载Mysql数据库
进入官网:MySQL
点击“DOWNLOADS”,进入下载页面
选择“MYSQL Community(GPL) Downloads”,下载社区版是mysql。
如果你的电脑是Windows版,则下载“MYSQL Installer for Windows”。
点击“Archives”,选择自己需要的MySQL版本进行下载即可。
DDL--操作数据库
一、操作数据库
二、操作表
1、查询表
2、创建表
创建表中的需要的数据类型:
3、删除表
4、修改表
DML
查询操作
一、基础查询
1、创建表
CREATE TABLE stu (
id int, -- 编号
name varchar(20), -- 姓名
age int, -- 年龄
sex varchar(5), -- 性别
address varchar(100), -- 地址
math double(5,2), -- 数学成绩
english double(5,2), -- 英语成绩
hire_date date -- 入学时间
);
2、插入数据
INSERT INTO stu(id,NAME,age,sex,address,math,english,hire_date)
VALUES
(1,'马运',55,'男','杭州',66,78,'1995-09-01'),
(2,'马花疼',45,'女','深圳',98,87,'1998-09-01'),
(3,'马斯克',55,'男','香港',56,77,'1999-09-02'),
(4,'柳白',20,'女','湖南',76,65,'1997-09-05'),
(5,'柳青',20,'男','湖南',86,NULL,'1998-09-01'),
(6,'刘德花',57,'男','香港',99,99,'1998-09-01'),
(7,'张学右',22,'女','香港',99,99,'1998-09-01'),
(8,'德玛西亚',18,'男','南京',56,65,'1994-09-02');
4、案例模板
5、案例
(1)查询name,age两列内容
select name,age from stu;
(2)查询所有内容
select * from stu;
(3)去除查询中重复的内容
select DISTINCT address from stu;
(4)为查询的列重命名(as/空格)
select name as 姓名,age as 年龄, sex 性别 from stu;
二、条件查询
1、使用模板
2、案例
(1)查询年龄大于20岁的学员信息
select id,name,age,sex,address,math,english,hire_date from stu where age>20
(2)查询第二个字是'花'字的成员
select id,name,age,sex,address,math,english,hire_date from stu where name like '_花%';
(3)查询名字中包含'德'字的学员信息
select id,name,age,sex,address,math,english,hire_date from stu where name like '%德%';
3、模糊查询 like
通配符:
(1)_:代表单个任意字符
(2)%:代表多个任意字符
(1)查询姓'马'的学员信息
select id,name,age,sex,address,math,english,hire_date from stu where name like '马%';
(2)查询第二个字是'花'字的成员
select id,name,age,sex,address,math,english,hire_date from stu where name like '_花%';
(3)查询名字中包含'德'字的学员信息
select id,name,age,sex,address,math,english,hire_date from stu where name like '%德%';
三、排序查询
关键字:order by
排序方式:
ASC: 升序排序
DESC: 降序排序
1、使用模板
2、案例
(1)查询学生信息,按照年龄升序排列
select * from stu ORDER BY age ASC;
select * from stu ORDER BY age;
(2)查询学生信息,按照数学成绩降序排列
select * from stu ORDER BY math DESC;
(3)查询学生信息,按照数学成绩降序排列。如果学生成绩一样,再按照英语成绩升序排列
select * from stu order by math desc,english asc;
四、聚合查询
1、使用模板
2、案例
(1)统计班级一共有多少个学生
select count(id) from stu;
(2)查询数学成绩的最高分
select max(math) from stu;
(3)查询数学成绩最低分
select min(math) from stu;
(4)查询数学成绩的平均分
select avg(math) from stu;
(5)查询数学成绩的总分
select sum(math) from stu;
五、分组查询
1、关键字:group by
2、使用模板
3、案例
select * from stu;
-- 1、查询男同学和女同学各自的数学平均分
select sex,avg(math) from stu group by sex;
-- 2、查询男同学和女同学各自的数学平均分,以及各自的人数
select sex,avg(math), count(sex) 人数 from stu group by sex;
-- 3、查询男同学和女同学各自的数学平均分,以及各自的人数,要求:分数低于70分的不参与分组
select sex,avg(math), count(sex) 人数 from stu where math>70 group by sex;
-- 3、查询男同学和女同学各自的数学平均分,以及各自的人数,要求:分数低于70分的不参与分组,分组之后人数>2
select sex,avg(math), count(sex) 人数 from stu where math>70 group by sex having count(sex)>2;
六、分组查询
1、关键字:limit
2、使用模板
3、案例
-- 1、从0开始查询,查询3条数据
select * from stu limit 0,3