此篇写MySQL中最基础,也是最重要的操作!

第一篇:屌炸天实战 MySQL 系列教程(一) 生产标准线上环境安装配置案例及棘手问题解决

第二篇:屌炸天实战 MySQL 系列教程(二) 史上最屌、你不知道的数据库操作

 

本章内容:

  • 查看\创建\使用\删除 数据库
  • 用户管理及授权实战
  • 局域网远程连接法
  • 查看\创建\使用\删除\清空\修改 数据库表(是否可空,默认值,主键,自增,外键)
  • 表内容的增删改查
  • where条件、通配符_%、限制limit、排序desc\asc、连表join、组合union
  • 查看建表语句、查看表结构、查看是否走索引
  • 数据类型
  • 索引!

一、数据库操作

1、查看数据库

屌炸天实战 MySQL 系列教程(二) 史上最屌、你不知道的数据库操作
SHOW DATABASES;

# 默认数据库:
  mysql - 用户权限相关数据
  test - 用于用户测试数据
  information_schema - MySQL本身架构相关数据
屌炸天实战 MySQL 系列教程(二) 史上最屌、你不知道的数据库操作

2、创建数据库

# utf-8 编码
CREATE DATABASE 数据库名称 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
 
# gbk 编码
CREATE DATABASE 数据库名称 DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;

3、使用数据库

USE db_name;

# 可以不使用分号

4、用户管理

屌炸天实战 MySQL 系列教程(二) 史上最屌、你不知道的数据库操作
# 创建用户
    create user '用户名'@'IP地址' identified by '密码';
# 删除用户
    drop user '用户名'@'IP地址';
# 修改用户
    rename user '用户名'@'IP地址'; to '新用户名'@'IP地址';;
# 修改密码
    set password for '用户名'@'IP地址' = Password('新密码')
  
PS:用户权限相关数据保存在mysql数据库的user表中,所以也可以直接对其进行操作(不建议)
屌炸天实战 MySQL 系列教程(二) 史上最屌、你不知道的数据库操作
屌炸天实战 MySQL 系列教程(二) 史上最屌、你不知道的数据库操作
# 查看当前用户
        select user();
# 查看所有用户
        select host,user from mysql.user;
# 人性化显示所有用户
        SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
# 查看用户的所有权限
        show grants for 'nick'@'%';
屌炸天实战 MySQL 系列教程(二) 史上最屌、你不知道的数据库操作
屌炸天实战 MySQL 系列教程(二) 史上最屌、你不知道的数据库操作
mysql> SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
+---------------------------+
| query                     |
+---------------------------+
| User: 'nick'@'%';         |
| User: 'root'@'localhost'; |
+---------------------------+
2 rows in set (0.00 sec)

mysql>
mysql>
mysql>
mysql>
mysql> select host,user from mysql.user;
+-----------+------+
| host      | user |
+-----------+------+
| %         | nick |
| localhost | root |
+-----------+------+
2 rows in set (0.00 sec)

mysql> show grants for 'nick'@'%';
+-----------------------------------------------------------------------------------------------------+
| Grants for nick@%                                                                                   |
+-----------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'nick'@'%' IDENTIFIED BY PASSWORD '*ECE7D02DCD7D4EF7CFE8E3B249FD1D5062A821F7' |
| GRANT ALL PRIVILEGES ON `kaoshi`.* TO 'nick'@'%'                                                    |
| GRANT ALL PRIVILEGES ON `xxxxx`.* TO 'nick'@'%'                                                    |
| GRANT ALL PRIVILEGES ON `xxxxxx`.`chouti` TO 'nick'@'%'                                              |
+-----------------------------------------------------------------------------------------------------+
4 rows in set (0.00 sec)

mysql>
屌炸天实战 MySQL 系列教程(二) 史上最屌、你不知道的数据库操作
View Code

相关文章: