关于 MySQL 的一点很棒的特性是,可以对它进行缩减,来支持嵌入的数据库应用程序。也许正因如此,许多人认为 MySQL 仅仅能处理中小型的系统。
事实上,对于那些支持巨大数据和访问量的网站,MySQL 是事实上的标准数据库(比如 Friendster, Yahoo, Google)。这个地址提供了使用 MySQL 的公司的概览:http://www.mysql.com/customers/。
mysql_connect(servername,username,password);
servername 可选。规定要连接的服务器。默认是 "localhost:3306"。
username 可选。规定登录所使用的用户名。默认值是拥有服务器进程的用户的名称。
password 可选。规定登录所用的密码。默认是 ""。
<?php $con = mysql_connect("localhost","peter","abc123"); if (!$con) { die(‘Could not connect: ‘ . mysql_error()); } // Create database if (mysql_query("CREATE DATABASE my_db",$con)) { echo "Database created"; } else { echo "Error creating database: " . mysql_error(); } // Create table in my_db database $sql = "CREATE TABLE Persons ( personID int NOT NULL AUTO_INCREMENT, PRIMARY KEY(personID), FirstName varchar(15), LastName varchar(15), Age int )"; mysql_query($sql,$con); mysql_close($con); ?>
注释:当您创建 varchar 类型的数据库字段时,必须规定该字段的最大长度,例如:varchar(15)。
主键字段永远要被编入索引。这条规则没有例外。你必须对主键字段进行索引,这样数据库引擎才能快速定位给予该键值的行。
MySQL 数据类型
数值类型 | 描述 |
---|---|
|
仅支持整数。在 size 参数中规定数字的最大值。 |
|
支持带有小数的数字。 在 size 参数中规定数字的最大值。在 d 参数中规定小数点右侧的数字的最大值。 |
文本数据类型 | 描述 |
---|---|
char(size) |
支持固定长度的字符串。(可包含字母、数字以及特殊符号)。 在 size 参数中规定固定长度。 |
varchar(size) |
支持可变长度的字符串。(可包含字母、数字以及特殊符号)。 在 size 参数中规定最大长度。 |
tinytext | 支持可变长度的字符串,最大长度是 255 个字符。 |
|
支持可变长度的字符串,最大长度是 65535 个字符。 |
|
支持可变长度的字符串,最大长度是 16777215 个字符。 |
|
支持可变长度的字符串,最大长度是 4294967295 个字符。 |
日期数据类型 | 描述 |
---|---|
|
支持日期或时间 |
杂项数据类型 | 描述 |
---|---|
enum(value1,value2,ect) | ENUM 是 ENUMERATED 列表的缩写。可以在括号中存放最多 65535 个值。 |
set | SET 与 ENUM 相似。但是,SET 可拥有最多 64 个列表项目,并可存放不止一个 choice |
SQL 语句对大小写不敏感。INSERT INTO 与 insert into 相同。
<?php $con = mysql_connect("localhost","peter","abc123"); if (!$con) { die(‘Could not connect: ‘ . mysql_error()); } mysql_select_db("my_db", $con); mysql_query("INSERT INTO Persons (FirstName, LastName, Age) VALUES (‘Peter‘, ‘Griffin‘, ‘35‘)"); mysql_query("INSERT INTO Persons (FirstName, LastName, Age) VALUES (‘Glenn‘, ‘Quagmire‘, ‘33‘)"); mysql_close($con); ?>
<?php $con = mysql_connect("localhost","peter","abc123"); if (!$con) { die(‘Could not connect: ‘ . mysql_error()); } mysql_select_db("my_db", $con); $sql="INSERT INTO Persons (FirstName, LastName, Age) VALUES (‘$_POST[firstname]‘,‘$_POST[lastname]‘,‘$_POST[age]‘)"; if (!mysql_query($sql,$con)) { die(‘Error: ‘ . mysql_error()); } echo "1 record added"; mysql_close($con) ?>
<?php $con = mysql_connect("localhost","peter","abc123"); if (!$con) { die(‘Could not connect: ‘ . mysql_error()); } mysql_select_db("my_db", $con); $result = mysql_query("SELECT * FROM Persons"); while($row = mysql_fetch_array($result)) { echo $row[‘FirstName‘] . " " . $row[‘LastName‘]; echo "<br />"; } mysql_close($con); ?>
WHERE 子句
LIKE:搜索匹配的模式
$result = mysql_query("SELECT * FROM Persons WHERE FirstName=‘Peter‘");
$result = mysql_query("SELECT * FROM Persons ORDER BY age");
SELECT column_name(s) FROM table_name ORDER BY column_name DESC
SELECT column_name(s) FROM table_name ORDER BY column_name1, column_name2
mysql_query("UPDATE Persons SET Age = ‘36‘ WHERE FirstName = ‘Peter‘ AND LastName = ‘Griffin‘");
mysql_query("DELETE FROM Persons WHERE LastName=‘Griffin‘");
ODBC 是一种应用程序编程接口(Application Programming Interface,API),使我们有能力连接到某个数据源(比如一个 MS Access 数据库)。
创建 ODBC 连接
通过一个 ODBC 连接,您可以连接到您的网络中的任何计算机上的任何数据库,只要 ODBC 连接是可用的。
这是创建到达 MS Access 数据的 ODBC 连接的方法:
- 在控制面板中打开管理工具
- 双击其中的数据源 (ODBC) 图标
- 选择系统 DSN 选项卡
- 点击系统 DSN 选项卡中的“添加”按钮
- 选择 Microsoft Access Driver。点击完成。
- 在下一个界面,点击“选择”来定位数据库。
- 为这个数据库取一个数据源名 (DSN)。
- 点击确定。
请注意,必须在您的网站所在的计算机上完成这个配置。如果您的计算机上正在运行 Internet 信息服务器 (IIS),上面的指令会生效,但是假如您的网站位于远程服务器,您必须拥有对该服务器的物理访问权限,或者请您的主机提供商为您建立 DSN。
连接到 ODBC
odbc_connect() 函数用于连接到 ODBC 数据源。该函数有四个参数:数据源名、用户名、密码以及可选的指针类型参数。
odbc_exec() 函数用于执行 SQL 语句。
例子
下面的例子创建了到达名为 northwind 的 DSN 的连接,没有用户名和密码。然后创建并执行一条 SQL 语句:
$conn=odbc_connect(‘northwind‘,‘‘,‘‘); $sql="SELECT * FROM customers"; $rs=odbc_exec($conn,$sql);
取回记录
odbc_fetch_row() 函数用于从结果集中返回记录。如果能够返回行,则返回 true,否则返回 false。
该函数有两个参数:ODBC 结果标识符和可选的行号:
odbc_fetch_row($rs)
从记录中取回字段
odbc_result() 函数用于从记录中读取字段。该函数有两个参数:ODBC 结果标识符和字段编号或名称。
下面的代码行从记录中返回第一个字段的值:
$compname=odbc_result($rs,1);
The code line below returns the value of a field called "CompanyName":
$compname=odbc_result($rs,"CompanyName");
关闭 ODBC 连接
odbc_close()函数用于关闭 ODBC 连接。
odbc_close($conn);
ODBC 实例
下面的例子展示了如何首先创建一个数据库连接,然后是结果集,然后在 HTML 表格中显示数据。
<html> <body> <?php $conn=odbc_connect(‘northwind‘,‘‘,‘‘); if (!$conn) {exit("Connection Failed: " . $conn);} $sql="SELECT * FROM customers"; $rs=odbc_exec($conn,$sql); if (!$rs) {exit("Error in SQL");} echo "<table><tr>"; echo "<th>Companyname</th>"; echo "<th>Contactname</th></tr>"; while (odbc_fetch_row($rs)) { $compname=odbc_result($rs,"CompanyName"); $conname=odbc_result($rs,"ContactName"); echo "<tr><td>$compname</td>"; echo "<td>$conname</td></tr>"; } odbc_close($conn); echo "</table>"; ?> </body> </html>