导图社区 MySQL数据库
51CTO学堂红帽培训品牌,mysql数据库证书 以实战\应用\实践为目的,帮助学员掌握真正技能学mysql数据库证书认证,让企业给你主动加薪,助力学员实现IT职场高薪梦想
编辑于2022-06-21 14:35:42熊英-MySQL数据库思维导图
数据定义
查看所有数据库
show databases
创建数据库
create database 数据库名称 character set 字符编码集
查看创建好的数据库
show create database 数据库名称
选择使用数据库
use 数据库名称
删除数据库
drop database 数据库名称
数据视图
创建视图
Create view
替代同名视图 or replace
在select中查找多个同名视图 select
插入数据
with check option
修改视图定义
alter view
删除视图
drop view视图名
数据库操作语句
创建表和数据库
create table 表名(列名 数据类型);
create database (数据库名);
查看当前数据库全部表
show tables
查看表结构
desc 表名
插入语句
向全部列插入数据
insert into 表名 values(列值1,列值2,...)
向指定列插入数据
insert into 表名(列名1,列名2...) values(列值1,列值2,...)
批量插入数据
insert into 表名 values(列值1,列值2,...),(列值1,列值2,...)
更新语句
update 表名 set 列名1=该列新值,.. where 条件
删除表中数据
delete form 表名 where 条件
删除表
drop table 表名
数据查询语句
查询全部列数据
select * from 表名
查询指定列数据
select 列名1,列名2,.. from 表名
给列起别名
select 列名1 as 别名1, 列名2 as 别名2,..from 表名
去掉重复的列值
select distinct from 表名
限制查询
select */列名 from 表名 limit 初始位置,行数
排序
select */列名 from 表名 order by 列名1 asc/desc,列名2 asc/desc
条件查询
select */ 列名 from 表名 where 条件 order by 列名1 asc/desc,列名2 asc/desc
关系运算符
>,<,=,>=,=<,<> / !=
逻辑运算符
and 、or 、not
特殊情况
is、between...and、in、like
特殊限制查询
null
not null
between...and
in
like
%表示0个或者多个任意字符
_ 表示任意1个字符
聚合(分组)函数
count(*/列名) 个数
sum(*/列名) 和
avg(*/列名) 平均
min(*/列名) 最小值
max(*/列名) 最大值
分组查询
select 列名/聚合函数 From 表名 Where 条件 Group by 列名 Order by 列名1/聚合函数 asc/desc,列名2/聚合函数 asc/desc;
having 语句
select 列名/聚合函数 From 表名 where 条件 group by 列名 having 条件 order by 列名/聚合函数 asc/desc;
(子查询)嵌套查询
一条sql语句中又包含一条sql语句
例:Select empno,ename,job,sal from emp Where sal>(select avg(sal) from emp)
多表连接查询
内连接查询
Select 别名1.*/列名,别名2.*/列名,...... From 表1 别名1,表2 别名2,...... Where 关联条件;
外连接查询
左外连接查询
Select 别名1.*/列名,别名2.*/列名 From 左表 别名1 left join 右表 别名2 on 关联条件;
右外连接查询
Select 别名1.*/列名,别名2.*/列名 From 左表 别名1 right join 右表 别名2 on 关联条件;
约束
主键约束primary key
创建表时,添加主键约束
例:Create table work01 (id int primary key,name varchar(30),age int(3)); Desc work01;
修改表时,添加主键约束
alter table 表名 add primary key(列名1,列名2,....);
删除主键约束
Alter table work04 drop primary key;
唯一约束unique
创建表时,添加唯一约束
例:Create table work05( Id int(8) primary key, Name varchar(30) unique);
修改表时,添加唯一约束
Alter table 表名 add unique(列名1,列名2,......列名n);
删除唯一约束
Alter table 表名 drop index key_name值;
Show keys from 表名;
默认值约束default
创建表时,添加默认值约束
例:Create table work06(id int primary key, Name varchar(30) unique, Age int(3) default 18);
修改表时,添加默认值约束
Alter table 表名 modify 列名 数据类型 default 默认值;
删除默认值约束
Alter table 表名 modify 列名 数据类型 default null;
非空约束(not null)
创建表时,添加非空约束
例:Create table work07( Id int primary key, Sex char(3) not null);
修改表时,添加非空约束
Alter table 表名 modify 列名 数据类型 not null;
删除非空约束
Alter table 表名 modify 列名 数据类型;
数据安全
用户和数据管理权限
添加用户
Create user 用户名 [identified by '密码']
修改用户密码
Set password[for 用户名]='新密码'
删除用户
drop user 用户名1 [,用户名2]…
修改用户名
rename user 旧用户名 to 新用户名 [,…]
drop user
授予权限
grant 语句
查看当前账户拥有什么权限
show grants
回收权限
Create user
update
数据编程
系统内置函数
数学函数
字符串函数
日期和时间函数
控制流函数
分支语句
if 语句
case 语句
循环语句
while
repeat
loop
leave
子主题
存储过程
创建存储过程
Create procedure 存储过程名 (〔参数〔,…〕〕) 存储过程体
修改结束符号
delimiter $$
存储过程体
局部变量
declare 变量 [,…] 类型[default值]
select nto语句
select 列名 [,…] into 变量名[,…]数据来源表达式
显示存储过程
Show Procedure status;
Show create procedure存储过程名;
调用存储过程
call 存储过程名 ([参数[,…]])
删除存储过程
Drop procedure [If exists] 存储过程名
存储函数
创建存储函数
Create function
调用存储函数
Select 存储函数名 ([参数〔,…〕])
查看存储函数
Show function status;
删除存储函数
drop function [if exists]存储函数名
设置触发器
创建触发器
Create triggered语句
Create trigger触发器明触发时间,触发事件 on表名 for each row 触发器动作
删除触发器
drop trigger 触发器名
索引
创建索引
create index
alter table 表名 add index 索引名(列名)
创建表时创建索引
create table 表名(列名,…|〔索引项〕)
删除索引
drop index语句
drop index 索引名 on 表名
altertable 语句删除
alter [ignore] table 表名 | drop primary key | drop index 索引名
数据更新语句