1、数据及数据库
■ 数据的分类
● 结构化数据和非结构化数据
可以用二维逻辑表来表现的数据即为结构化数据,不方便用二维逻辑表表现的数据为非结构化数据。
■ 数据库的分类
● 关系型数据库和非关系型数据库
◆ 关系型数据库里存储的数据是表格式的,因此存储在数据表的行和列中,数据表可彼此关联协作存储,容易数据提取。
◆ 非关系型数据库里数据不适合以表格形式存取,而是大块结合在一起,通常存储在数据集中,方便存储文档、图片等数据。
2、mysql数据库常用语句分类
■ DDL (Data Definition Language, 数据定义语言)
用来建立数据库、数据库对象和定义字段,如CREATE、ALTER、DROP
■ DML (Data Manipulation Language, 数据操纵语言)
用来插入、删除和修改数据库中的数据,如INSERT、UPDATE、DELETE
■ DQL (Data Query Language, 数据查询语言)
用来查询数据库中的数据,如SELECT
■ DCL (Data Control Language, 数据控制语言)
用来控制数据库组件的存取许可、存取权限等,如COMMIT、ROLLBACK、 GRANT、 REVOKE
3、DDL (Data Definition Language 数据定义语言)
■ 创建新的数据库
mysql >CREATE DATABASE auth;
■ 创建新的表
CREATE TABLE 表名 (字段 1 名称类型,字段 2 名称类型,…,. PRIMARY KEY (主键名) )
■ 删除一个数据表
mysql>DROP TABLE auth. users;
■ 删除一个数据库
mysql>DROP DATABASE auth;
4、DML
<font color=red size=4>■ 插入数据记录</font>
INSERT INTO 表名 (字段 1,字段 2, .. )VALUES(字段1的值,字段2的值,...)
mysql>use auth;
nysql> INSERT INTO users (user_name, user_passwd) VALUES(' zhangsan',PASSWORD (' 123456' ));或mysql>INSERT INTO users VALUES('lisi', PASSWORD(' 654321' )) ;
<font color=red size=4>■ 修改数据记录</font>
UPDATE 表名 SET 字段名 1=字段值 1[,字段名 2=字段值 2] WHERE 条件表达式
mysql>UPDATE auth. users SET user_passwd=PASSWORD('') WHERE user_name='lisi' ;
mysql>SELECT * FROM auth. users;
<font color=red size=4>■ 修改数据库密码</font>
mysql>UPDATE mysql. user SET authentication_string=PASSWORD('123457') WHERE user=’root’;
[ root@www~] # mysqladmin -u root -p '123457' password '123456'
<font color=red size=4>■ 删除数据库记录</font>
DELETE FROM表名WHERE条件表达式
mysql>DELETE FROM auth. users WHERE user_name='lisi' ;
mysql>SELECT * FROM auth. users;
5、DQL
<font color=red size=4>■ 查询数据记录</font>
SELECT 字段名 1, 字段名 2,.. FROM 表名 WHERE 条件表达式
mysql>select * from auth. users;
mysql>SELECT user_name, user_passwd FROM auth. users WHERE user_name=' zhangsan'
6、DCL
■ 授予权限
GRANT权限列表 ON 数据库名.表名T0 用户名@来源地址[ IDENTIFIED BY ’密码’ ]
mysql>GRANT select ON auth. * T0’ xiaoqi '@' localhost' IDENTIFIED BY '123456' ;
[root@www~] # mysql -u xiaoqi -p
mysql>SELECT * FROM auth. users; //验证授权的访问操作;
mysql>SELECT * FROM mysql. user; //验证非授权的访问操作
mysql>CREATE DATABASE bdqn;
mysql>GRANT all privileges ON bdqn. * T0 'dbuser' @ '192. 168.4. 19' IDENTIFIED BY 'pwd@123' ;
■ 查看权限
SHOW GRANTS FOR用户名@来源地址
mysql>SHOW GRANTS FOR 'dbuser' @ '192. 168.4. 19' ;
■ 撤销权限
REVOKE 权限列表 ON 数据库名.表名 FROM 用户名@来源地址
mysql>REVOKE all privileges ON auth. * FROM 'xiaoqi' @ 'localhost' ;
mysql>SH0W GRANTS FOR 'xiaoqi' @ 'localhost' ; //确认已撤销对auth库的权限