常用的sql语句(二)

版权声明:未经许可不得转载 https://blog.csdn.net/weixin_44141532/article/details/87868345

一、查询

连接查询

1.内联

-- 内联,取两张表的交集
select * from1 inner join2 on 连接的条件;

2.左连接

-- 左边表不管在右边有没有找到对应信息 都显示
select * from1 left join2 on 连接的条件;

3.右连接

-- 右边表不管在左边有没有找到对应信息 都显示
select * from1 right join2 on 连接的条件;

子查询

-- 子查询:一个查询里面包含其他查询语句
-- 查询高于平均身高 height的学生信息
select * from student where height > (select avg(height) from students);

二、事务

事务可以保证我们一系列的操作要么都成功,要么都失败,确保数据操作的完整性

-- 开启事务两种方法
begin;
start transaction;

-- 回滚
rollback;  -- 数据将返回事务开启前原始值 此次事务结束

-- 提交
commit;  -- 一旦提交 保存操作 此次事务结束

三、视图

        视图是用来替换复杂的sql语句,它是对若干张表的引用,把复杂的sql语句功能封装起来的一张虚表,不用来存储具体的数据,所以我们的基本表数据发生改变时,视图也会改变。

-- 创建视图
create view view_视图名 as 查询语句;  -- 视图名一般以view 或 v开头

-- 查看视图
select * from view_视图名;

-- 删除视图
drop view view_视图名;

四、索引

作用:当我们的数据量非常庞大时,为了加快查询速度,我们会使用索引。索引可以理解为一本书的目录
注意:索引虽然可以加快查询的速度,但同时建立太多的索引会影响更新和插入数据的速度,因为在更新插入的同时需要更新每个索引文件,索引最好建立在不需要经常修改的数据,并且建立索引会占用磁盘空间

-- 创建索引
create index 索引名 on(索引字段);

-- 查看表中已有的表名
show index from 表名;

-- 删除索引
drop index 索引名 on 表名;

五、权限管理

用户权限信息存储在MySQL数据库user表中

-- 查看user表结构
desc user;

-- 主要字段 Host:允许访问的主机 User:用户名 authentication_string:加密后的密码
-- 查看所有用户
select host,user,authentication_string from user;

-- 创建用户并授权 grant
-- 部分权限
grant 权限列表 on 数据库 to '用户名'@'访问主机' identified by '密码';
-- 所有权限
grant all privileges on 数据库 to "用户名"@"访问主机" identified by "密码";

-- 增加权限  之后要刷新权限
grant 权限名 on 数据库 to 账户@主机 with grant option;

-- 刷新权限
flush privileges;

-- 修改密码  之后要刷新权限
update user set authentication_string=password(新密码) where user = 用户名;

-- 删除用户
drop user 用户名@主机;  -- 方法一
delete from user where user = 用户名; -- 方法二 操作结束之后需要刷新权限

user表中host列的值

  • %    此账户可使用任何ip主机登录访问此数据库 (可以远程)
  • localhost     只允许本机访问
  • IP地址   特定主机访问    127.0.0.1本机访问

猜你喜欢

转载自blog.csdn.net/weixin_44141532/article/details/87868345
今日推荐