MySQL增删改查及权限控制

1.什么是关系型数据库

关系型数据库是建立在关系模型基础上,由多张相互连接的二维表组成的数据库。通俗的讲,通过表存储数据的我们称为关系型数据库;不通过表存储数据的,我们称为非关系型数据库。

2.SQL分类

3.DDL语句

在命令行执行SQL指令时,‘;’如果没有拼写进去,系统会认为指令未结束

DDL语句--数据库操作语法:

show databases;  --展示所有的数据库
create database 数据库名;  --创建数据库
use 数据库名;  --使用该数据库
select database();  --查看目前所处的数据库
drop database 数据库名;  --删除该数据库

DDL语句--表操作语法

show tables;  --展示该数据库下所有的表
create table 表名(字段 字段类型 comment '',...);  --创建表
desc 表名;  --查看该表中的字段
show create table 表名;  --查询该表的建表语句
alter table 表名 add/modify/change/drop/rename to ...;  --添加字段/修改字段/修改字段名称及类型/删除字段/修改表名
drop table 表名;   --删除表

4.DML语句(增删改)

4.1、添加数据:

insert into 表名(字段1,字段2,...) values (值1,值2,...)[,(值1,值2,...)];  
--insert语句添加数据时:
--①如果表名后面有接字段名,则给指定的字段添加值,未指定的字段没有值;
--②如果表名后面没有接字段名,则给该表所有的字段添加值;
--③insert一次可以添加多条数据,数据间用‘,’隔开

4.2、修改数据

update 表名 set 字段1=值1,字段2=值2 where 条件;
--update时,如果不加条件,则修改全表

4.3、删除

delete from 表名 where 条件;
--delete 和 update一样,如果不指定条件,则删除全表数据

5.DQL(查)

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

表的查询根据关键字大致可以分为6中,基本查询,条件查询(where),聚合函数(count,max,min,avg,sum),分组查询(group by),排序查询(order by),分页查询(limit)

5.1、基本查询

select 字段1,字段2,... from 表名;  --查询具体字段
select * from 表名;  --查全表
select 字段1 as 别名1,字段2 as 别名2,... from 表名;  --字段别名查询,主要增加可读性
select distinct 字段列表 from 表名;  --去重查询

5.2、条件查询

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

主要的条件如下:

 5.3、聚合函数(count,max,min,avg,sum)

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

5.4、分组查询

select 字段列表 from 表名 [where 条件] group by 分组字段名 [having 分组后过滤条件];
--where与having区别
--执行时机不同:where是分组之前进行过滤,不满足不参与分组;having是分组后过滤
--判断条件不同:where不能对聚合函数进行判断,having可以

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

5.5、排序查询

select 字段列表 from 表名 order by 字段1 排序方式,字段2 排序方式;
--order by 支持多字段排序,如果是多字段排序,则先按字段1排序,字段1值相同的部分再按字段2排序

5.6、分页查询

select 字段列表 from 表名 limit 起始索引,查询记录数;
--起始索引从0开始,起始索引=(查询页码-1)*每页展示记录数
--分页查询是数据库的方言,MySQL中是limit
--如果查询的是第一页的数据,起始索引可以省略

5.7、DQL语句的执行顺序

from->where->group by ->having->select->order by ->limit

6、DCL语句(数据控制语言)

6.1、DCL-管理用户

--1.查询用户
use mysql;
select * from user;

--2.创建用户
create user '用户名'@'主机名' identified by '密码';

--3.修改用户密码
alter user '用户名'@'主机名' identified with mysql_native_password by '新密码';

--4.删除用户
drop user '用户名'@'主机名'

6.2、DCL-权限控制

 

--1.查询权限
show grants for '用户名'@'主机名';

--2.授予权限
grant 权限列表 on 数据库名.表名 to '用户名'@'主机名';

--3.撤销权限
revoke 权限列表 on 数据库名.表名 from '用户名'@'主机名';

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值