网络数据库指南
上一页   下一页

Web数据库实例(第一部分)

下一节我们开始学习一步步创建基于Web的数据库。首先,我们先建立数据库,并装入一些数据。完成这步后,我们就新建一些PHP 脚本,和数据库通信并看看全过程。

 

 

创建数据库

确认运行着MySQL服务器进程。如果没有的话,请手动启动它:

# /etc/rc.d/init.d/mysql start

现在我们以MySQL客户程序的管理员身份启动它,这次我们将看到需要输入密码的提示:

# mysql -u root -p
Enter password: newpassword
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 13 to server version: 3.22.21
Type 'help' for help.
mysql>

新建数据库

用命令:create database example 新建一个叫example的数据库。当使用MySQL客户程序的时候,请记住 在每个命令结束时加上;(分号)

mysql> create database example;
Query OK, 1 row affected (0.03 sec)
mysql> use example;
Database changed

新建一个表

在名字叫example的数据库中建立一个叫mytable的表:

mysql> CREATE TABLE mytable (
-> name CHAR(30),
-> phone CHAR(10)
-> );
Query OK, 0 rows affected (0.00 sec)

小技巧:很多Linux系统都使用bashShell,它可以显示你使用过的命令的历史,只需要用上下键即可,这样你可以节省很多时间去输入复杂的命令。

添加数据

现在我们向数据库输入些数据。例如向表中插入一些条目,以下是操作步骤:

mysql> INSERT INTO mytable VALUES ("Homer Simpson", "555-1234");
Query OK, 1 row affected (0.05 sec)
mysql> INSERT INTO mytable VALUES ("Bart Simpson", "555-4321")
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO mytable VALUES ("Lisa Simpson", "555-3214");
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO mytable VALUES ("Marge Simpson", "555-2314");
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO mytable VALUES ("Maggie Simpson", "555-3142");
Query OK, 1 row affected (0.00 sec)

确认通过SELECT指令可以看到所有信息:

mysql> SELECT * FROM mytable;
+----------------+----------+
| name           | phone     |
+----------------+----------+
| Homer Simpson  | 555-1234 |
| Bart Simpson   | 555-4321 |
| Lisa Simpson   | 555-3214 |
| Marge Simpson  | 555-2314 |
| Maggie Simpson | 555-3142 |
+----------------+----------+
5 rows in set (0.00 sec)

 

 

新建数据库用户

我们已经建立了一个数据库并且输入了一些数据。现在必须新建一个用户帐号以便可以访问数据库,并且用GRANT命令赋予此用户特权:

mysql> GRANT usage
-> ON example.*
-> TO webuser@localhost;
Query OK, 0 rows affected (0.15 sec)

此后就创建了一个新用户叫:webuser,这个用户只能从localhost连接到数据库并可以连接到example 数据库。下一步,我们必须指定webuser这个用户可以执行哪些操作:

mysql> GRANT select, insert, delete
-> ON example.*
-> TO webuser@localhost;
Query OK, 0 rows affected (0.00 sec)

此操作使webuser能够在每一个example数据库中的表执行SELECTINSERTDELETE等查询操作。现在我们结束操作并退出MySQL客户程序

mysql> exit
Bye


译者:黑仔强 (openlinux@yeah.net)