首页 » 微信公众平台开发:从零基础到ThinkPHP5高性能框架实践 » 微信公众平台开发:从零基础到ThinkPHP5高性能框架实践全文在线阅读

《微信公众平台开发:从零基础到ThinkPHP5高性能框架实践》2.2.2 MySQL的使用

关灯直达底部

本小节演示如何使用SQL语句及PHP程序创建和使用一个简单的数据库表。

表2-1所示是一个名为“wx_user”的表。

表2-1 wx_user表

wx_user表含有4个列(id、openid、username及telephone)和两条记录(每条记录对应一个人)。

1.创建数据库表

下面是建立一个数据库表“wx_user”的SQL脚本。


CREATE TABLE IF NOT EXISTS 'wx_user' (    'id' int(7) NOT NULL AUTO_INCREMENT,    'openid' varchar(30) NOT NULL,    'username' varchar(20) NOT NULL,    'telephone' varchar(16) NOT NULL,    PRIMARY KEY ('id'),    UNIQUE KEY 'openid' ('openid')) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;  

创建数据库表时使用CREATE TABLE命令。命令中间部分的内容是创建条件,包括列名、列的数据类型及长度、是否允许为空、是否有自增属性、是否是唯一Key、是否为主键等。

在phpMyAdmin的SQL运行框中,运行上述代码后,将创建一个名为“wx_user”的表,如图2-23所示。

图2-23 wx_user表

2.插入数据

向数据库表插入数据时使用INSERT INTO语句。其语法如下。


INSERT INTO table_name VALUES (value1, value2,...)  

在本例中,插入语句可以这样写。


INSERT INTO 'wx_user' ('id', 'openid', 'username', 'telephone') VALUES (NULL, 'o7Lp5t6n59DeX3U0C7Kric9qEx-Q', '方倍', '15987654321');  

下面是使用PHP程序进行提交的代码。


<?php$con = mysql_connect("localhost:3306","root","root");mysql_query("SET NAMES 'UTF8'");mysql_select_db("book", $con);mysql_query("INSERT INTO 'wx_user' ('id', 'openid', 'username', 'telephone') VALUES (NULL, 'o7Lp5t6n59DeX3U0C7Kric9qEx-Q', '方倍', '15987654321');");mysql_query("INSERT INTO 'wx_user' ('id', 'openid', 'username', 'telephone') VALUES (NULL, 'o7Lp5t6n59De2380C3Kxkc93E2x3', '李四', '13412341234');");mysql_close($con);?>  

在上述代码中,首先创建到数据库的连接,这是通过mysql_connect()函数完成的,连接的主机为“localhost”,端口为“3306”,账号和密码都为“root”。然后通过“SET NAMES'UTF8'”命令设置字符集为UTF8,这样就能正常显示中文。之后通过mysql_select_db()函数设置要连接的数据库“book”。最后使用mysql_query()函数向wx_user表中插入两条记录。执行完毕后,使用mysql_close()函数关闭MySQL连接。

3.查询数据

从数据库中查询数据时使用SELECT语句。其语法如下。


SELECT column_name(s) FROM table_name  

在本例中,查询语句可以这样写。


SELECT * FROM 'wx_user' WHERE 'openid' = 'o7Lp5t6n59DeX3U0C7Kric9qEx-Q';  

下面是使用PHP程序进行查询的代码。


<?php$con = mysql_connect("localhost:3306","root","root");mysql_query("SET NAMES 'UTF8'");mysql_select_db("book", $con);$result = mysql_query("SELECT * FROM 'wx_user' WHERE 'openid' = 'o7Lp5t6n59DeX3U0C7Kric9qEx-Q';");while($row = mysql_fetch_array($result)){    echo $row['username']." ".$row['telephone'];    echo "<br />";}mysql_close($con);?>  

上述代码查询openid为“o7Lp5t6n59De-X3U0C7Kric9qEx-Q”的数据,并且返回该条记录的username和telephone字段。执行后,返回的内容如图2-24所示。

图2-24 查询数据

4.修改数据

修改数据库表中的数据时使用UPDATE语句。其语法如下。


UPDATE table_name SET column_name = new_value WHERE column_name = some_value  

在本例中,修改语句可以这样写:


UPDATE 'wx_user' SET 'telephone' = '15999521234' WHERE 'openid' = 'o7Lp5t6n59DeX3U0C7Kric9qEx-Q';  

下面是使用PHP程序进行修改的代码。


<?php$con = mysql_connect("localhost:3306","root","root");mysql_query("SET NAMES 'UTF8'");mysql_select_db("book", $con);mysql_query("UPDATE 'wx_user' SET 'telephone' = '15999521234' WHERE 'openid' = 'o7Lp5t6n59DeX3U0C7Kric9qEx-Q';");mysql_close($con);?>  

上述代码执行后,会将openid值为“o7Lp5t6n59DeX3U0C7Kric9qEx-Q”的记录中的telephone值更改为“15999521234”。

5.删除数据

从数据库表中删除记录时使用DELETE FROM语句。其语法如下。


DELETE FROM table_name WHERE column_name = some_value 

在本例中,删除语句可以这样写。


DELETE FROM 'wx_user' WHERE 'openid' = 'o7Lp5t6n59DeX3U0C7Kric9qEx-Q';  

下面是使用PHP程序进行删除的代码。


<?php$con = mysql_connect("localhost:3306","root","root");mysql_query("SET NAMES 'UTF8'");mysql_select_db("book", $con);mysql_query("DELETE FROM 'wx_user' WHERE 'openid' = 'o7Lp5t6n59DeX3U0C7Kric9qEx-Q';");mysql_close($con);?>  

上述代码执行后,会将openid值为“o7Lp5t6n59DeX3U0C7Kric9qEx-Q”的记录删除。