1.数据库
概念 : 长期存放在计算机内,有组织,可共享的大量数据的集合,是一个数据 "仓库"
作用 : 保存,并能安全管理数据(如:增删改查等),减少冗余...
2.数据库总览 :
关系型数据库
MySQL , Oracle , SQL Server ,
关系型数据库通过外键关联来建立表与表之间的关系
非关系型数据库
Redis , MongoDB , ...
非关系型数据库通常指数据以对象的形式存储在数据库中,而对象之间的关系通过每个对象自身的属性来决定
4.MySQL中自带的比较重要的四张表
MySQL下载安装教程可参考我以前的文章
user表(用户层权限):首先登陆的时候验证Host,User,Password也就是ip,用户名,密码是否匹配,匹配登陆成功将会为登陆者分配权限;还有权限分配
db表(数据库层权限):Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv分别代表着查询,增加,更新,删除,创建,销毁)。其中Y代表这拥有此项权限,N则代表没有此项权限。
tables_priv表(表层权限):这是通过Host,Db,User,Table来进行定位到表层的一个权限分配。不过它只有Table_priv和Column_priv两个字段来记录权限。
columns_priv表(字段层权限):通过Host,Db,User,Table,Column来进行定位到字段层的一个权限分配,只有Column_priv来记录权限。
5.Mysql的账号管理
代码如下:
-- 查询所有用户
select * from user;
-- 关注用户名,密码
select host,user,authentication_string from user;
-- 创建新用户(是没有密码的)
create user ty;
-- 修改新用户密码
ALTER USER ty IDENTIFIED WITH mysql_native_password BY'123456'
-- 设置权限
#语法:grant privileges on databasename.tablename to username@'host';
-- 将mybatis_ssm数据库的t_mvc_book表的权限给ty
grant privileges on mybatis_ssm.t_mvc_book to ty@'%';
-- 增加操作权限
grant select on mybatis_ssm.t_mvc_book to ty@'%';
grant update on mybatis_ssm.t_mvc_book to ty@'%';
grant delete on mybatis_ssm.t_mvc_book to ty@'%';
grant insert on mybatis_ssm.t_mvc_book to ty@'%';
-- 增加全部权限
grant all on mybatis_ssm.t_jsoup_article to ty@'%';
-- 赋予某一个库所有表的权限
grant all on mysql.* to ty@'%';
-- 撤销权限
#语法:revoke privileges on databasename.tablename from username@'host';
-- 取消数据库中的表权限
revoke all on mybatis_ssm.t_jsoup_article from ty@'%';
-- 取消库权限
revoke all on mysql.* from ty@'%';
-- 取消库权限
revoke all on mybatis_ssm.* from ty@'%';
-- 取消数据库中的表权限
revoke all on mybatis_ssm.t_mvc_book from ty@'%';
-- 取消单个权限
revoke delete on mybatis_ssm.t_mvc_book from ty@'%';
-- 刷新
flush privileges;
-- 查看给list用户赋予权限的SQL
show grants for 'ty'@'%';
1,创建用户:
创建新用户(是没有密码的)
create user ty;
设置密码:
修改新用户密码(红色部分:用户名和密码)
ALTER USER ty IDENTIFIED WITH mysql_native_password BY'123456'
删除用户:
drop user ty;
用户创建之后进行连接:
(由于电脑原因 此图为 室友的)
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表的权限给ty
grant privileges on mybatis_ssm.t_mvc_book to ty@'%';
-- 增加操作权限
grant select on mybatis_ssm.t_mvc_book to ty@'%';
grant update on mybatis_ssm.t_mvc_book to ty@'%';
grant delete on mybatis_ssm.t_mvc_book to ty@'%';
grant insert on mybatis_ssm.t_mvc_book to ty@'%';
-- 增加全部权限
grant all on mybatis_ssm.t_jsoup_article to ty@'%';
-- 赋予某一个库所有表的权限
grant all on mysql.* to ty@'%';
运行结果:(赋予相应的权限才可以执行相应的操作)
撤销权限:
#语法: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 ty@'%';
-- 取消库权限
revoke all on mysql.* from ty@'%';
-- 取消库权限
revoke all on mybatis_ssm.* from ty@'%';
-- 取消数据库中的表权限
revoke all on mybatis_ssm.t_mvc_book from ty@'%';
-- 取消单个权限
revoke delete on mybatis_ssm.t_mvc_book from ty@'%';
-- 刷新
flush privileges;
-- 查看给list用户赋予权限的SQL
show grants for 'ty'@'%';
刷新权限的代码
flush privileges;
查看给list用户赋予权限的SQL
show grants for 'lgs'@'%';
三,四大引擎(四大引擎分别是:InooDB、MyISAM、MEMORY、SHOW ENGINES)
常用:InnoDB存储引擎、MyISAM存储引擎
1、InnoDB存储引擎:InnoDB是事务型数据库的首选引擎,支持事务安全表(ACID),支持行锁定和外键,InnoDB是默认的MySQL引擎。
2、MyISAM存储引擎:MyISAM基于ISAM存储引擎,并对其进行扩展。它是在Web、数据仓储和其他应用环境下最常使用的存储引擎之一。MyISAM拥有较高的插入、查询速度,但不支持事物。