MySQL数据库语句总结

一. 数据定义语言 DDL

数据定义语言,用来定义数据库对象的(比如:数据库、表、字段等)

1. 数据库操作

(1)查询所有的数据库 ------ show databases;

(2)创建数据库 ------ create database test;

(3)创建字符集:utf8默认为3个字符集,utf8mb4为4个字符集------create database slj default charset utf8mb4;

(4)使用数据库------ use slj;

(5)删除数据库------drop database slj;

2. 表操作

(1)展示数据库中的表------show tables;

(2) 创建表

create table 表名 (

变量名 变量类型 comment '注释',

变量名 变量类型 comment '注释',

变量名 变量类型 comment '注释',

变量名 变量类型 comment '注释',

);

(3)查询表------desc 表名

(4)展示更为详细的信息------ show create table user;

(5)表修改------添加字段

alter table 表名 add 字段名 类型(长度)

(6)表修改------修改数据类型:alter table 表名 modify 字段名 新数据类型(长度);

(7)表修改------修改字段名: alter table 表名 change 旧字段名 新字段名 类型(长度);

(8)表修改------删除字段

alter table 表名 drop 字段名

(9)表修改------修改表名

alter table 表名 rename to 新表名

(10)删除表------drop table 表名

二. 数据库操作语言 DML

数据库操作语言,对数据进行增(insert)删(delete)改(update)。

1. 增加:insert

①给指定字段添加数据

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

②给全部字段添加数据

insert into 表名 values (值1,值2,值3...);

③批量添加数据

insert into 表名 values (值1,值2,值3...), (值1,值2,值3...);

运行结果:

2. 修改:update

update 表名 set 字段名1=值1,字段名2=值2...[where 条件];

3. 删除:delete

delete from 表名 [where 条件]

三. 数据库查询语言 DQL

数据库查询语言,用来查询数据库中表的记录 select

1. 基本查询

(1)查询信息

select 字段1,字段2,字段3 from 表名;

(2)起别名

select 字段1 as 别名1... from 表名;

(3)去重查询

select distinct 字段列表 from 表名;

2. 条件查询 where

select 字段列表 from where 条件列表

① between 最小值 and 最大值

② 字符串判断是否为空 is (not) null

③ like :模糊处理字符,'_'代表字符个数,'%'代表精确的字符

④不等式两种实现方法: != 和 <>

⑤&& = and

⑥|| = or

⑦一个字符列表匹配多个值 in(值1,值2,值3)

3. 聚合查询

聚合函数:将一列数据作为整体,进行纵向计算

select 聚合函数(字段列表)from表名

常见的聚合函数:count max min avg sum

统计数量:

统计平均年龄

统计最大年龄

统计最小年龄

统计年龄和

4. 分组查询 group by... having

select 字段列表 from 表名 where... group by 分组字段名 having 分组后过滤条件;

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

②根据年龄分组,统计年龄为12的女员工数量

4. 排序查询 order by

如果是多字段排序,当第一个字段值相同的时候,才会根据第二个字段进行排序 。

asc:升序(默认值)

desc:降序

年龄相同,根据id进行排序

5. 分页查询 limit

select 字段列表 from 表名 limit 起始索引,查询页数;

注意语句的编写顺序是:from------whre------group by------having------order by------limit

四. 数据库控制语言 DCL

控制数据库的访问权限,用来管理数据库用户。

  1. 查询用户
    use mysql;
    select * from user;
  2. 创建用户
    create user '用户' @ '主机名' identified by '密码';
  3. 权限控制
    3.1 查询权限
    show grants for ...;
    3.2 授予权限
    grant all on ... to...;
    3.3 撤销权限
    revoke all on ... from...;
相关推荐
雨夜赶路人23 分钟前
SQL -- GROUP BY 基本语法
数据库·sql
cr7xin38 分钟前
缓存查询逻辑及问题解决
数据库·redis·后端·缓存·go
何中应44 分钟前
Oracle数据库安装(Windows)
java·数据库·后端·oracle
遇见你的雩风1 小时前
【MySQL】--- 视图
数据库·mysql
Thepatterraining1 小时前
大厂架构师揭秘:MySQL缓冲池为什么不用mmap?LRU-K算法详解
数据库·mysql
LB21121 小时前
Redis黑马点评 分布式锁
数据库·redis·分布式
无敌最俊朗@2 小时前
SQlite:电影院售票系统中的主键(单列,复合)约束应用
java·开发语言·数据库
全栈工程师修炼指南2 小时前
DBA | Oracle 数据备份迁移之数据泵 expdp/impdp 工具实战指南
数据库·oracle·dba
迷了璐的航2 小时前
mybatis解决查询中使用group by时出现sql_mode=only_full_group_by
数据库·sql·mybatis
金仓拾光集2 小时前
「安全升级 + 零代码平替」金仓数据库如何实现MongoDB社交动态发布系统的无缝迁移?
数据库·安全·mongodb·kingbase·kingbasees·数据库平替用金仓·金仓数据库