Mysql常用SQL语句

-- 查询数据库中有多少表
SELECT COUNT(1) TABLES, table_schema FROM information_schema.TABLES   WHERE table_schema = '数据库名' GROUP BY table_schema;
-- 查询表中有多少字段
SELECT COUNT(*) FROM information_schema.COLUMNS WHERE table_schema = '数据库名' AND table_name = '表名';
-- 查询数据库中有多少字段
SELECT COUNT(column_name) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = '数据库名';
-- 查询数据库中的所有表和所有字段、字段类型及注释等信息:
SELECT TABLE_NAME, column_name, DATA_TYPE, column_comment FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = '数据库名' ;

查看用户和对应权限

SELECT * FROM INFORMATION_SCHEMA.USER_PRIVILEGES;

创建用户和赋予权限

使用GRANT语句来授予权限。你可以指定多种权限,例如:

  • ALL PRIVILEGES:授予所有权限。
  • SELECT:只允许查询数据。
  • INSERT:只允许插入数据。
  • UPDATE:只允许更新数据。
  • DELETE:只允许删除数据。
  • CREATE:允许创建新表或数据库。
  • DROP:允许删除表或数据库。
  • ALTER:允许修改表结构。
  • INDEX:允许创建或删除索引。
  • USAGE:只有使用权限
  • REPLICATION SLAVE:复制权限
-- 创建一个名为 replicator 的用户,@'%' 表示该用户可以从任何主机(远程或本地)连接数据库 IDENTIFIED BY 'password'•:为用户设置密码为 password
 CREATE USER 'replicator'@'%' IDENTIFIED BY 'password';
 # MySQL 中用于配置权限的 SQL 命令,命令解析如下:
 # GRANT REPLICATION SLAVE:授予复制权限,允许用户进行数据同步操作。
 # ON *.*:表示对所有数据库和表生效。
 # TO 'replicator'@'%':将权限授予用户 replicator,并允许该用户从任何主机连接(% 表示任意主机)
 GRANT REPLICATION SLAVE ON *.* TO 'replicator'@'%';
-- 授予用户所有权限在特定数据库上:
GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'host';

-- 授予特定表的权限,可以这样指定:
GRANT SELECT, INSERT ON database_name.table_name TO 'username'@'host';

 FLUSH PRIVILEGES; # 配置生效

 

posted @ 2023-08-30 12:08  阿尔法哲  阅读(82)  评论(0)    收藏  举报