屌炸天实战 MySQL 系列教程(二) 史上最屌、你不知道的数据库操作
此篇写MySQL中最基础,也是最重要的操作!
第一篇:屌炸天实战 MySQL 系列教程(一) 生产标准线上环境安装配置案例及棘手问题解决
第二篇:屌炸天实战 MySQL 系列教程(二) 史上最屌、你不知道的数据库操作
本章内容:
- 查看\创建\使用\删除 数据库
- 用户管理及授权实战
- 局域网远程连接法
- 查看\创建\使用\删除\清空\修改 数据库表(是否可空,默认值,主键,自增,外键)
- 表内容的增删改查
- where条件、通配符_%、限制limit、排序desc\asc、连表join、组合union
- 查看建表语句、查看表结构、查看是否走索引
- 数据类型
- 索引!
一、数据库操作
1、查看数据库
- SHOW DATABASES;
- # 默认数据库:
- mysql - 用户权限相关数据
- test - 用于用户测试数据
- information_schema - 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、用户管理
- # 创建用户
- create user '用户名'@'IP地址' identified by '密码';
- # 删除用户
- drop user '用户名'@'IP地址';
- # 修改用户
- rename user '用户名'@'IP地址'; to '新用户名'@'IP地址';;
- # 修改密码
- set password for '用户名'@'IP地址' = Password('新密码')
- PS:用户权限相关数据保存在mysql数据库的user表中,所以也可以直接对其进行操作(不建议)
- # 查看当前用户
- select user();
- # 查看所有用户
- select host,user from mysql.user;
- # 人性化显示所有用户
- SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
- # 查看用户的所有权限
- show grants for 'nick'@'%';
- 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>
5、授权管理
- # 查看权限
- show grants for '用户'@'IP地址'
- # 授权
- grant 权限 on 数据库.表 to '用户'@'IP地址'
- # 取消权限
- revoke 权限 on 数据库.表 from '用户'@'IP地址'
- 常用权限:
- all privileges 除grant外的所有权限
- select 仅查权限
- select,insert 查和插入权限
- usage 无访问权限
- 对于目标数据库以及内部其他:
- 数据库名.* 数据库中的所有
- 数据库名.表 指定数据库中的某张表
- 数据库名.存储过程 指定数据库中的存储过程
- *.* 所有数据库
- 对于用户和IP:
- 用户名@IP地址 用户只能在改IP下才能访问
- 用户名@192.168.1.% 用户只能在改IP段下才能访问(通配符%表示任意)
- 用户名@% 用户可以再任意IP下访问(默认IP地址为%)
- all privileges 除grant外的所有权限
- select 仅查权限
- select,insert 查和插入权限
- ...
- usage 无访问权限
- alter 使用alter table
- alter routine 使用alter procedure和drop procedure
- create 使用create table
- create routine 使用create procedure
- create temporary tables 使用create temporary tables
- create user 使用create user、drop user、rename user和revoke all privileges
- create view 使用create view
- delete 使用delete
- drop 使用drop table
- execute 使用call和存储过程
- file 使用select into outfile 和 load data infile
- grant option 使用grant 和 revoke
- index 使用index
- insert 使用insert
- lock tables 使用lock table
- process 使用show full processlist
- select 使用select
- show databases 使用show databases
- show view 使用show view
- update 使用update
- reload 使用flush
- shutdown 使用mysqladmin shutdown(关闭MySQL)
- super
屌炸天实战 MySQL 系列教程(二) 史上最屌、你不知道的数据库操作的更多相关文章
第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 你不知道的数据库操作 本章内容: 查看\创建\使用\删除 数据库 用户管理及授权实战 局域网 ...
http://www.cnblogs.com/zskbll/p/4093954.html 此系列前面已经更新了两篇博文了,都是微信开发的前期准备工作,现在切入正题,本篇讲解新手接入的步骤与方法,大神可 ...
接下来我们创建一个Label,NGUI->Open the Widget Wizard,打开widgetTool对话框,在Template中选择Label,确定AddTo右侧选项为panel,点 ...
原文:黄聪:Microsoft Enterprise Library 5.0 系列教程(二) Cryptography Application Block (高级) 本章介绍的是企业库加密应用程序模块 ...
MySql 事务 目录 MySQL系列(一):基础知识大总结 MySQL系列(二):MySQL事务 什么是事务(transaction) 保证成批操作要么完全执行,要么完全不执行,维护数据的完整性.也 ...
Shell脚本系列教程二: 开始Shell编程 2.1 如何写shell script? (1) 最常用的是使用vi或者mcedit来编写shell脚本, 但是你也可以使用任何你喜欢的编辑器; (2) ...
Web攻防系列教程之文件上传攻防解析: 文件上传是WEB应用很常见的一种功能,本身是一项正常的业务需求,不存在什么问题.但如果在上传时没有对文件进行正确处理,则很可能会发生安全问题.本文将对文件上传的 ...
原文:WPF系列教程--(二)使用Prism实现MVVM设计模式 - 简书 本文假设你已经知道MVVM设计模式是什么,所以直接进入正题,今天我们就用Prism来实现WPF的MVVM设计模式,百度上关于 ...
本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...
随机推荐
在某些场合,可能我们需要在脚本中生成一个临时文件,然后把该文件作为最终文件放入目录中.(可参考ntop.spec文件)这样有几个好处,其中之一就是临时文件不是唯一的,可以通过变量赋值,也可根据不同的判 ...
首先git是一个版本控制工具,类似于SVN 笔记包括两部分,git本地版本控制和git远程协助 一.Git本地版本控制 以git windows版本msysgit为例,下载地址http://msysg ...
#include <stdio.h> #include <stdlib.h> #include <math.h> int isit(int num) { int i ...
qt简单界面更新代码(菜鸟级)(部分代码) self.timers_1=QtCore.QTimer(self) self.timers_1.timeout.connect(self.min_1) se ...
# -*- coding: utf-8 -*-# 作者:新手__author__ = 'Administrator'#标准库:日期时间基础学习:calendar:处理日期#例1import calen ...
<a href="mailto:frotech@foxmail.com" target="_blank">frotech@foxmail.com&l ...
题意:FatMouse在一个N*N方格上找吃的,每一个点(x,y)有一些吃的,FatMouse从(0,0)的出发去找吃的.每次最多走k步,他走过的位置能够吃掉吃的.保证吃的数量在0-100.规定他仅仅 ...
这个脚本是使用shell编写,为了快速在生产环境上部署LNMP/LAMP/LANMP(Linux.Nginx/Tengine.MySQL/MariaDB/Percona.PHP),适用于CentOS/ ...
Bloom Filter 算法 Bloom filter是由Burton Bloom 在1970年提出的,其后在P2P上得到了广泛的应用.Bloom filter 算法可用来查询某一数据是否在某一数据 ...
最近开始看一些整本整本的英文典籍,虽然能看个大概,但是作为四级都没过的我来说还是有些吃力,总还有一部分很关键的单词影响我对句子的理解,因为看的是纸质的,所以查询也很不方便,于是想来个突击,我想把程序单 ...