目录
create user ⽤户名[@主机名] [identi>ied by '密码'];
第三篇:mysql管理员常用的一些命令
mysql权限工作原理:
mysql是如何来识别⼀个⽤户的呢?
Mysql权限验证分为2个阶段:
权限生效时间
查看mysql中所有用户
创建用户:
语法:create user 用户名【@主机名】 【identified by ‘密码’'】;
说明:1.主机名默认为%,表示这个用户可以从任何主机连接mysql服务器
2.密码可以省略,表示无密码登录
示例1:不指定主机名
不指定主机名时,表示这个用户可以从任何主机连接mysql服务器
修改密码(3种方式)
方式一:通过管理员修改密码
SET PASSWORD FOR '用户名'@‘主机名’ = PASSWORS(‘密码’)
⽅式二:
create user ⽤户名[@主机名] [identi>ied by '密码'];
set password = password(‘密码’);
⽅式三:通过修改mysql.user表修改密码
给用户授权
示例:
grant all on *.* to 'test1'@‘%’;
查看用户有哪些权限
show grant for '用户'[@'主机名'];
主机名可省略,默认值为%,示例:
show grangs;
查看当前用户的权限![](https://img-blog.csdnimg.cn/a75dad4a192e4a899c1d3441e1114e4f.png)
撤销用户的权限
语法:
revoke privileges ON database.table from '用户名'[@'主机名'];
![](https://img-blog.csdnimg.cn/b539f44e0d9446fcb84d91b487664233.png)
删除用户【两种方式】
方式1:
drop user ‘用户名’[@'主机名'],示例:
方式2:通过删除mysql.user表数据的⽅式删除,如下:
授权原则说明:
总结
第四篇:DDL常见操作汇总
DDL:Data Define Language数据定义语⾔,主要⽤来对数据库、表进⾏⼀些管理操作。
库管理
创建库
create database 【if not exists】 库名;
删除库
drop database 【if exists】 库名;
建库的统一写法
drop database 【if exists】 库名;
create database 新库名;
示例:
表管理
创建表
create table 表名(
字段名1 类型1【(宽度)】【约束条件】【comment ‘字段说明’】,
字段名2 类型2【(宽度)】【约束条件】【comment ‘字段说明’】,
字段名3 类型3【(宽度)】【约束条件】【comment ‘字段说明’】,
约束说明
not null :标识该字段不能为空
default value:为该字段设置默认值,默认值为value
primary key:标识该字段为该表的主键,可以唯一的标识记录,插入重复的值会报错
两种写法:如下:
方式1:跟在列后,如下:
方式2:在所有列定义之后定义,如下:
![](https://img-blog.csdnimg.cn/be8776db40b440a1985ea18b64d54941.png)
foreign key:为表中的字段设置外键
语法:foreign key(当前表的列名)reference 引用的外键表(外键表中字段名称)
unique key(uq):标识该字段的值是唯一的
支持一个到多个字段,插入重复的值会报违反唯一约束,会插入失败。
定义方式有2种:
方式1:跟在字段后面,如下:
方式2: 支持多字段,多个之间用逗号隔开,语法:primary key(字段1,字段2,字段n)
示例:
auto_increment:标识该字段的值自动增长(整型类型,而且为主键)
字段a为⾃动增长,默认值从1开始,每次+1
删除表
drop table [if exists] 表名;
修改表名
alter table 表名 rename 【to】新表名;
表设置备注
alter table 表名 comm ‘备注信息’;
复制表
只复制表结构
create table 表名 like 被复制的表名;
如:
复制表结构+数据
create table 表名 【as】select 字段,.......from 被复制的表【where 条件】;
如:
表中列的管理
添加列
alter table 表名 add column 列名 类型 【列约束】;
示例:
修改列:
alter table 表名 modify column 列名 新类型 【约束】;
或者
alter table 表名 change column 列名 新列名 新类型 【约束】;
2种方式区别:modify 不能修改列名,change 可以修改列名
删除列
alter table 表名 drop column 列名;
示例: