什么是数据库?
个人理解:将一些有关系的数据组织在一起,并建立一定规则便于查询、修改、删除我们关系的数据仓库。
常用的数据库: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