龙空技术网

MySQL 权限管理

java易 132

前言:

现在你们对“mysql库权限”可能比较重视,姐妹们都需要了解一些“mysql库权限”的相关文章。那么小编在网摘上网罗了一些对于“mysql库权限””的相关资讯,希望姐妹们能喜欢,各位老铁们快快来学习一下吧!

权限管理

用户权限分为非常多种,包括全局权限、库权限、表权限、列权限等。

-- 赋予权限(GRANT)mysql> GRANT SELECT,INSERT ON *.*             -- 赋予用户选择插入权限(所有库的所有表)    -> TO 'boy'@'localhost'                   -- 不存在将新建用户    -> IDENTIFIED BY '123456'                     -> WITH GRANT OPTION;                     -- (可选)允许用户转授权限-- 撤消权限(REVOKE)mysql> REVOKE INSERT ON *.*    -> FROM 'boy'@'localhost';-- 查看权限mysql> SELECT Host,User,Select_priv,Grant_priv    -> FROM mysql.user    -> WHERE User='testUser';Copy to clipboardErrorCopied
数据库管理

MySQL 内划分为多个互相独立的数据存储区域,调用数据库指令时必须提前声明要使用的数据库。

数据库选项信息

-- 查看所有数据库mysql> SHOW DATABASES;-- 进入/切换数据库mysql> USE mydb;-- 查看当前数据库mysql> SELECT DATABASE();-- 创建数据库mysql> CREATE DATABASE [IF NOT EXISTS] mydb;mysql> CREATE DATABASE [IF NOT EXISTS] mydb CHARACTER SET utf8mb4;-- 删除数据库mysql> DROP DATABASE [IF EXISTS] mydb;-- 查看数据库选项信息mysql> SHOW CREATE DATABASE mydb;-- 修改数据库选项信息mysql> ALTER DATABASE mydb CHARACTER SET utf8;Copy to clipboardErrorCopied
表管理表属性

如果表标记为 TEMPORARY 则为临时表,在连接断开时表会消失。

列属性

表操作

-- 查看所有表mysql> SHOW TABLES;-- 创建表mysql> CREATE [TEMPORARY] TABLE [IF NOT EXISTS] student       (           id INT(8) PRIMARY KEY AUTO_INCREMENT=20190001,           name VARCHAR(50) NOT NULL,           sex INT COMMENT 'Male 1,Female 0',           access_time DATE DEFAULT GETDATE(),           major_id INT FOREIGN KEY REFERENCES major(id)        )ENGINE=InnoDB;mysql> CREATE TABLE grade       (           student_id INT,           course_id INT,           grade INT,           PRIMARY KEY (student_id,course_id),           CONSTRAINT fk_grade_student FOREIGN KEY (student_id) REFERENCES student(id),           CONSTRAINT fk_grade_course FOREIGN KEY (course_id) REFERENCES course(id)       );-- 删除表mysql> DROP TABLE [IF EXISTS] student;-- 清空表数据(直接删除表,再重新创建)mysql> TRUNCATE [TABLE] student;-- 查看表结构mysql> SHOW CREATE TABLE student;mysql> DESC student;-- 修改表属性mysql> ALTER TABLE student ENGINE=MYISAM;-- 重命名表mysql> RENAME TABLE student TO new_student;mysql> RENAME TABLE student TO mydb.new_student;      -- 复制表mysql> CREATE TABLE new_student LIKE student;                  -- 复制表结构mysql> CREATE TABLE new_student [AS] SELECT * FROM student;    -- 复制表结构和数据-- 检查表是否有错误mysql> CHECK TABLE tbl_name [, tbl_name] ... [option] ...-- 优化表mysql> OPTIMIZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name] ...-- 修复表mysql> REPAIR [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name] ... [QUICK] [EXTENDED] [USE_FRM]-- 分析表mysql> ANALYZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name] ...Copy to clipboardErrorCopied
列操作
-- 添加字段mysql> ALTER TABLE student ADD [COLUMN] age INT;               -- 默认添加在最后一行mysql> ALTER TABLE student ADD [COLUMN] age INT AFTER sex;     -- 添加在指定字段后mysql> ALTER TABLE student ADD [COLUMN] age INT FIRST;         -- 添加在第一行--修改字段mysql> ALTER TABLE student MODIFY [COLUMN] id SMALLINT;        -- 修改字段属性mysql> ALTER TABLE student CHANGE [COLUMN] id new_id INT;      -- 修改字段名-- 删除字段mysql> ALTER TABLE student DROP [COLUMN] age;   -- 编辑主键mysql> ALTER TABLE student ADD PRIMARY KEY(id,age);           mysql> ALTER TABLE student DROP PRIMARY KEY;                 -- 编辑外键mysql> ALTER TABLE student ADD CONSTRAINT fk_student_class FOREIGN KEY(cid) REFERENCES class(id);mysql> ALTER TABLE student DROP FOREIGN KEY fk_student_class;  

原文链接;

标签: #mysql库权限