mysql入门

数据库概念

数据库(BD):存储数据的仓库
数据库管理系统(DBMS):操作和管理数据库的大型软件
SQL:操作关系型数据库的编程语言

SQL分类

DDL(Data Definition Language):数据定义语言,用来定义数据库对象(数据库,表,字段)
DML(Data Manipulation Language):数据操作语言,用来对数据库表中的数据进行增删改
DQL(Data Query Language):数据查询语言,用来查询数据库中表的记录
DCL(Data Control Language):数据控制语言,用来创建数据库用户、控制数据库的访问权限

一、DDL 数据定义语言

1 数据库操作

1.1 查询所有数据库

show databases ;

请添加图片描述

1.2 创建数据库

create database [if not exists] 数据库名 [default charset 字符集 ] [ collate 排序 规则 ] ;

请添加图片描述

1.3 删除数据库

drop database [if exists] 数据库名 ;

请添加图片描述

1.4 切换数据库

use 数据库名 ;

请添加图片描述

1.5 查询当前数据库

select database() ;

请添加图片描述

2 表操作

2.1 查询当前数据库所有表

show tables ;

请添加图片描述

2.2 创建表结构

create table 表名(
字段1 字段1类型 [comment 字段1注释],
字段2 字段2类型 [comment 字段2注释],

字段n 字段n类型 [comment 字段n注释]
)[comment 表注释] ;

这里我们创建一个tb_user表,表中有id、name、age、gender字段
请添加图片描述

2.3 查看指定表结构

desc 表名 ;

请添加图片描述

2.4查询指定表的建表语句

show create table 表名 ;

请添加图片描述

请添加图片描述

3 表操作-修改

3.1 添加字段

alter table 表名 add 字段名 类型 [comment 注释] [约束] ;

请添加图片描述
请添加图片描述

3.2 修改数据类型

alter table 表名 modify 字段名 新数据类型 ;

请添加图片描述
请添加图片描述

3.3 修改字段名和字段类型

altar table 表名 change 旧字段名 新字段名 类型(长度)[comment 注释] [约束] ;

请添加图片描述
请添加图片描述

3.4 删除字段

alter table 表名 drop 字段名 ;

请添加图片描述
请添加图片描述

3.5 修改表名

alter table 表名 rename to 新表名 ;

请添加图片描述

4 表操作-删除

4.1 删除表

drop table [if exists] 表名 ;

请添加图片描述

4.1 删除表,并重新创建表

truncate table 表名;
在删除表的时候,表的全部数据也会被删除

请添加图片描述

二、DML数据库操作语言

添加数据(insert)
修改数据(update)
删除数据(delete)

1 添加数据

insert into 表名 (字段名1,字段名2,…) values (值1,值2,…) ;

请添加图片描述

请添加图片描述

2 修改数据

update 表名 set 字段名1=值1,字段名2=值2,… [where 条件];
如果没有条件,会修改整张表的所有数据

请添加图片描述
请添加图片描述

3 删除数据

delete from 表名 [where 条件];
如果没有条件,会删除整张表的所有数据

请添加图片描述
请添加图片描述

三、DQL数据库查询语言

在此之前我们建立如下表:
请添加图片描述

1 基本语法

select 字段列表
from 表名列表
where 条件列表
group by 分组字段列表
having 分组后条件列表
order by 排序字段列表
limit 分页参数

2 基础查询

select 字段1,字段2,字段3,… from 表名 ;
如果查询所有字段也可以用*,即select * from 表名

请添加图片描述
请添加图片描述

查询的时候可以设置别名,这样方便查看
select 字段1[as 别名1] … from 表名 ;

请添加图片描述
请添加图片描述

去除重复记录
select distinct 字段列表 from 表名 ;
请添加图片描述
请添加图片描述

3 条件查询

3.1 语法

select 字段列表 from 表名 where 条件列表 ;

比较运算符功能
>大于
>=大于等于
<小于
<=小于等于
=等于
<> 或 !=不等于
BETWEEN … AND …在某个范围之内(含最小、最大值)
IN(…)在in之后的列表中的值,多选一
LIKE 占位符模糊匹配(_匹配单个字符, %匹配任意个字符)
IS NULL是NULL
逻辑运算符功能
AND 或 &&并且 (多个条件同时成立)
OR或||或者 (多个条件任意一个成立)
NOT 或 !非 , 不是

3.2 案例

查询年龄等于20的员工
请添加图片描述

查询年龄在15岁(包含) 到 20岁(包含)之间的员工信息
请添加图片描述
查询年龄等于18 或 20 的员工信息
请添加图片描述
查询姓名为两个字的员工信息
请添加图片描述
查询身份证号最后一位是X的员工信息
请添加图片描述

4 聚合函数

4.1 语法

select 聚合函数(字段列表) from 表名 ;
注意null不参与所有聚合函数的运算

4.2 聚合函数分类

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

4.3 案例

统计该企业员工数量
请添加图片描述

统计该企业员工的平均年龄
请添加图片描述
统计该企业员工的最大年龄
请添加图片描述

5 分组查询

5.1 语法

select 字段列表 from 表名 [where 条件] group by 分组字段名 [having 分组后过滤条件];
注意:where和having的区别
1.where是分组之前进行过滤,having是分组之后对结果进行过滤
2.where不能对聚合函数进行判断,having可以

5.2 案例

根据性别分组,统计男性员工 和 女性员工的平均年龄
请添加图片描述
查询年龄小于45的员工 , 并根据工作地址分组 , 获取员工数量大于等于3的工作地址
请添加图片描述

6 排序查询

6.1 语法

select 字段列表 from 表名 order by 字段1 排序方式1,字段2 排序方式2;
ASC:升序(默认)
DESC:降序

6.2 案例

根据入职时间, 对员工进行降序排序
请添加图片描述

7 分页查询

7.1 语法

select 字段列表 from 表名 limit 起始索引,查询记录数;
注意:1.起始索引从0开始,起始索引 = (查询页码 - 1)* 每页显示记录数。
2.如果查询的是第一页数据,起始索引可以省略,直接简写为 limit 10

7.2案例

查询第1页员工数据, 每页展示10条记录
请添加图片描述

执行顺序【重要】

我们编写顺序必须遵守
select->from->where->group by->having->order by->limit

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值