【1.MYSQL基础语法】

创建数据库

创建并指定字符集为 utf8mb4

CREATE DATABASE IF NOT EXISTS db_name CHARACTER SET utf8mb4;

使用数据库

use db_name;

删除数据库

DROP DATABASE [IF EXISTS] db_name;

创建表

在已选定数据库的情况下创建表

CREATE TABLE table_name (
 field1 datatype,
 field2 datatype,
 field3 datatype
);

删除表

drop table if exists table_name;

在表中新增数据

INSERT [INTO] table_name (列名1,列名2.....VALUES (value_list)

查询

全列查询
SELECT * FROM table_name;
指定列查询 查询字段可为表达式
SELECT id, name, 列名1+ 列名2+ 列名3 as 新列名 FROM table_name ;
去重
SELECT DISTINCT 列名 FROM table_name ;
排序

ASC : 升序
DESC : 降序

SELECT ... FROM table_name [WHERE ...] 
 ORDER BY column [ASC|DESC], [...];

//SELECT name, qq_mail FROM student  ORDER BY qq_mail DESC
条件查询 where
//SELECT name, chinese + math + english 总分 FROM exam_result 
// WHERE chinese + math + english < 200;
范围查询
between and
//SELECT name, chinese FROM exam_result WHERE chinese >= 80 AND chinese <= 90;

in
//SELECT name, math FROM exam_result WHERE math IN (58, 59, 98, 99);
模糊查询 like
-- % 匹配任意多个(包括 0 个)字符
SELECT name FROM exam_result WHERE name LIKE '孙%';-- 匹配到孙悟空、孙权
-- _ 匹配严格的一个任意字符
SELECT name FROM exam_result WHERE name LIKE '孙_';-- 匹配到孙权
分页查询
-- 从 s 开始,筛选 n 条结果
SELECT ... FROM table_name [WHERE ...] [ORDER BY ...] LIMIT n OFFSET s;

修改

//UPDATE exam_result SET math = 60, chinese = 70 WHERE name = '曹孟德';

删除

//DELETE FROM exam_result WHERE name = '孙悟空';

聚合查询与聚合函数

//count(distinct id) 函数返回去重过后的结果
在这里插入图片描述

group by 子句

SELECT 中使用 GROUP BY 子句可以对指定列进行分组查询。需要满足:使用 GROUP BY 进行分组查
询时,SELECT 指定的字段必须是“分组依据字段”,其他字段若想出现在SELECT 中则必须包含在聚合函数中。

// select role,max(salary),min(salary),avg(salary) from emp group by role;
HAVING

GROUP BY 子句进行分组以后,需要对分组结果再进行条件过滤时,不能使用 WHERE 语句,而需要用
HAVING

//select role,max(salary),min(salary),avg(salary) from emp group by role 
//having avg(salary)<1500;

联合查询

实际开发中往往数据来自不同的表,所以需要多表联合查询。多表查询是对多张表的数据取笛卡尔积.
在这里插入图片描述
详情参考

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值