MySQL入门

MySql简介:

1.为什么要用MySQL

数据在内存中容易丢失
数据在文件中,不便于操作

2.无论何时

使用完整的管理系统统一管理,易于查询

3.什么时候用

凡是需要持久化存储数据的地方

术语:
DB:数据库(database) 存储数据的“仓库”。它保存了一系列有组织的数据。
DBMS:数据库管理系统(Database Management System) 数据库是通过DBMS创建和操作的容器。
SQL:结构化查询语言(Structure Query Language) 专门用来与数据库通信的语言。

一,MySQL的安装(详细步骤可前往主页查看)

在这里插入图片描述

二,权限的管理(整个代码)


-- 查询所有用户
select * from user;
 
-- 关注用户名,密码
select host,user,authentication_string from user;
 
-- 创建新用户(是没有密码的)
create user whw;
 
-- 修改新用户密码
ALTER USER lgs IDENTIFIED WITH mysql_native_password BY'123456'
 
-- 设置权限
#语法:grant privileges on databasename.tablename to username@'host';
 
-- 将mybatis_ssm数据库的t_mvc_book表的权限给lgs
grant privileges on mybatis_ssm.t_mvc_book to whw@'%';
 
-- 增加操作权限
grant select on mybatis_ssm.t_mvc_book to whw@'%';
grant update on mybatis_ssm.t_mvc_book to whw@'%';
grant delete on mybatis_ssm.t_mvc_book to whw@'%';
grant insert on mybatis_ssm.t_mvc_book to whw@'%';
-- 增加全部权限
grant all on mybatis_ssm.t_jsoup_article to whw@'%';
 
-- 赋予某一个库所有表的权限
grant all on mysql.* to whw@'%';
 
-- 撤销权限
#语法:revoke privileges on databasename.tablename from username@'host';
-- 取消数据库中的表权限
revoke all on mybatis_ssm.t_jsoup_article from whw@'%';
 
-- 取消库权限
revoke all on mysql.* from whw@'%';
 
-- 取消库权限
revoke all on mybatis_ssm.* from whw@'%';
 
-- 取消数据库中的表权限
revoke all on mybatis_ssm.t_mvc_book from whw@'%';
 
-- 取消单个权限
revoke delete on mybatis_ssm.t_mvc_book from whw@'%';
 
-- 刷新
flush privileges;
 
-- 查看给list用户赋予权限的SQL
show grants for 'whw'@'%';

逐步讲解:

查询所有用户(user表是本地连接里的原始表)
select * from user;

在这里插入图片描述
Y:允许 N:不允许

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

创建用户请可以先查询所有的用户

select host,user,authentication_string from user;

1,创建用户:(whw)

创建新用户(是没有密码的)
create user whw;

设置密码:

修改新用户密码(红色部分:用户名和密码)
ALTER USER lgs IDENTIFIED WITH mysql_native_password BY’123456’

删除用户:

drop user whw

用户创建之后进行连接

2,设置权限

#语法:grant privileges on databasename.tablename to username@‘host’;

设置权限 (Grant) 和撤销权限 (Revoke) 的参数说明:

privileges: 用户的操作权限,如SELECT,INSERT,UPDATE,DELETE等,授予所有权限使用:all;

databasename:数据库名;

tablename: 表名,如果要授予用户对所有数据库和表的操作权限直接使用:*;

设置权限:


-- 设置权限
#语法:grant privileges on databasename.tablename to username@'host';
 
-- 将mybatis_ssm数据库的t_mvc_book表的权限给whw
grant privileges on mybatis_ssm.t_mvc_book to whw@'%';
 
-- 增加操作权限
grant select on mybatis_ssm.t_mvc_book to whw@'%';
grant update on mybatis_ssm.t_mvc_book to whw@'%';
grant delete on mybatis_ssm.t_mvc_book to whw@'%';
grant insert on mybatis_ssm.t_mvc_book to whw@'%';
-- 增加全部权限
grant all on mybatis_ssm.t_jsoup_article to whw@'%';
 
-- 赋予某一个库所有表的权限
grant all on mysql.* to whw@'%';

运行结果:(赋予相应的权限才可以执行相应的操作)

撤销权限:

#语法:revoke privileges on databasename.tablename from username@‘host’;


-- 撤销权限
#语法:revoke privileges on databasename.tablename from username@'host';
-- 取消数据库中的表权限
revoke all on mybatis_ssm.t_jsoup_article from whw@'%';
 
-- 取消库权限
revoke all on mysql.* from whw@'%';
 
-- 取消库权限
revoke all on mybatis_ssm.* from whw@'%';
 
-- 取消数据库中的表权限
revoke all on mybatis_ssm.t_mvc_book from whw@'%';
 
-- 取消单个权限
revoke delete on mybatis_ssm.t_mvc_book from whw@'%';
 
-- 刷新
flush privileges;
 
-- 查看给list用户赋予权限的SQL
show grants for 'whw'@'%';

刷新权限的代码
flush privileges;

查看给list用户赋予权限的SQL
show grants for ‘lgs’@’%’;

我们给用户设置了多少权限就要取消多少权限,比如我们给用户设置了一个表的所有权限,但在设置全部权限之前还还赋予了一个增加权限,但我们取消这个表的所有权限后,用户还是会有一个增加权限,这是我们可以用上面这行代码来查看用户的全部权限。

三,建库(手动)

在这里插入图片描述

字符集和排序规则记得一样,不然不同的之间用可能会乱码

代码创建

语法1:create database 数据库名;

语法2:create database if not exists 数据库名 default charset utf8 collate utf8_general_ci;
注 意:默认的数据库编码集:utf8(即UTF-8),collate表示排序规则为utf8_general_ci;

查看所有数据库
语法:show databases;

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

四,四大引擎(四大引擎分别是:InooDB、MyISAM、MEMORY、SHOW ENGINES)

常用:InnoDB存储引擎、MyISAM存储引擎

1、InnoDB存储引擎:InnoDB是事务型数据库的首选引擎,支持事务安全表(ACID),支持行锁定和外键,InnoDB是默认的MySQL引擎。

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

到这里就结束了,有不对或补充的地方欢迎大家评论,谢谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值