MySQL表结构操作, 用户的创建和授权

数据库结构操作

DDL(Data Definition Language) :

操作数据库:

查看数据库: SHOW DATABASES;
选择数据库: USE 数据库名;
创建数据库: CREATE DATABASE [IF NOT EXISTS] 数据库名 [charset=utf8];
删除数据库: DROP DATABASE [IF EXISTS] 数据库名;
设置编码: ALTER DATABASE 数据库名 characher set utf8;

操作表: 查看,创建

查看表: SHOW TABLES;
查看表的描述: DESC 表名;
创建表

1
2
3
4
5
CREATE TABLE  [if not exists]  表名  (
列名 列类型 ,
...
列名 列类型
);

删除表: DROP TABLES 表名 ;
创建一个和 数据库名.表 一样结构的表: CREATE TABLE 表名 LIKE 数据库名.表;

  • 创建表时,字段上可以指定的关键字:
    UNIQUE 唯一
    AUTO_INCREMENT 自增长
    NOT NULL 不为空

操作表: 修改

添加列:

1
2
3
4
5
ALTER TABLE 表名 ADD(
列名 列名称 ,
...
列名 列名称
);

修改列类型: ALTER TABLE 表名 MODIFY 列名 新类型 ;
删除表: ALTER TABLE 表名 DROP 列名;
修改表名: ALTER TABLE 表名 RENAME TO 新名;

用户的创建,授权

(Data Control Language )

  • 一个项目创建一个用户,一个项目对应的数据库只有一个。
  • 这个用户只能对这个数据库有权限,其他数据库操作不了。

用户创建

创建用户 (IP为’%’是所有IP)

1
2
CREATE USER '用户名'@'IP'
IDENTIFIED BY '密码'

修改密码

1
2
SET PASSWORD 
FOR '用户名'@'IP' = PASSWORD('新密码');

查看当前用户,及授权主机: SELECT user,host FROM user;
更改用户密码:

1
2
3
UPDATE user 
SET password=PASSWORD(“123″)
WHERE user=’root’;

删除用户: DROP USER 用户名@IP

用户授权

授权(数据库.* 所有表 ; all 所有 权限 )

1
2
3
GRANT 权限1,权限2 ... ON
数据库.表名 TO
用户名@IP;

例如: GRANT all ON tb_tsw.* TO 'tsw'@'%'

撤销权限

1
2
3
REVOKE 权限1,权限2 ... ON
数据库.表名 FROM
用户名@IP;

查看权限: SHOW GRANTS FOR 用户名@IP

0%