MySQL学习笔记(1)

目录

1.DDL

DDL-数据库操作

DDL-表操作

2.DML

DML-增删改操作

3.DQL

DQL-查询操作

基本查询

条件查询(WHERE)        

聚合函数(count、max、min、avg…)

分组查询(GROUP BY)

排序查询(ORDER BY)

分页查询(LIMIT)

DQL-执行顺序


 

1.DDL

DDL-数据库操作

SHOW DATABASES;

 

CREATE DATABASE 数据库名;

 

USE 数据库名

 

SELECT DATABASE();

 

DROP DATABASE 数据库名

DDL-表操作

SHOW TABLES;

 

CREATE TABLE 表名(字段  字段类型,字段  字段类型);

 

DESC 表名;

 

SHOW CREATE TABLE 表名;

 

ALTER TABLE 表名 ADD/MODIFY/CHANGE/DROP/RENAME TO…;

 

DROP TABLE 表名;

 


2.DML

DML-增删改操作

添加元素

 

INSERT INTO 表名(字段1,字段2…)VALUES(值1,值2…)[,(值1,值2…)…]

 

修改元素

 

UPDATE 表名 SET 字段1 = 值1,字段2 = 值2[WHERE 条件];

 

删除元素

 

DELETE FROM 表名[WHERE 条件];

 

 


3.DQL

DQL-查询操作

基本查询

1.查询多个字段

SELECT 字段1[AS 别名1],字段2[AS 别名2],字段3… FROM 表名;

2.去除重复记录

SELECT DISTINCT 字段列表 FROM 表名;

条件查询(WHERE)        

>大于
>=大于等于
<小于
<=小于等于
=等于
<> 或 !=不等于
BETWEEN……AND……在某个范围内(闭区间)
IN(……)在in之后的列表中的值
LIKE 占位符模糊匹配,类似正则(_匹配单字符,%匹配任意多个字符)
IS NULL是NULL
AND 或 &&并且
OR 或 ||或者
NOT 或 !

LIKE匹配的小例子:

1.匹配两个名字的员工信息

select * from 表名 where name like '__';

2.匹配身份证号尾号为X的员工的信息

select * from 表名 where idcard like '%X'

 

聚合函数(count、max、min、avg…)

SELECT 聚合函数(字段列表) FROM 表名

 

函数功能
count统计数量
max最大值
min最小值
avg平均值
sum求和

分组查询(GROUP BY)

SELECT 字段列表 FROM 表名[WHERE 条件] GROUP BY 分组字段名 [HAVING 分组后的过滤条件]

where与having的区别:

  • 执行时机不同:where是分组之前进行过滤,不满足where条件,不参与分组;而having是分组之后对结果进行过滤。
  • 判断条件不同:where不能对聚合函数进行判断,而having可以。

小例子:

1.根据性别分组,统计男性员工和女性员工的数量

select gender,count(*) from 表名 group by gender;

2.根据性别分组,统计男性员工和女性员工的平均年龄

select gender,avg(age) from 表名 group by gender;

3.查询年龄小于45的员工,并根据工作地址分组,获取员工数量大于等于3的工作地址

select workaddress,count(*) from 表名 where age < 45 group by workaddress having count(*) >= 3;

注意:

  • 执行顺序:where > 聚合函数 > having
  • 分组之后,查询的字段一般为聚合函数和分组字段,查询其他字段无任何意义

 

排序查询(ORDER BY)

SELECT 字段列表 FROM 表名 ORDER BY 字段1 排序方式,字段2 排序方式;

排序方式:

  • ASC:升序(默认值,可不写)
  • DESC:降序

 

分页查询(LIMIT)

SELECT 字段列表 FROM 表名 LIMIT 起始索引,查询记录数;

注意:

  • 起始索引从0开始

DQL-执行顺序

 

7109d91204f944d0974fd0230e1d83d2.png

图片来源:黑马程序员MySQL入门教程

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值