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

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

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

本章内容:

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

一、数据库操作

1、查看数据库

  1. SHOW DATABASES;
  2.  
  3. # 默认数据库:
  4.   mysql - 用户权限相关数据
  5.   test - 用于用户测试数据
  6.   information_schema - MySQL本身架构相关数据

2、创建数据库

  1. # utf-8 编码
  2. CREATE DATABASE 数据库名称 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
  3.  
  4. # gbk 编码
  5. CREATE DATABASE 数据库名称 DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;

3、使用数据库

  1. USE db_name;
  2.  
  3. # 可以不使用分号

4、用户管理

  1. # 创建用户
  2. create user '用户名'@'IP地址' identified by '密码';
  3. # 删除用户
  4. drop user '用户名'@'IP地址';
  5. # 修改用户
  6. rename user '用户名'@'IP地址'; to '新用户名'@'IP地址';;
  7. # 修改密码
  8. set password for '用户名'@'IP地址' = Password('新密码')
  9.  
  10. PS:用户权限相关数据保存在mysql数据库的user表中,所以也可以直接对其进行操作(不建议)
  1. # 查看当前用户
  2. select user();
  3. # 查看所有用户
  4. select host,user from mysql.user;
  5. # 人性化显示所有用户
  6. SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
  7. # 查看用户的所有权限
  8. show grants for 'nick'@'%';
  1. mysql> SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
  2. +---------------------------+
  3. | query |
  4. +---------------------------+
  5. | User: 'nick'@'%'; |
  6. | User: 'root'@'localhost'; |
  7. +---------------------------+
  8. 2 rows in set (0.00 sec)
  9.  
  10. mysql>
  11. mysql>
  12. mysql>
  13. mysql>
  14. mysql> select host,user from mysql.user;
  15. +-----------+------+
  16. | host | user |
  17. +-----------+------+
  18. | % | nick |
  19. | localhost | root |
  20. +-----------+------+
  21. 2 rows in set (0.00 sec)
  22.  
  23. mysql> show grants for 'nick'@'%';
  24. +-----------------------------------------------------------------------------------------------------+
  25. | Grants for nick@% |
  26. +-----------------------------------------------------------------------------------------------------+
  27. | GRANT USAGE ON *.* TO 'nick'@'%' IDENTIFIED BY PASSWORD '*ECE7D02DCD7D4EF7CFE8E3B249FD1D5062A821F7' |
  28. | GRANT ALL PRIVILEGES ON `kaoshi`.* TO 'nick'@'%' |
  29. | GRANT ALL PRIVILEGES ON `xxxxx`.* TO 'nick'@'%' |
  30. | GRANT ALL PRIVILEGES ON `xxxxxx`.`chouti` TO 'nick'@'%' |
  31. +-----------------------------------------------------------------------------------------------------+
  32. 4 rows in set (0.00 sec)
  33.  
  34. mysql>

5、授权管理

  1. # 查看权限
  2. show grants for '用户'@'IP地址'
  3. # 授权
  4. grant 权限 on 数据库.表 to '用户'@'IP地址'
  5. # 取消权限
  6. revoke 权限 on 数据库.表 from '用户'@'IP地址'
  1. 常用权限:
  2. all privileges grant外的所有权限
  3. select 仅查权限
  4. select,insert 查和插入权限
  5. usage 无访问权限
  6.  
  7. 对于目标数据库以及内部其他:
  8. 数据库名.* 数据库中的所有
  9. 数据库名.表 指定数据库中的某张表
  10. 数据库名.存储过程 指定数据库中的存储过程
  11. *.* 所有数据库
  12.  
  13. 对于用户和IP
  14. 用户名@IP地址 用户只能在改IP下才能访问
  15. 用户名@192.168.1.% 用户只能在改IP段下才能访问(通配符%表示任意)
  16. 用户名@% 用户可以再任意IP下访问(默认IP地址为%)
  1. all privileges grant外的所有权限
  2. select 仅查权限
  3. select,insert 查和插入权限
  4. ...
  5. usage 无访问权限
  6. alter 使用alter table
  7. alter routine 使用alter proceduredrop procedure
  8. create 使用create table
  9. create routine 使用create procedure
  10. create temporary tables 使用create temporary tables
  11. create user 使用create userdrop userrename userrevoke all privileges
  12. create view 使用create view
  13. delete 使用delete
  14. drop 使用drop table
  15. execute 使用call和存储过程
  16. file 使用select into outfile load data infile
  17. grant option 使用grant revoke
  18. index 使用index
  19. insert 使用insert
  20. lock tables 使用lock table
  21. process 使用show full processlist
  22. select 使用select
  23. show databases 使用show databases
  24. show view 使用show view
  25. update 使用update
  26. reload 使用flush
  27. shutdown 使用mysqladmin shutdown(关闭MySQL)
  28. super
  29. 屌炸天实战 MySQL 系列教程(二) 史上最屌、你不知道的数据库操作的更多相关文章

      1. MySQL 系列(二) 你不知道的数据库操作
      1. 第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 你不知道的数据库操作 本章内容: 查看\创\使\删 数据库 用户管理及授权实战 局域网 ...

      1. C#微信公众号开发系列教程二(新手接入指南)
      1. http://www.cnblogs.com/zskbll/p/4093954.html 此系列前面已经更新了两篇博文了,都是微信开发的前期准备工作,现在切入正题,本篇讲解新手接入的步骤与方法,大神可 ...

      1. NGUI系列教程二
      1. 接下来我们创建一个Label,NGUI->Open the Widget Wizard,打开widgetTool对话框,在Template中选择Label,确定AddTo右侧选项为panel,点 ...

      1. 黄聪:Microsoft Enterprise Library 5.0 系列教程(二) Cryptography Application Block (高级)
      1. 原文:黄聪:Microsoft Enterprise Library 5.0 系列教程(二) Cryptography Application Block (高级) 本章介绍的是企业库加密应用程序模块 ...

      1. MySQL系列(二)---MySQL事务
      1. MySql 事务 目录 MySQL系列(一):基础知识大总结 MySQL系列(二):MySQL事务 什么是事务(transaction) 保证成批操作要么完全执行,要么完全不执行,维护数据的完整性.也 ...

      1. Shell脚本系列教程二: 开始Shell编程
      1. Shell脚本系列教程二: 开始Shell编程 2.1 如何写shell script? (1) 最常用的是使用vi或者mcedit来编写shell脚本, 但是你也可以使用任何你喜欢的编辑器; (2) ...

      1. Web攻防系列教程之文件上传攻防解析(转载)
      1. Web攻防系列教程之文件上传攻防解析: 文件上传是WEB应用很常见的一种功能,本身是一项正常的业务需求,不存在什么问题.但如果在上传时没有对文件进行正确处理,则很可能会发生安全问题.本文将对文件上传的 ...

      1. WPF系列教程——(二)使用Prism实现MVVM设计模式 - 简书
      1. 原文:WPF系列教程--(二)使用Prism实现MVVM设计模式 - 简书 本文假设你已经知道MVVM设计模式是什么,所以直接进入正题,今天我们就用Prism来实现WPFMVVM设计模式,百度上关于 ...

      1. CRL快速开发框架系列教程二(基于Lambda表达式查询)
      1. 本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...

    1.  
    2. 随机推荐

        1. Linux catEOF的使用
        1. 在某些场合,可能我们需要在脚本中生成一个临时文件,然后把该文件作为最终文件放入目录中.(可参考ntop.spec文件)这样有几个好处,其中之一就是临时文件不是唯一的,可以通过变量赋值,也可根据不同的判 ...

        1. Git本地版本控制备忘
        1. 首先git是一个版本控制工具,类似于SVN 笔记包括两部分,git本地版本控制和git远程协助 一.Git本地版本控制 git windows版本msysgit为例,下载地址http://msysg ...

        1. c语言验证哥德巴赫猜想(从4开始 一个偶数由两个质数之和)
        1. #include <stdio.h> #include <stdlib.h> #include <math.h> int isit(int num) { int i ...

        1. qt动态更新界面的菜鸟代码,请指出
        1. qt简单界面更新代码(菜鸟级)(部分代码) self.timers_1=QtCore.QTimer(self) self.timers_1.timeout.connect(self.min_1) se ...

        1. python calendar标准库基础学习
        1. # -*- coding: utf-8 -*-# 作者:新手__author__ = 'Administrator'#标准库:日期时间基础学习:calendar:处理日期#例1import calen ...

        1. html a标签打开邮件
        1. <a href="mailto:frotech@foxmail.com" target="_blank">frotech@foxmail.com&l ...

        1. HDU ACM 1078 FatMouse and Cheese 记忆化+DFS
        1. 题意:FatMouse在一个N*N方格上找吃的,每一个点(x,y)有一些吃的,FatMouse从(0,0)的出发去找吃的.每次最多走k步,他走过的位置能够吃掉吃的.保证吃的数量在0-100.规定他仅仅 ...

        1. LNMPLAMPLANMP一键安装脚本(定期更新)[转]
        1. 这个脚本是使用shell编写,为了快速在生产环境上部署LNMP/LAMP/LANMP(Linux.Nginx/Tengine.MySQL/MariaDB/Percona.PHP),适用于CentOS/ ...

        1. Bloom Filter 算法具体解释
        1. Bloom Filter 算法 Bloom filter是由Burton Bloom 1970年提出的,其后在P2P上得到了广泛的应用.Bloom filter 算法可用来查询某一数据是否在某一数据 ...

        1. py爬取英文文档学习单词
        1. 最近开始看一些整本整本的英文典籍,虽然能看个大概,但是作为四级都没过的我来说还是有些吃力,总还有一部分很关键的单词影响我对句子的理解,因为看的是纸质的,所以查询也很不方便,于是想来个突击,我想把程序单 ...