操作数据库之前,我们应该了解什么是数据库?什么是数据表?什么是数据行、列等。简单来说
- 数据库就 表示我们创建的文件夹
- 数据表就 表示我们创建的文件夹里的文件
- 数据行、列就 表示我们创建的文件里的一行一列数据。
数据库操作
首先以root用户登陆后,查看数据库。
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 4 rows in set (0.00 sec)
这是我们装完mysql后,系统自带的数据库,我们不可删除,也不能随便修改。
- mysql - 用户权限相关数据
- information_schema - MySQL本身架构相关数据
下面我们一自己创建的数据库 ta为例
create database ta;# 创建数据库 use ta; #使用数据库
用户管理
create user 'aa'@'127.0.0.1' identified by '123456'; #创建用户 'aa'表示用户名 '127.0.0.1' 表示IP地址,也可使用localhost '123456' 表示密码
重新打开一个终端连接课连接成功
mysql -u aa -h 127.0.0.1 -p
rename user 'aa'@'127.0.0.1' to 'bb'@localhost; #修改用户 set password for 'bb'@localhost = Password('123'); #修改用户密码 drop user 'bb'@localhost; #删除用户
用户授权
默认创建的用户没有权限,我们查看一下
mysql> show grants for 'bb'@'127.0.0.1'; +----------------------------------------+ | Grants for bb@127.0.0.1 | +----------------------------------------+ | GRANT USAGE ON *.* TO 'bb'@'127.0.0.1' | +----------------------------------------+
如果想有什么操作,可对用添加什么
grant select on *.* to 'bb'@'127.0.0.1'; #赋予权限 revoke select on *.* from 'bb'@'127.0.0.1'; #解除权限 #*.*表示root用户下的数据库中下的表
下面是所有的权限
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
all privileges 除grant外的所有权限
select 仅查权限
select,insert 查和插入权限
...
usage 无访问权限
alter 使用alter table
alter routine 使用alter procedure和drop procedure
create 使用create table
create routine 使用create procedure
create temporary tables 使用create temporary tables
create user 使用create user、drop user、rename user和revoke all privileges
create view 使用create view
delete 使用delete
drop 使用drop table
execute 使用call和存储过程
file 使用select into outfile 和 load data infile
grant option 使用grant 和 revoke
index 使用index
insert 使用insert
lock tables 使用lock table
process 使用show full processlist
select 使用select
show databases 使用show databases
show view 使用show view
update 使用update
reload 使用flush
shutdown 使用mysqladmin shutdown(关闭MySQL)
super