MySQL入门

目录

知识总结:

一、MySQL简介

二、MySQL安装

三、MySQL四个常用表(user,db,tables_priv,columns_priv)

1.user(用户权限表)

2.db(数据库层权限)

3.tables_priv(表层权限)

4.columns_priv(字段权限)

四、账号管理及权限(mysql8)

1.创建用户

2.设置,修改密码

3.查看用户信息

4.删除用户

5.刷新配置

6.设置权限(grant)和 撤销权限(Revoke)

7.查看用户的权限

五、数据库创建

1.默认数据库介绍

2.数据库创建

3.查看所有数据库

4.删除数据库

六、四大引擎

1.InooDB:

 2.MyISAM:

3.MEMORY

4.Archive 


一、MySQL简介

1.why
​        数据在内存中容易丢失
​        数据在文件中,不便于操作
2. what
​        使用完整的管理系统统一管理,易于查询
3.where
​        凡是需要持久化存储数据的地方
​    术语
4.DB
​            数据库(database):存储数据的“仓库”。它保存了一系列有组织的数据。
5.DBMS
​            数据库管理系统(Database Management System)。数据库是通过DBMS创建和操作的容器

 6. SQL
​            结构化查询语言(Structure Query Language):专门用来与数据库通信的语言


二、MySQL安装

请参考我的博客J2EE基础01https://blog.csdn.net/qq_54936371/article/details/118977309?spm=1001.2014.3001.5502


三、MySQL四个常用表(user,db,tables_priv,columns_priv)

1.user(用户权限表)

首先登陆的时候验证Host,User,Password也就是ip,用户名,密码是否匹配,匹配登陆成功将会为登陆者分配权限,分配权限的顺序也是按照上面四张表的排列顺序进行的,举个例子,如果user表的Select_priv为Y说明他拥有所有表的查找权限,如果为N就需要到下一级db表中进行权限分配了。其中的%是通配符,代表任意的意思

 代码:

SELECT * FROM user

 🤳 Y是有权限   N是没有权限   其中的%是通配符,代表任意的意思

2.db(数据库层权限)

来到db表之后会匹配Host,User然后会根据Db字段对应的表进行权限分配

Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv分别代表着查询,增加,更新,删除,创建,销毁。

代码:

select * from db 

 🤳其中Y代表这拥有此项权限,N则代表没有此项权限。

3.tables_priv(表层权限)

与上面一样,这是通过Host,Db,User,Table来进行定位到表层的一个权限分配。

 代码:

select * from tables_priv 

🤳Table_priv和Column_priv两个字段来记录权限。 

4.columns_priv(字段权限)

顾名思义,字段层权限,通过Host,Db,User,Table,Column来进行定位到字段层的一个权限分配。

代码:

 select * from columns_priv

🤳 只有Column_priv来记录权限。


四、账号管理及权限(mysql8)

1.创建用户

MySQL8版本用户名和密码创建需分开

代码:

create user (用户名) 

 

 

2.设置,修改密码

代码:

ALTER user (用户名) IDENTIFIED with mysql_native_password by '(要设置的密码)' 

3.查看用户信息

host:主机

user:账户名

 authentication_string:密码

代码 :

Select  host,user,authentication_string from user

4.删除用户

代码:

drop user (用户名)

 

 

5.刷新配置

代码:

FLUSH PRIVILEGES; 

6.设置权限(grant)和 撤销权限(Revoke)

1) privileges: 用户的操作权限,如SELECT,INSERT,UPDATE,DELETE等,如果要授予所有权限直接使用:all;
2) databasename:数据库名;
3) tablename: 表名,如果要授予用户对所有数据库和表的操作权限直接使用:*.*; 

①设置权限

代码:

grant privileges on databasename.tablename to username@'host';

#给用户xhy 赋予 数据库xhy中的表t_mvc_book 查询\增加\删除\修改权限

grant SELECT\insert\delete\update on xhy.t_mvc_book to xhy@'%'; 

#给 用户xhy 赋予 数据库xhy中所有表 查询权限

grant SELECT on xhy.* to xhy@'%';

#给用户 赋予 数据库中所有表 所有权限

grant ALL on xhy.* to xhy@'%';

 ② 撤销权限

代码:

revoke privileges on databasename.tablename from username@'host';

#撤销所有权限

REVOKE ALL on xhy.* FROM xhy@'%';    

7.查看用户的权限

代码:

show grants for 用户名

 SHOW GRANTS for 'xhy'@'%';


五、数据库创建

1.默认数据库介绍

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

2.数据库创建

①手动:

 

注:MySQL在5.5.3之后增加了这个utf8mb4的编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode。好在utf8mb4是utf8的超集,除了将编码改为utf8mb4外不需要做其他转换。

utf8_general_ci 不区分大小写,这个你在注册用户名和邮箱的时候就要使用。

 ②代码:

create database (数据库名)

 设置字符集和排列规则:

create database if not exists 数据库名 default charset utf8mb4 collate utf8mb4_general_ci;(包含字符集编码)

3.查看所有数据库

show databases

4.删除数据库

drop database (数据库名)

六、四大引擎

1.InooDB:


(1)InnoDB数据库引擎是早就Mysql灵活性的技术的直接产品,这项技术就是mysql+api,在使用mysql的时候,你所面对的每一个挑战几乎都
(2)源于isam和myisam数据库引擎,支持事务处理也支持外来键。

 

 2.MyISAM:

(1)MyISAM是MySQL的ISAM扩展格式。
(2)MYISAM强调了快速读取操作,所以具有快速查询功能。

3.MEMORY

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

4.Archive 

 

今天的学习到此为止了~(配上我最喜欢的紫色)下期再见🙌

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值