PHP后端(二):实现数据库操作

数据库是应用开发所必不可少的模块之一,使用数据库的好处和必要性不用我说了,什么数据共享啦、集中控制啦、维护性啦等等等等,可以说是好处多多。而所有与数据有关的操作,基本上都是后端的范畴,所以掌握好对数据库的操作,是后端的必修课之一。

数据库的内容很庞大,真的要学起来还挺复杂的,我懂得也不多,就先挑简单的来吧,以后有机会的话再去学习、记录。我们最常见的数据库是关系型数据库,如MySQL、Oracle等等,关系型数据库的特点是根据关系模型来组织数据,一列代表一个属性字段,一行代表一条数据,通过行和列组成表,表与表之间再通过关系组成库,非常利于用户理解。

数据库的使用也是十分简单,这里我以MySQL为例。首先是安装环境,单独去下载MySQL环境或者使用集成环境,如XAMPP、WAMP等等,安装完毕后,我们就能够执行各种数据库操作了。但是默认是通过命令行运行的,还是比较难使用的,所以一般还需要使用管理工具对数据库进行操作,比如说phpMyAdmin、Navicat 等等。全部安装完之后,开启MySQL服务,我们的本地电脑或者云服务器上就有了能够使用的数据库了,但是如果应用较大,还是建议去买云数据库,一来是因为一般的服务器没有那么多空间专门拿来存储数据,二来则是因为通过本地环境运行的服务器并不稳定。

有了数据库之后,就是如何通过PHP对数据库进行操作了。

首先,当然是要连接上我们的数据库。后端连接数据库往往都十分地简单,只要一两条语句就可以了。我们只需填入主机IP和端口,再加上用户名密码,选择扩展方式(最常用的为mysql,还有mysqli、PDO),就能够简单地完成连接。

<?php
	$connect = mysql_connect("主机:端口","用户名","密码");
	if (!$connect) {
		die('连接数据库失败: ' . mysql_error());
	}
        mysql_close($con);//用完就断开连接是个好习惯
?>

在连接上数据库之后,我们还需要掌握最基本的增删改查操作(Create增 Retrieve读 Update 改Delete删 CRUD)。原生的PHP对数据库的操作就是通过mysql_query(“SQL”,connect)函数直接执行SQL语句,第一个参数为需要执行的SQL语句,第二个参数为建立连接的数据库,返回的结果为布尔类型,表示操作是否成功。

增删改查分为对数据库、数据表的操作和对数据的操作,虽说两者都能够通过代码实现,但是一般对数据库和表的操作,像表的建立、表结构的修改等,通过之前说过的管理工具会方便很多。不过你非要通过直接在管理工具中执行SQL语句或者通过PHP操作当然也是可以的。比如这样。

//创建数据库和删除数据库
mysql_query("CREATE DATABASE database_name",$connect)
mysql_query("DELETE DATABASE database_name",$connect)
//创建数据表
CREATE TABLE table_name(column_name1,data_type,column_name2,data_type......)

而我们一般意义上的CRUD操作是指那些频繁的、灵活的操作,也就是对数据的操作。

//插入数据操作
INSERT INTO table_name VALUE (value1,value2,......)
//限制字段插入操作
INSERT INTO table_name (column1,column2......) VALUE (value1,value2,......)
//删除数据
DELETE FROM table_name WHERE column_name=value
//更新数据
UPDATE table_name SET column_name=value
//查询所有数据
SELECT * FROM table_name 
//查询部分字段
SELECT (column1,column2,......) FROM table_name
//条件查询 WHERE
SELECT * FROM table_name WHERE name='mumu'
//条件关系 AND和 OR或 ER 
SELECT * FROM table_name WHERE name='mumu' AND age>18
//模糊查询LIKE %匹配任意字符
SELECT * FROM table_name WHERE name LIKE '%mumu%'
//限制输出 LIMIT
SELECT * FROM table_name WHERE name<>'mumu' LIMIT 4
//排序输出 ORDER ,默认为升序,若需要降序则在最后加上 DESC
SELECT * FROM table_name ORDER BY id

以上就算最简单的增删改查操作,除了查询操作复杂一点,花样多一点之外,其实都差不多。还有就是其实都是原生的SQL语句,PHP所做的只是中介的身份。关于SQL语句,有几点是需要知道的。
第一:SQL语句是不区分大小写的,不过一般规范一点把固定的语句用大写表示,字段名、值等用小写字母表示,所以我们数据库中的字段最好不要出现大写字母。
第二:SQL语句是非常灵活的,每条语句都能够通过WHERE来添加各种条件,还能通过AND OR等丰富条件。

当然出了最基本的CURD操作,还有一些操作是我们也会经常使用的。

$data = mysql_query("SELECT * FROM table_name WHERE name='mumu'",$connect)
//获取数据条数
mysql_num_rows($data)
//查询字段数量
mysql_num_fields($data)
//获取索引
mysql_fetch_row($data)

关于PHP对数据库的操作,到这里就差不多了,其实也是非常的简单,如果你本来就会SQL语句的话,就一点难度也没有了,假如你不会也没有关系,SQL语句就像一句句英文一样,学起来也是十分地方便。在掌握了这些简单的语句之后,基本上就能够满足我们的大多数需求了。当然只是实现对数据库的操作是远远不够的,作为一个完备的后端,还得能够管理路由,能够进行参数验证,稍微能够实现安全性和一定的性能,还有很多很多,虽然用原生的一点点写也是能够写得出来的,但是会花费大量的时间和精力,所以在真实的开发中,往往会直接选用有成熟理念的框架。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注