Mysql介绍
数据库是什么?
1.数据库分类:层级数据库、网状数据库、关系数据库
2.主流数据库:SQLSever、Mysql、Oracle等
Mysql是一种关系数据库管理系统
1.SQL:这是关系数据库的“语言标准”,STRUCT QUERY LANGUAGE(结构化查询语言)
2.关系数据库特点:表跟表之间的数据可以建立一定的对应关系
3.数据存储的本质:将大量的数据值通过数据管理系统进行某种复杂但是逻辑结构上清晰有序的存储
Mysql数据库各层次之间的关系:
数据库系统-----数据库------表-------数据行(记录)------字段(数据项)(1------n的关系)
4.数据存储的表现
通过代码,可以对各种数据进行各种操作,但其实,在文件表现,其实只是几个文件名,具体在数据库的存储目录中:
(1)每个数据库对应一个文件夹
(2)每个数据表对应一个或几个文件
5.常用基本术语
数据data
数据库database
数据库管理dbms:一个具体的数据库软件产品database management system
数据表table
字段field 列column
行row 记录record
Mysql数据操作的基本模式(流程):
建立连接(认证身份)
客户端向服务器端发送sql命令
服务器端执行命令,并返回执行的结果
客户端接受结果(并显示)
断开连接
Mysql系统级操作及基本语法规定
启动/停止mysql数据库服务
(1)命令行模式(需管理员身份):
启动:net start mysql 停止:net stopmysql
(2)服务模式:控制面板》管理工具》服务》mysql》启动/停止
登录/推出mysql数据库系统
登录:mysql –h服务器地址 –u登录名 【–P端口号】 –p
或:mysql——host=服务器地址——user=登录名——port=端口号——password
退出:quit或exit
注意:登录数据库系统后,需要使用“set names 编码名;”来设定当前连接数据库的“环境编码名”,即当前数据库打交道的“客户端”本身的编码。Cmd客户端是固定的gbk编码,php网页中,为网页文件的编码(主流为utf8)
备份/恢复数据
备份:就是讲一个数据库,完整地“转换成”一个可以随时“携带和传送”的文件。
语法:mysqldump –h服务器地址–u登录名–p 数据库名>文件名
恢复:就是将一个备份的数据库,完整地还原为一个可以使用的数据库
语法:mysql–h服务器地址–u登录名–p 数据库名<文件名
注意:
1.这两个命令,都是在“没有登录进入”的时候使用
2.其中mysqldump命令还要求为管理员身份
3.恢复指恢复原来数据库中的所有表数据信息及其他信息,而数据库名可以是原来的名字或新的名字。
基础语法规定
注释:3种形式
单行注释:#注释内容 --注释内容(--后面有一个空格)
多行注释: /* 注释内容*/
语句行
大小写:mysql语言本身不区分大小写,但,mysql的某些命令执行会生成文件(夹),此时他们就可能区分大小。在文件名称区分大小写的系统(unix,linux)中,会区分大小写;在不区分大小写的系统(window)中,不区分
命名(标识符)规则:建议使用小写,并采用下划线分割法
php操作mysql数据库基本函数
$link=mysql_connect("数据库服务器地址","用户名","密码"); // 连接数据库
mysql_query("set names 网页文件编码");//设定连接编码,相当于mysql_set_charset("网页文件编码");
mysql_query("use 数据库名");//选定要使用的数据库名,相当于mysql_select_db("数据库名");
数据库操作语句:
$result=mysql_query("select/delect/update/insert/desc/showtables/drop...");
mysql_error():获取mysql执行失败时的错误信息
示例:
If($result==false){echo “语句执行失败,请参考提示:”mysql_error();}
else{……}
mysql_query()函数,可以执行“几乎任何sql语句”。在应用中,分两种情况:
(1)无数据返回,如insert、update、delete、create、drop.执行结果为true或false
(2)有数据返回,如select、show tables、show database、desc 表名(显示表结构);
执行结果:false或结果集(即数据集,一个有字段的表结构)
fetch函数的3种形式:
$result=mysql_query("select id,age,name");
mysql_fetch_assoc($result) //字段名作为下标
结果:array(”id“=>1, ”age”=>18, ”name”=>”user1”);
mysql_fetch_row($result) //数字作为下标
结果:array(0 =>1, 1=>18, 2=>”user1”);
mysql_fetch_array($result) //字段名、数字作为下标(两种)
结果:array(”id“=>1, ”age”=>18, ”name”=>”user1”, 0 =>1, 1=>18, 2=>”user1”);
示例:
$result=mysql_query("select...");
While($rec=mysql_fetch_array($result)){
// mysql_fetch_array()取出该结果中的一行数据,并赋值给$rec; $rec是一个数组,下标是字段名;此while循环会一次次取出结果中的所有数据
}
扩展函数:
$n1=mysql_num_rows(结果集); //获得结果集中的数据行
$n2=mysql_num_fields(结果集); //获得结果集中的数据列数
$name=mysql_field_name(结果集,$i); //获得结果集中的第i个字段的名字!i从0开始算起