MySQL

本文详细介绍了MySQL中DDL(定义)、DML(操作)、DQL(查询)和DCL(控制)语句,包括创建、修改、查询数据库和表结构,以及增删改查数据的基本操作和复杂查询技巧。涵盖了表操作、分组、聚合函数和数据库备份等内容。
摘要由CSDN通过智能技术生成

## MySQL语句的分类

```mysql
DDL语句;数据库定义语言,用来定义数据库对象(数据库,表,字段)
DML语句;数据库操作语言,用来对数据库中的表进行增删改
DQL语句;数据库查询语言,用来查询数据库中表的记录
DCL语句;数据库控制语言,用来创建数据库用户,控制数据库的访问权限
```

## DDL语句-数据操作

```mysql
show databases;查询所有数据库
select database();查询当前数据库
create database数据库名;创建数据库
drop database数据库名;删除数据库
use 数据库名;使用那个数据库
show tables;查询当前数据库所有表
desc 表名;查询表结构
show create table 表名;查询指定表的建表语句
```

## DDL-表操作

```mysql
创建表
[]可不写
create table 表名(
    字段1 字段1类型[comment 字段1注释],
    字段2 字段2类型[comment 字段2注释],
    字段3 字段3类型[comment 字段3注释],
    .....
)[comment 表注释];
修改表
添加字段
alter table 表名 add 字段名 类型(长度)[comment 注释];
修改数据类型
alter table 表名 modify 字段名 新数据类型(长度);
修改字段名和字段类型
alter table 表名 change 旧字段名 新字段名 类型(长度)[comment 注释];
删除字段
alter table 表名 drop 字段名;
修改表名
alter table 表名 rename to 新表名;
删除表
drop table if exists 表名;
删除指定表,并重新创建该表
truncate table表名;
```

## DML语句操作

**数据库操作语言,就是用来对数据库中表的数据记录进行增删改操作**

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

添加数据(insert)
1.给指定字段添加数据
insert into 表名(字段名1,字段名2,...)values(值1,值2,...);
2.给全部字段添加数据
insert into 表名 values(值1,值2,...);
3.批量添加数据
insert into 表名(字段名1,字段名2,...)values(值1,值2,...),(值1,值2,...),(值1,值2,...);
insert into 表名 values(值1,值2,...),(值1,值2,...),(值1,值2,...);

修改数据(update)
update 表名 set 字段名1=值1,字段名2=值2,...[where 条件];

删除数据(delete)
delete from 表名 [where 条件]
```

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ULsfXCMS-1652372204937)(D:\学习笔记\images\Snipaste_2022-03-10_09-27-49.png)]

## DQL语句操作

**DQL语句(数据查询语言)用来查询数据库中表的记录**

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

### DQL-基本查询

```mysql
1.查询多个字段
select 字段1,字段2,字段3...from 表名;
select *from 表名;
2.设置别名
select 字段1[as 别名2],字段1[as 别名2]...from 表名;
3.去除重复记录
select distinct 字段列表 from 表名;

举例:
    1.查询指定字段 name,workno,age 返回
    select name,workno,age from user;
    2.查询所有字段返回
    select id,workno,name,gender,age,idcard from user;
    3.查询所有员工的工作地址,起别名
    select workaddress as'工作地址'from user;
    4.查询公司员工的上班地址(不要重复)
    select distinct workaddress'工作地址'from user;
```

### DQL-条件查询

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

举例:
    1.查询年龄等于88的员工
    select *from user where age=88;
    2.查询年龄小于28的员工信息
    select *from user where age<28;
    3.查询年龄小于等于20的员工信息
    select *from user where age<=20;
    4.查询没有身份证号的员工信息
    select *from user where idcard is null;
    5.查询有身份证号的员工信息
    select *from user where idcard is not null;
    6.查询年龄不等于88的员工信息
    select *from user where age !=88;
    7.查询年龄在15岁(包含)到20岁(包含)之间的员工信息
    select *from user where age >=15 && age<=20;
    select *from user where age >=15 and age<=20;
    select *from user where age beween 15 and 20;
    8.查询性别为女且年龄小于25岁的员工信息
    select *from user where gender='女'and age<25;
    9.查询年龄等于18或20或40的员工信息
    select *from user where age=18 or age=20 or age=40;
    select *from user where age in(18,20,40);
    10.查询姓名为两个字的员工信息
    select *from user where name like'__';
    11.查询身份证号最后一位是X的员工信息
    select *from user where idcard like'%X';
```

### DQL-聚合函数

**聚合函数就是将一列数据作为一个整体,进行纵向计算。**

```mysql
常见的聚合函数
count------统计数量
max--------最大值
min--------最小值
avg--------平均值
sum--------求和
语法:
    select 聚合函数(字段列表)from 表名;

举例:
    1.统计班级人数
    select count(*)from user;
    select count(id)from user;
    2.统计该企业员工的平均年龄
    select avg(age)from user;
    3.统计该企业员工的最大年龄
    select max(age)from user;
    4.统计该企业员工的最小年龄
    select min(age)from user;
    5.统计太原地区员工年龄之和
    select sum(age)from user where workaddress='太原';
    
--分组查询:group by
--select 字段列表 from 表名  group by 分组字段名称;
--注意事项:  1)查询的字段列表中可以使用 分组字段
             2)group by之后不能使用聚合函数

-- 筛选查询 having
-- where条件,group by,having  必须先有条件,分组,然后才筛选!
-- 注意:筛选的后面可以使用聚合函数,group by的后面是不能使用聚合函数的

分页查询 limit
-- select 字段列表 from 表名   limit 起始行数,每页显示的条数;
-- 起始行数:从0开始算的,    
-- 起始行数 = (当前页码-1)*每页显示的条数
-- 前提条件:每页显示2条,

# 数据库备份

```
-- 数据库的备份和还原
-- 方式1:图形界面化工具
备份:选中库名,右键----->BACKUP/Export 备份导出---->选中Sql脚本,存储到本地某个磁盘上----->StructureAndData:表的结构和数据都需要备份
还原:先在SqlYog将myee_2203删除了,新建库右键---->Import 导入---->选中执行execute sql 脚本
-- 数据库的备份和还原命令行的方式2
    备份:
        以管理员身份进入dos,不需要登录mysql
        保存到指定路径上
        mysqldump -uroot -p你的密码  库名 >  磁盘上的路径xx\xx\xx.sql
    还原: 
        进入dos控制台,登录mysql
      先将库删除,新建一个库
      使用这个库 use库名;
      
      加载指定路径的sql脚本
      source 备份的sql脚本路径
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值