本节演示如何SQL语句及PHP程序创建和使用一个简单的数据库表。   下面是一个名为“wx_user”的表。 ![](https://box.kancloud.cn/98e009c52e4b9197b27bf073b0a25b6b_546x68.png)           表2-1 wx_user表   上面的表含有四个列(id, openid, username以及mobile)和二个记录(每个记录对应一个人)。   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所示。 ![](https://box.kancloud.cn/ba3ea708871c5bd483ab34777a406409_702x104.png)                 图2-23wx_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); ?> ~~~   在上述代码中,PHP首先创建到数据库的连接,这是通过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”为“o7Lp5t6n59DeX3U0C7Kric9qEx-Q”的数据,并且返回该条数据的“username”和“telephone”字段,执行后,返回的内容如图2-24所示。 ![](https://box.kancloud.cn/f30003fc0a883672d2093ec844aa9a92_471x135.png)         图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”的记录进行删除。