数据库基础
数据库的分类:
层次数据库:类似xml(html)的文本结构。
网状数据库
关系数据库
关系数据库:
SQL:Struct Query Language(结构化查询语言) ,其实是一个“国际化”标准。
各种关系数据库,其实都是实现(并扩充)该标准的一种产品。
数据库存储的本质和表现:
本质就是将大量的“数据值”通过数据库管理系统进行某种复杂但是逻辑结构上清晰有序的存储
表现:文件存储而已
关系数据库常见术语:
数据data
数据库database:指一个具体的存储数据的“逻辑名称”,通常一个产品(项目/网站),会使用一个数据库来存储其所有数据
数据库管理系统dbms:database management system:通常就是指数据库软件产品
表(数据表)table
字段field,列column
行row,记录record
数据库操作的基本模式(流程)
建立连接(认证身份)
客户端向服务器端发送sql命令
服务器端执行命令,并返回执行的结果
客户端接收结果(并显示)
断开连接
mysql系统级操作和基本语法规定
命令行模式:net start/stop mysql ( wampmysqld64)
服务模式:控制面板〉管理工具〉服务〉mysql >启动/停止
登录/退出基本操作
登录:mysql [-h服务器地址] -u登录名 -P端口号 -p
或登录:mysql [--host=服务器地址] --user=用户名 --port=端口 --password
退出:quit; 或 exit
注意:登录数据库系统后,需要使用“set names 编码名;”来设定当前连接数据库的“所在的环境变量”,即当前跟数据库打交道的“客户端”本身的编码。通常来说:
cmd客户端中是固定的使用gbk编码,
而php网页中,是该网页文件的编码(现在主流都是utf8)
备份恢复数据库 退出数据库执行的命令 指定到具体文件名
备份数据库:
mysqldump -h服务器地址 -u登录名 -p 要备份的数据库名 > 要保存为的文件
恢复数据库:
将刚才的数据恢复到另一个数据库(tempdb2)中:
mysql -h服务器地址 -u登录名 -P端口号 -p 数据库名 < 文件名
注意:通常该数据库名是需要先建立(存在)
数据库中命名规则
mysql本身不区分大小写。
但在某些区分大小写的操作系统中,数据库名和表名会区分大小写。
推荐使用“下划线命名法”来对各种标识符命名:单词都用小写字母,单词之间用“_”分开。
语法形式
create database [if not exists ] 数据库名 [charset 字符集] [collate 字符排序规则];
说明:
1,if not exists:用于判断是否存在该数据库名,如果存在则不执行该语句
2,字符集: 意图数据存储到本数据库中的时候所使用的字符编码名称,通常utf8,也可以gbk。
3,字符排序规则通常不设置,而是使用所设定的字符集的默认规则(每个字符集都有一个默认的排序规则);
什么叫排序规则:设定一个字符集中的所有字符怎么排列先后顺序的规则。
修改数据库:
alter database 数据库名 character set=新字符集 collate=新校对集;
删除数据库:
drop database 数据库名;
其他数据库相关语句
选择(进入)某数据库: use 数据库名;
通常,要进行数据中的数据表和数据的操作,都必须先“进入”该数据库。
显示所有数据库: show databases;
显示某个数据库的“创建语句”:
show create database 数据库名;