在上次的两堂课中开始学习了MySQL的基础知识,从=基本的创建,修改,删除用户开始学起
#创建用户
create user yang identified by'123456';
#修改用户
alter user yang identified by'147852';
#删除用户
drop user yang ;
接下来就是创建表及使用的一系列的学习
创建,修改,删除表格:
#外键约束 保证数据一致性
create table mytable
(
number int primary key,#主键约束,表述每一个表只有一个主键,当前列信息不允许重复或为空
name varchar(45) unique, #唯一约束,这列值不允许重复或为空
age datetime default now(),#默认约束
sex enum('男','女')
);
alter table mytable add column address varchar(45);
alter table mytable modify address int;
alter table mytable drop column address;
drop table mytable;
其次就是在表格中进行查询,运用了很多的方法(very)
在表中查询,增加,修改,删除:(这还是很简单的)
#查询
#select 列名 from 表名
select number from mytable;
select number,name from mytable;
select * from mytable;
#增加
#insert into 表名 values(值,值,值)
insert into mytable values(1,'test','202201','man');
insert into mytable values(2,'test','202202','man');
insert into mytable values(3,'test','202203','man');
insert into mytable values(4,'test','202204','man');
insert into mytable(number,sex) values(2,'woman');
#修改
update mytable set sex='男';
#删除
delete from mytable;
特定条件的查询(不同方式):
select *from mytable where number=1;
select *from mytable where number!=1;
select *from mytable where number<>1;
select *from mytable where number>=1 and number <=3;
select *from mytable where number between 1 and 3;
select *from mytable where number= 1 or number=3;
select *from mytable where number in(1,4,7);
select *from mytable where number not in(1,4,7);
update mytable set name='ttt' where number=2;#更新,差不多是修改吧
模糊匹配,limit,排序函数的使用:
#模糊匹配 like %任意0个或多个字符 ——代表任意一个字符
select * from mytable where number like 't%';
select * from mytable where number like '%t';
select * from mytable where number like '%1%';
select * from mytable where number like '_e%';
#limit限制显示个数以及位置
select*from mytable limit 3;
select*from mytable limit 1,2; #偏移,显示
#排序函数 order by +lie +asc 升序/desc 降序
select*from mytable order by age desc,number asc;
三种范式:#第一范式 属性不可以拆分
#第二范式 不允许对组合主键的部分依赖
#第三范式 不允许传递依赖
连接函数和聚合函数的应用:(分组就是增加了条件,说白了就是事多了)
#聚合函数 将多个结果聚合成一个值
select max(score) from sc;
select min(score) from sc;
select sum(score) from sc;
select avg(score) from sc;
select count(score) from sc;
#求出student男女生的个数
#union all 连接函数 列的个数 类型保持一致
select count(ssex)from student where ssex='男'
union all
select count(ssex)from student where ssex='女';
select *from student;
select ssex,count(ssex)from student group by ssex;
#分组group by + 条件 having
#分了组的列,或者加了聚合函数
select ssex,count(ssex)from student group by ssex having count(ssex)=4;
连接函数就是把两种列的个数,类型保持一致的查询连接在一起
select也可以当条件
多表查询:(简化了过多的步骤)
#多表查询
#内联
select *from student;
select*from sc;
select *from student inner join sc on student.snum=sc.snum;
#左联
select *from student left join sc on student.snum=sc.snum;
#右联
select *from student right join sc on student.snum=sc.snum;
#笛卡尔积
select*from student,sc where student.snum=sc.snum;
今天的总结就是这麽多,去吃荔枝了