mysql基础语句——增、删、查、改、聚合、排序

一、数据库操作


1、创建数据库

create datebase 数据库名

2、选择数据库
在创建好了数据库之后要记得选择数据库,不然在新建查询的时候会出现问题。

use 数据库名

3、删除数据库

drop 数据库名

二、数据表

students表
在这里插入图片描述
teacher表
在这里插入图片描述

1、创建数据表
主键是id

create table teacher(
id int PRIMARY key auto_increment,
name varchar(20),
class int not null
)

2、删除数据表

drop table 数据表名

3、往数据库增加数据(增)

这里要注意,就是如果默认就全部的数据都添加的话,students后面的(id,name,class,score) 就可以不需要,但是如果只有添加一部分数据,比如只想添加id和name,其他为空的话,就必须在students后面加上(id,name)

INSERT into students(id,name,class,score) values
(2,"李四",2,344),
(3,"王五",2,244),
(4,"李四",2,325);

4、删除数据(删)

DELETE from students where id=4

5、查找数据(查)

#查找数据表里面所有的数据
select * from students
SELECT name from students where grade=(SELECT max(grade) from students)

6、修改数据(改)

update students set teacher="陈老师" where id=1
update students set teacher="李老师" where id=2
update students set teacher="小布老师" where id=3

三、查询

1、where
后面为条件

update students set class=4 where id=4;
SELECT name from teacher 
where class = (SELECT class from students where name="张三")

2、order by(排序)

#desc表示降序,去掉出现的是升序的效果
SELECT * from students order by grade,class desc

3、group by (分组)
根据一个或者多个列对结果集进行分组
在分组上,我们可以使用count、sum、AVG等函数(建议自己百度group by进行详细学习,分组后数据的组合)

组合到一起的数据求总和

select name,sum(grade) from students GROUP BY class

4、JOIN

两个表格的字段
INNER JOIN ,内连接:获取两个表中字段匹配的关系记录
LEFT JOIN:左连接,获取左表中的全部数据,根据左表的数据与右表进行配对
RIGHT JOIN :又连接,获取右表的全部暑假,根据右表的数据与左表进行配对

举例:
下面两个表tb1,和tb2
在这里插入图片描述
在这里插入图片描述
INNER JOIN :
两边都配对的数据选择出来

SELECT * from tb1 INNER JOIN tb2 on tb1.id=tb2.id

在这里插入图片描述
LEFT JOIN :

SELECT * from tb1 left JOIN tb2 on tb1.id=tb2.id

按照左表的id进行排列,把左表的都选择出来,右表没有适合的配对就默认空值
在这里插入图片描述
RIGHT JOIN:

SELECT * from tb1 right JOIN tb2 on tb1.id=tb2.id

右边的全部显示出来,左边多余的部分就不选择出来
在这里插入图片描述

四、字段操作

五、函数


数值:
ABS(数值):绝对值
MOD(被除数,除数):求余
ROUND(数值,保留的小数位数):四舍五入

字符串:
字符串1||字符串2:拼接
LENGTH(字符串):字符串长度
LOWER(字符串):小写转换
UPPER(字符串):大写转换
REPLACE(字符串,替换前字符串,替换后字符串)
SUBSTRING(字符串 from 截取的起始位置 for 截取的字符数):字符串的截取

日期函数:
CURRENT_DATE:当前日期
CURRENT_TIMESTAMP:当前日期和时间

六、谓词


LIKE、BETWEEN、IS NULL 、IS NOT NULL、IN

1、LIKE——字符串的部分一致查询
可分为前方一致、中间一致和后方一致三种类型

#后方包含有ddd的字符串
select * from tb1 
where str1 like '%ddd'
#前方包含有ddd的字符串
select * from tb1 
where str1 like 'ddd%'
#中间包含有ddd的字符串
select * from tb1 
where str1 like '%ddd%'

2、BETWEEN——范围查询

select * from tb1 where hai between 100 and 1000

3、IS NULL /IS NOT NULL ——判断是否为NULL

select * from tb1 where hai is null

4、IN、NOT IN

select * from tb1 where hai IN(320,500,5000)

七、表的加法

1、UNION(并集)
将 表上下进行连接
下面为tb1 在这里插入图片描述
下面为tb2 在这里插入图片描述

将两个表进行并集,就会得到下面的结果,但是重复的部分会被消除掉,不会显示出来

SELECT id,name from tb1
union 
SELECT id,name from tb2

在这里插入图片描述

如果想要重复的部分也显示出来的话,可以加上ALL

SELECT id,name from tb1
union ALL
SELECT id,name from tb2

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值