首页 > 技术文章 > SQLAchemy、MYSQL、PYMYSQL

evilliu 2016-07-27 16:20 原文

什么是数据库?

个人理解:将一些有关系的数据组织在一起,并建立一定规则便于查询、修改、删除我们关系的数据仓库。

常用的数据库:mysql、oracle、sqlserver等。

接下来我们主要讲mysql.

1)安装

linux环境

下载地址:

1  http://dev.mysql.com/downloads/mysql/

或者:

1 yum install -y mysql-server

默认情况,yum安装之后数据库的账号:root 无密码。

1 mysql -u root

2)operation

一、基本操作:

1、查看数据库:

 1 mysql> show databases;
 2 +--------------------+
 3 | Database           |
 4 +--------------------+
 5 | information_schema |
 6 | evil               |
 7 | homework           |
 8 | mysql              |
 9 | test               |
10 +--------------------+
11 5 rows in set (0.01 sec

默认数据库:

1   mysql - 用户权限相关数据
2   test - 用于用户测试数据
3   information_schema - MySQL本身架构相关数据

2、切换或者使用数据库:use +dbname

1 mysql> use evil;
2 Reading table information for completion of table and column names
3 You can turn off this feature to get a quicker startup with -A
4 
5 Database changed 

3、显示当前数据库下所有表:

 

1 mysql> show tables;
2 +----------------+
3 | Tables_in_evil |
4 +----------------+
5 | host           |
6 | service        |
7 | user           |
8 +----------------+
9 3 rows in set (0.00 sec)

4、用户授权:刷新权限:flush privileges;

 

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('新密码') 

创建用户:

 

1 mysql> create user 'test'@'192.168.1.100' identified by '123';
2 Query OK, 0 rows affected (0.00 sec)

 删除用户:

 

1 drop user 'test'@'192.168.1.100';
2 Query OK, 0 rows affected (0.00 sec) 

修改用户:

 

1 mysql> rename user 'test'@'192.168.1.100'  to 'test_1'@'192.168.1.101';
2 Query OK, 0 rows affected (0.00 sec)

修改用户密码:

1 mysql> set password for 'test_1'@'192.168.1.101' = Password('321');
2 Query OK, 0 rows affected (0.00 sec

 PS:用户权限相关数据保存在mysql数据库的user表中,所以也可以直接对其进行操作(不建议)

在数据库mysql里User表里有我们刚才配置的用户信息。

 

1 mysql> use mysql;
2 Database changed
3 mysql> select * from user where User="test_1";

 授权管理:

1 show grants for '用户'@'IP地址'                  -- 查看权限
2 grant  权限 on 数据库.表 to   '用户'@'IP地址'      -- 授权
3 revoke 权限 on 数据库.表 from '用户'@'IP地址'      -- 取消权限 

权限类型:

 1 all privileges  除grant外的所有权限
 2             select          仅查权限
 3             select,insert   查和插入权限
 4             ...
 5             usage                   无访问权限
 6             alter                   使用alter table
 7             alter routine           使用alter procedure和drop procedure
 8             create                  使用create table
 9             create routine          使用create procedure
10             create temporary tables 使用create temporary tables
11             create user             使用create user、drop user、rename user和revoke  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                   

推荐阅读