MySQL的几种表外连接及PHP操作MySQL的函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL的几种表外连接及PHP操作MySQL的函数相关的知识,希望对你有一定的参考价值。

内连接

按照条件,将左表的每天记录匹配右表,如果条件符合,字段内容将会被保存,如果不符合,则不会被保存;

语法:

select  *|字段列表 from 左表 inner join 右表 on 左表.字段=右表.字段...;

Inner 可以省略掉;

简约版语法

select  *|字段列表 from 左表 join 右表 on 左表.字段=右表.字段....;

外连接

左外连接

语法:

select  *|字段列表 from 左表 left  join 右表 on 左表.字段=右表.字段...;

跟内连接基本一样,唯一一点区别:外连接,没匹配成功的话,左表的字段内容会保存,而右表则是以null保存。

右外连接

语法:

select  *|字段列表 from 左表 right  join 右表 on .字段=右表.字段...;

跟内连接基本一样,唯一一点区别:外连接,没匹配成功的话,右表的字段内容会保存,而左表则是以null保存。

自然连接

规则:

只要两张表中具有相同的字段名,系统就认为是一个连接条件,就会主动的去匹配这两个相同的字段名的值是否相同,如果两个表的相同的字段名的值相同,就认为匹配成功;如果两张表中有多个字段名相同,则所有相同的字段名的值都要相同才算是匹配成功!

自然内连接

语法:

左表 natural inner join右表

跟内连接一样,没匹配成功的字段会直接被删除;

自然外连接

语法:

左表 natural  left|right  join 右表

跟外连接一样,只是匹配条件是系统定而已

php操作mysql

mysql_connect 函数:连接数据库

语法:

Mysql_connect(‘本机名’,’用户名’,’密码’)

断开连接需要使用mysql_close函数!

mysql_query函数:发送操作指令

mysql_query(“操作指令”)

mysql_query 函数如果操作失败的话会返回一个布尔值的(frue,如果成功的话,可能会返回布尔值的(true)也可能返回一个资源结果集

那么,如何提取资源结果集呢?

mysql_fetch_array()函数:提取资源结果集

资源结果集返回的是一个关联及索引并存的一个数组,一次提取,数组指针会下移,及获得下一行数值

MYSQL_BOTH同时返回关联和索引数组,也是默认值!

MYSQL_fetch_ASSOC只返回关联数组!

MYSQL_fetch_row只返回索引数组

当资源结果集使用完了之后,应该主动的释放它:

使用另一个系统函数mysql_free_result(结果集资源);

错误调试函数

因为PHP连接MySQL中不会报错,所以得需要用到错误调试函数来报错

mysql_errno:错误编码

Mysql_error:错误信息

MySQL数据备份

文本备份:

复制粘贴数据表,但每次所以表都要复制,浪费空间

数据备份:

语法:

select *|字段列表 into outfile 文件地址 from 表名;

注意:

文件地址中目录名不能省略,不能备份到一个已经存储了数据的文件中,文件必须由MySQL系统自己新建,也就是说,你只需要指定一个目录,然后设置文件名,MySQL系统就会自己帮你新建好!

Sql备份

语法:

mysqldump  -hlocalhost P3306  -uroot p 数据库名[数据表1 数据表2……] > 存储路径

还原语法

语法:

方法1

mysql  -hPup 数据库名字 < 备份路径

方法2

source 备份路径;

以上是关于MySQL的几种表外连接及PHP操作MySQL的函数的主要内容,如果未能解决你的问题,请参考以下文章

PHP连接MySQL数据库的几种方法

php连接数据库,php连接mysql并查询的几种方式

mysql的几种join 及 full join 问题

玩转MYSQL 人类高质量数据库的约束聚合查询联合查询以及三种表的设计

mysql copy复制拷贝表数据及结构的几种方式(转)

php连接数据库的几种方式