数据库的分类:
层次数据库:类似xml(html)的文本结构
网状数据库:
关系数据库:
主流数据库:
Mysql是一种关系数据库管理系统
SQL:struct query language 结构化查询语言。其实是一个“国际化”标准
各种关系数据库,其实都是实现(并扩充)该标准的一种产品
数据库存储的本质与表现:
本质就是将大量的“数据值”通过数据库管理系统进行某种复杂但是逻辑结构上清晰有序的存储
表现:其实就是存文件而已
关系数据库常见术语:
数据:data;
数据库:database;
数据库管理系统:dbms; database management system
表(数据表):table;
字段:field
列:column
行:row
记录:record
数据库系统的基本结构:
Mysql系统级操作和基本语法规定:
命令行模式:net start/stop mysql
服务模式:控制面板 > 管理工具 > 服务 > mysql > 启动/停止
登录/退出基本操作:
mysql -hlocalhost -uroot -p;
mysql -h127.0.0.1 -utest -p;
备份/恢复数据库:
备份:mysqldump -h服务器地址 -u用户名 -p 数据库名> 要存储的文件名
恢复:mysql -h服务器地址 -u用户名 -p 数据库名 < 要恢复的数据库名
PHP中操作数据库的基本代码与流程:
1:连接数据库: $mylink = mysql_connect("localhost",‘root‘,‘root‘);
2:设定连接编码(通常是utf8): mysql_set_charset(‘utf8‘); //也可以使用:mysql_query("set names utf8");
3:选择数据库(如有需要): mysql_select_db("数据库名"); //也可以使用:mysql_query("use 数据库名");
4:执行sql命令
$result = mysql_query("几乎任何sql语句");
返回的结果通常需要分两种情形处理:
如果是无返回数据的语句:
如果$result为true,表示执行成功
如果$result为false,表示执行失败
如果是有返回数据的语句:
如果$result为false,表示执行失败
否则,执行成功,需要继续从结果中取出数据并显示出来
补充sql语句:
set names gbk;
use databasename;
desc 表名:显示一个表的“结构信息”,返回的其实也是结果集(类似select语句)
补充php操作的函数:
$record = mysql_fetch_array(结果集$result);
mysql_num_rows($result); //获得结果集的行数
mysql_num_fields($result); //获取结果集的列数
mysql_field_name($result,$i); //获取结果集中的第i个字段名(i从0开始)
Msql数据定义语言DDL(data definition language):
数据库定义语句:
1:创建数据库:create database [if not exists] databasename [charset 字符集][collate 字符排序规则];
说明:
1:if not exists 用于判断是否存在该数据库名,如果存在则不执行该语句
2:字符集:意图数据存储到本数据库中的时候所使用的字符编码名称,通常utf8,也可以gbk
3:字符排序规则通常不设置,而是使用所设定的字符串的默认规则(每个字符集都有一个默认的排序规则);
什么叫排序规则:设定一个字符集中的所有字符怎么排列先后顺序的规则
显示所有字符集:show charset;
显示mysql中的所有排序规则:show collation;
2:修改数据库,所谓修改数据库就是修改数据的选项值
alter database 数据库名 character set=新字符集 collate=新校对集;
3:删除数据库
drop database 数据库名;
其他数据库相关语句:
选择(进入)某数据库:use 数据库名;
显示所有数据库:show databases;
显示某个数据库的“创建语句”:show create database 数据库名;
字段类型,也就是数据类型
表定义语句
视图定义语句
数据库(表)设计介绍:
Msql数据操作语言DML(data manipulation language)
插入数据:
删除数据:
修改数据: