环境需求:MySQL、Navicat
上一期搭建Springboot脚手架是基于mybatis-plus完成的,本期来分享项目构建的基础——数据库。
数据库浅层理论
一、SQL的分类:
1.DDL(Data Definition Language):数据定义语言,用来定义数据库对象:库、表、列等。功能:创建、删除、修改库和表结构。
2.DML(Data Manipulation Language):数据作语言,用来定义数据库记录:增、制、改表记录。
3.DCL(Data Control Language):数据控制语言,用来定义访问权限和安全级别。
4.DQL(Data Query Language):数据查询语言,用来查询记录。是数据库最常使用的语言。
二、DCL(数据控制语言)语法:
该语言用来定义【访问权限和安全级别】,理解即可,直接使用命令控制权限的场景不多,更多情况是使用图形化界面进行操作。mysql中的权限无非是针对不同的用户而言,不同的用户的权限提现在以下几点:可否链接mysql服务、可否访问数据库,可否访问某张数据库表,可否对表进行一些操作等。
1、创建用户
创建一个用户,该用户只能在指定ip地址上登录mysql
create user用户名@IP地址identified by'密码’;
创建一个用户,该用户可以在任意ip地址上登录mysql:
create user pwx@'%'identified by 'pwx123';
修改密码:
set password for pwx@'%'= password('newpwd');
对用户的权限做出修改后,需要权限:
flush privileges;
2、给用户授权
语法:grant 权限1,.,权限n on 数据库.*to 用户名@IP地址;其中权限1、2、n可以直接用all关键字代替。权限的内容包括【create、alter、drop、insert、update、delete、select】
grant all on cdb.* to pwx;
grant select,insert,update,delete,create,drop on cdb.employee to pwx@127.0.0.1;
数据库实践
我们的client要去server中访问数据库,是否可以访问,就是是否可以建立连接,在创建连接时,server会检查其中是否存在对应用户和IP的数据库。右图即便用户名密码都对,但是IP不存在便无法建立连接。
对于新建的连接其中没有数据,就要通过添加权限添加需要的数据库,已经对数据库操作的权限,如下图: