MySQL入门

数据库

目录

数据库

1、数据库简单概念

2、MySQL权限

1、设置权限

2、撤销权限

3、查看用户权限

3、操作库

1、账号管理

2、创建数据库

4、四大引擎简介

1、在表设计中的选项中可以设计这张表的引擎

2、引擎介绍


思维导图

1、数据库简单概念

在一个程序应用中所产生的数据进行保存的地方。如果将这些数据保存在内存中容易损坏和丢失且

不易操作管理,用户的密码等这些数据是非常重要的,必须妥善管理。为了解决数据的安全,方便

管理这一需求就产生了数据库!

数据库还有:SQLserver,Oracle,MySQL,DB2...

2、MySQL权限

前言:

学习权限之前先理解为什么会出现权限这一说。假如一个公司是专门开发医疗项目的,A医院有一

个项目,B医院也有,那么数据库就有两个。首先是高层(超级管理员)拥有所有数据库的操作权

限,一个人精力是有限的,所以超级管理员可以创建一个用户(高级管理员)(操作数据库的用

户),将对数据库A的权限分配给该用户,然后将该账号给自己的手下,高级管理员也可以创建用

户a,b,c等,分配a用户拥有对订单表的操作权限管理订单模块,b用户拥有商品表的操作权限管理

商品模块。

1、设置权限

#语法:grant privileges on databasename.tablename to username@'host';
#给 zs用户 赋予 数据库db_xiaoli中所有表 查询权限
grant SELECT on db_xiaoli.* to zs@'%';
#给 zs用户 赋予 数据库db_xiaoli中所有表 所有权限
grant ALL on db_xiaoli.* to zs@'%';

2、撤销权限

#语法:revoke privileges on databasename.tablename from username@'host';
#可以回收GRANT SELECT, UPDATE ON `db_xiaoli`.`t_p1_user` TO `zs`@`%`这条权限语句
revoke all on db_xiaoli.t_p1_user from zs@'%';
#可以回收GRANT ALL PRIVILEGES ON `db_xiaoli`.* TO `zs`@`%`这条赋权语句带来的权限
revoke all on db_xiaoli.* from zs@'%';

3、查看用户权限

show grants for 'root'@'%'

3、操作库

1、账号管理

1.创建用户并设置登录密码
#MySQL5.7
#命令:create user 用户名 identified by '密码';
#注:identified by会将纯文本密码加密作为散列值存储
create user ls identified by '123456';
#MySQL8
#用户名密码创建需要分开
#命令:create user 用户名;
create user ls;

2.查看用户信息
#MySQL5.7
select host,user,password from user;
#MySQL8
select host,user,authentication_string from user;

3.删除用户(慎用)
#命令:drop user 用户名;
#drop user ls;

4.修改用户密码
4.1 修改密码
#MySQL5.7
#命令:set password for 用户名=password('新密码');
set password for zs=password('123456');

#MySQL8
#ALTER USER 用户 IDENTIFIED WITH mysql_native_password BY '密码';
ALTER USER 'ls'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

4.2 刷新配置
#命令:flush privileges;

user表中host列的值的意义
%             匹配所有主机
localhost     localhost不会被解析成IP地址,直接通过UNIXsocket连接
127.0.0.1     会通过TCP/IP协议连接,并且只能在本机访问;
::1           ::1就是兼容支持ipv6的,表示同ipv4的127.0.0.1

#案例:
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
    ON TUTORIALS.*
    TO 'zara'@'localhost'
    IDENTIFIED BY 'zara123';
#创建zara账号,密码zara123,只拥有TUTORIALS的权限

2、创建数据库

1.MySQL默认数据库介绍
1)information_schema:是一个信息数据库,它保存着关于MySQL服务器所维护的所有其他数据库的信息;
2)mysql:核心数据库,类似于sql server中的master表,主要负责存储数据库的用户、权限设置、关键字等mysql自己需要使用的控制和管理信息;
3)test:测试数据库,没有东西;

2.创建数据库
语法:create database 数据库名;
或者
create database if not exists 数据库名 default charset utf8 collate utf8_general_ci;

注:默认的数据库编码集:utf8(即UTF-8),collate表示排序规则为utf8_general_ci

3.查看所有数据库
语法: 

4.删除数据库(慎用)
语法:drop database 数据库名;

4、四大引擎简介

1、在表设计中的选项中可以设计这张表的引擎

2、引擎介绍

InnoDB存储引擎

InnoDB是事务型数据库的首选引擎,支持事务安全表(ACID),支持行锁定和外键,上图也看到了,InnoDB是默认的MySQL引擎。

MyISAM存储引擎

MyISAM基于ISAM存储引擎,并对其进行扩展。它是在Web、数据仓储和其他应用环境下最常使用的存储引擎之一。MyISAM拥有较高的插入、查询速度,但不支持事物

MEMORY存储引擎

MEMORY存储引擎将表中的数据存储到内存中,未查询和引用其他表数据提供快速访问。

存储引擎的选择

不同的存储引擎都有各自的特点,以适应不同的需求,如下表所示:

功 能MYISAMMemoryInnoDBArchive
存储限制256TBRAM64TBNone
支持事物NoNoYesNo
支持全文索引YesNoNoNo
支持数索引YesYesYesNo
支持哈希索引NoYesNoNo
支持数据缓存NoN/AYesNo
支持外键NoNoYesNo

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小张同学_java

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值