推荐使用安装包的方式安装,安装完成之后通过修改mysql的配置文件my.ini将字符集修改为utf8
显示数据库
show databases;
如果数据库mysql9_17已经存在就删除mysql9_17
drop database if exists mysql9_17;
创建数据库mysql9_17并设置字符集为utf8
create database if not exists mysql9_17 character set utf8mb4;
查看mysql9_17数据库中有哪些表
show tables;
如果表student已经存在就删除student
drop table if exists student;
创建部门表depart,字段有depart_id(主键自增),name
create table depart(depart_id int primary key auto_increment,name varchar(20));
查看depart表结构
创建员工表staff,字段有staff_id,name,age,depart_id
create table staff(staff_id int primary key auto_increment,name varchar(20),age int,depart_id int);
查看staff表的结构
创建薪资表salary,字段有salary_id,staff_id,salary,month
create table salary(salary_id int primary key auto_increment,staff_id int,salary decimal(11,2),month datetime);
查看salary表的结构
表创建好了之后,现在往三个表里面插入数据,在往表里插入数据的过程中,可以指定插入的列,默认为所有列;同时,也可以一次插入多条数据,括号之间用逗号隔开,一般认为一次插入多条数据比一次插入一条数据更高效
insert into depart values(null,'市场部');
insert into depart values(null,'技术部');
insert into staff values(null,'鲁硕',23,1),(null,'喻能',23,1),(null,'孙医贵',23,2),(null,'朱佳龙',23,2);
insert into salary values(null,1,10000,'2021-9-18 10:00:00'),(null,2,10000,'2020-9-18 10:00:00'),(null,3,10000,'2019-9-18 10:00:00'),(null,3,10000,'2018-9-18 10:00:00');
查看三张表的所有数据
查询薪资表将每个人的工资增加10000的数据(查询结果只是临时表,不会影响磁盘上的数据)
select salary+10000 from salary;
去重操作:针对查询到的结果去除salary表中工资相同的数据
select distinct salary from salary;
根据salary_id进行升序或者降序排列显示
更改salary表中staff_id为2的salary的值为20000
注意update语句如果不指定where的话就是修改所有数据,比较容易出错。
update salary set salary=20000 where staff_id=2;
update salary set salary=30000 where staff_id=3;
update salary set salary=40000 where staff_id=4;
条件查询:查询salary表中工资大于25000的数据信息
select * from salary where salary>25000;
注意判断null值的<=> <>
update salary set salary=null where salary_id=4;
select * from salary where
条件查询中还可以使用逻辑与(and)逻辑或(or)
同时还有关键字 in
分页查询(也是为了防止传输量过大是出现问题):分页查询的两种方式
select * from salary limit 1;
select * from salary limit 1 offset 1;
--从第二条数据开始,往后取一条数据
select * from salary limit 1 offset 2;
select * from salary limit 1 offset 3;
从第三条数据开始,往后取一条数据
select * from salary limit 3,1;
删除salary表
删除salary表里面的所有数据
删除salary表里面的某些数据
drop table salary;
delete from salary;
delete from salary where salary_id=1;