php学习day9---数据库的基本知识
今天主要学习了mysql的基本知识。
一、数据库的介绍
1.数据库的分类
要学习数据库我们首先要明白什么是数据库,数据库也就类似一个仓库,可以储存大量不同的数据,DBMS系统,全名database management system 是数据库管理系统,是一个管理数据的软件,安装了数据库软件的的电脑就是数据库服务器,端口默认为3306,数据库服务器,提供数据的更新,管理,安全事务等方面的功能。
数据库根据结构的不同可以分为三种:层次数据库、网状数据库、关系数据库。当然,目前最流行的数据库就是关系数据库。
几个数据库的相关概念:
data:数据
database:数据库,用于储存数据类似于一个大的文件夹。
dbms:数据库管理系统 ,比如mysql,oracle等等
table:数据表,用来存放数据,拥有行和列。类似于文件中的文件。
row:记录,数据表中的一条记录,也就是一行数据。
field:字段,是列 数据表中的一列数据。
2.主流的数据库
目前在市面上最流行的几大数据库分别是:
Access:是微软的小型数据库
SQLsever:微软的中型数据库
Oracle:美国甲骨文公司的产品,大型或者超大型。
MySQL:瑞典ab公司的产品,后来被甲骨文收购,中小型网站应用,开源。
SQL:这是关系数据库的标准语言,STRUCT QUERY LANGUAGE(结构化查询语言)
关系数据库的特点是:表与表之间的数据可以建立一定 的“对应关系”。如下图:
3.数据库的基本操作流程
首先,建立与数据库之间的连接。
其次,客户端向服务器发送sql命令,服务器端执行命令,并返回执行结果
最后,客户端接受结果显示并断开连接。
二、数据库的基本语法
1.启动数据库
数据库的启动方法
以命令行的方式:
启动:net start mysql
关闭:net start mysql
如下图:
当然要注意:如果想在全局路径上使用的话需要配置自己的环境变量。
服务模式:控制面板-》管理工具-》服务-》mysql-》停止/启动
2.退出/登录数据库
登录数据库:
mysql -h服务器地址 -u登录名 -p登录密码;
mysql --host=服务器地址 --user=用户名 --port=端口 --password
退出: quit; exit;
注意:在登录数据库之后一定要使用“set names gbk”来设定当前连接数据库的环境编码,即当前跟数据库打交道的客户端的本身的编码。
3.数据库的备份和恢复
备份:就是将一个数据库,完整的转换为一个可以随时携带和传送的文件
备份的方法:
mysqldump -h服务器地址 -u登录名 -p 数据库名>文件名
恢复备份:将一个备份之后的数据恢复到数据库
mysql -h服务器地址 -u登录名 -p 数据库名 < 文件名
注意:这两个命令,都是在没有登录mysql的时候使用,其中mysqldump命令还需要在管理员身份打开,通常恢复,就是指恢复原来数据库中的所有表数据信息及其它信息,表明可以是新名字。
4.基础语法规定
注释:
注释有三种:
单行注释 :# 注释内容
单行注释: -- 注释内容(--后有一个空格)
多行注释:/*注释内容*/
语句行:
默认情况下,以一个英文分号作为一条语句的结束,而且常规操作中,都是一次执行一条语句。
大小写:
mysql语言背部本身不区分大小写;
mysql的某些命令执行会生成文件夹,此时可能要区分大小写;
命名问题:
可以自己命名的名字称作标识符。
命名建议与php命名相同,字母数字下划线,并不以数字开头。
非常规字符或系统关键字虽然可以作为标识符使用,但最好要包在反引号(数字1左边那个反撇 ` )中,并且不推荐。
三、数据库定义语句
1.创建数据库
在连接数据库服务器之后,我们需要进行创建数据库,当然数据库的创建语法如下:
create database db_name [charset ut8];
2.删除数据库
我们既然可以创建数据库,那么我们也可以删除数据库,删除数据库的语法是:
drop database 【if exists】 db_name;
3.修改数据库
通常我们修改数据库,只修改两项:
修改编码;
修改排列顺序;
语法:
alter database 数据库名 charset 新的编码名 collate 新的排序规则名
4.进入数据库
语法:
use 数据库名称
四、php操作数据库的基本函数
在php中完成相关数据库的操作,首先要执行以下代码:
$link = mysql_connect("数据库服务器地址","用户名","密码");
mysql_query("set names utf8");//也可以使用mysql_set_charset("");
mysql_query("use 数据库名称");//也可以使用mysql_seleck_db("");
然后,才开始正式执行要完成的数据库操作任务(语句):
$result = mysql_query(“select / delete /update / insert / desc / show tables /drop .......”);
补充:
mysql_error(); 获取执行错误时的失败信息
mysql_query();
对于mysql_query()这个函数,可以执行几乎任何sql语句,在执行语句时可以分为两种情况。
1.执行时返回全是布尔值的:(其返回结果都是布尔值)比如:
insert, update, delete, create table, create database ,drop ...执行成功返回true,执行失败返回false;
2.执行时返回有数据:(执行失败返回false,成功返回结果集)比如:
$result = mysql_query(“select ... “);
while ( $rec = mysql_fetch_array( $result ) ){
//mysql_fetch_array()会取出该结果集中的“一行数据”,并取得该行数据后赋值给$rec;
//此$rec就是一个数组,其下标就是字段名;
//在此while循环中,mysql_fetch_array()会一次次(一行行)取出结果集中的所有数据;
然后,在这里就可以处理该数组$rec了:
}
$n1 = mysql_num_rows(结果集); //获得该结果集的数据行数;
$n2 = mysql_num_fields(结果集); //获得该结果集的数据列数;
$name = mysql_field_name(结果集, $i ); //获得结果集的第i个字段的名字!i从0开始算起。
明天继续。