1.数据库理解
单单就过去文件系统而言:
1.处理接口不统一.程序员处理的手段不一样,编写的程序不够统一.
2.不方便管理. 尤其当文件数量急剧增加时.
3.关系难以建立. 文件与文件,文件与数,数据与数据 三者建立关系很难
随着发展,慢慢出现了数据库概念. 先是从非关系型数据库开始 -> 层 ->图 -> 关系型 ->面向对象型等等
简单而言,数据库是存放与管理数据的工具,由文件系统演化而来,具备 结构化,高效率,海量等特征.
2.MySQL
什么是MySQL
相关命令
- 登录命令
mysql -u root -h ip -p;
-u用户名 -p密码 -h 登录ip地址
MySQL是用来启动mysql数据库的命令 <server>
MySQL是打开并执行sql语句的命令 <client>
这两个都在MySQL安装文件夹的bin目录下
- 数据库
1.显示
show databases;
其中MySQL自带有如下数据库:
information_schema:提供了访问数据库元数据的方式.(比如:数据库名或表名,列的数据类型,或访问权限等)
mysql:主要负责存储数据库的用户、权限设置、关键字等mysql自己需要使用的控制和管理信息。
performance_schema:性能优化的引擎
PERFORMANCE_SCHEMA这个功能默认是关闭的:
需要设置参数: performance_schema 才可以启动该功能,这个参数是静态参数,只能写在my.cnf 中 不能动态修改。
2.创建
CREATE DATABASE 数据库名称 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
CREATE DATABASE `databasename`:创建数据库databasename。
DEFAULT CHARSET utf8:数据库字符集。设置数据库的默认编码为utf8,这里utf8中间不要"-";
COLLATE utf8_general_ci:数据库校对规则。该三部分分别为数据库字符集、校对准确度策略、区分大小写。
utf8_unicode_ci和utf8_general_ci对中、英文来说没有实质的差别。
utf8_general_ci校对速度快,但准确度稍差。
utf8_unicode_ci准确度高,但校对速度稍慢。
如果你的应用有德语、法语或者俄语,请一定使用utf8_unicode_ci。
另外,cs代表区分大小写;utf8_bin:字符串每个字符串用二进制数据编译存储。 区分大小写,而且可以存二进制的内容.
3.使用数据库
use da_name;
用户管理
1.创建用户
create user '用户名'@'IP地址' identified by '密码';
2.删除用户
drop user '用户名'@'IP地址';
3.修改用户
rename user '用户名'@'IP地址'; to '新用户名'@'IP地址';;
4.修改密码
set password for '用户名'@'IP地址' = Password('新密码')
权限管理
1.查看
show grants for '用户'@'IP地址' -- 查看权限
2.授权
grant 权限 on 数据库.表 to '用户'@'IP地址' -- 授权
3.取消
revoke 权限 on 数据库.表 from '用户'@'IP地址' -- 取消权限