您的位置:首页 > 编程语言 > PHP开发

Web_PHP_php数据库相关操作;

2014-04-14 08:48 323 查看
PHP数据库

1、PHP MySQL 简介
说明:MySQL 是最流行的开源数据库服务器;
(1)、什么是 MySQL?
MySQL 是一种数据库。数据库定义存储信息的结构;在数据库中,存在着一些表,类似 HTML 表格,数据库表含有行、列以及单元;在分类存储信息时,数据库非常有用;
(2)、数据库表:数据库通常包含一个或多个表。每个表都一个名称,每个表包含带有数据的记录(行);
(3)、查询:查询是一种询问或请求;通过 MySQL,我们可以向数据库查询具体的信息,并得到返回的记录集;
(4)、下载 MySQL 数据库:如果您的 PHP 服务器没有 MySQL 数据库,可以在此下载 MySQL:http://www.mysql.com/downloads/index.html;
(5)、Facts About MySQL Database
关于 MySQL 的一点很棒的特性是,可以对它进行缩减,来支持嵌入的数据库应用程序;也许正因如此,许多人认为 MySQL 仅仅能处理中小型的系统;事实上,对于那些支持巨大数据和访问量的网站,MySQL 是事实上的标准数据库(比如 Friendster, Yahoo, Google);这个地址提供使用 MySQL 的公司的概览:http://www.mysql.com/customers/;

2、PHP MySQL 连接数据库
引言:免费的 MySQL 数据库通常是通过 PHP 来使用的;
(1)、打开连接
在您能够访问并处理数据库中的数据之前,您必须创建到达数据库的连接;在 PHP 中,这个任务通过 mysql_connect() 函数完成;
>语法:mysql_connect(servername,username,password);参数:servername可选,规定要连接的服务器,默认是 "localhost:3306";username可选,规定登录所使用的用户名,默认值是拥有服务器进程的用户的名称;password可选,规定登录所用的密码,默认是 "";
(2)、关闭连接
脚本一结束,就会关闭连接;如需提前关闭连接,请使用 mysql_close() 函数;
>示例:
<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}

// some code

mysql_close($con);
?>

3、PHP MySQL 创建数据库和表
(1)、创建数据库:CREATE DATABASE 语句用于在 MySQL 中创建数据库;
>语法:CREATE DATABASE database_name;(为了让 PHP 执行上面的语句,我们必须使用 mysql_query() 函数;此函数用于向 MySQL 连接发送查询或命令)
>示例:
<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}

if (mysql_query("CREATE DATABASE my_db",$con))
{
echo "Database created";
}
else
{
echo "Error creating database: " . mysql_error();
}

mysql_close($con);
?>
(2)、创建数据表:CREATE TABLE 用于在 MySQL 中创建数据库表;
>语法:mysql_query() 函数发送CREATE TABLE 语句;
CREATE TABLE table_name
(
column_name1 data_type,
column_name2 data_type,
column_name3 data_type,
.......
)
>示例:
<?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
mysql_select_db("my_db", $con);
$sql = "CREATE TABLE Persons
(
id int NOT NULL AUTO_INCREMENT,
name varchar(25) NOT NULL,
age int,
constraint pk_personId primary key(id)
)";
mysql_query($sql,$con);

mysql_close($con);
?>
解释,在创建表之前,必须首先选择数据库;通过 mysql_select_db() 函数选取数据库;当您创建 varchar 类型的数据库字段时,必须规定该字段的最大长度,例如:varchar(15);
(3)、MySql数值类型
int(size)
smallint(size)
tinyint(size)
mediumint(size)
bigint(size)
以上仅支持整数,在 size 参数中规定数字的最大值;
decimal(size,d)
double(size,d)
float(size,d)
以上支持带有小数的数字;在 size 参数中规定数字的最大值;在 d 参数中规定小数点右侧的数字的最大值;
(4)、MySql文本数据类型
char(size)支持固定长度的字符串,可包含字母、数字以及特殊符号,在 size 参数中规定固定长度;varchar(size) 支持可变长度的字符串,可包含字母、数字以及特殊符号,在 size 参数中规定最大长度;tinytext支持可变长度的字符串,最大长度是 255 个字符;text、   blob支持可变长度的字符串,最大长度是 65535 个字符;mediumtext、mediumblob支持可变长度的字符串,最大长度是 16777215 个字符; longtext、longblob支持可变长度的字符串,最大长度是 4294967295 个字符;
(5)、MySql日期数据类型:支持日期或时间;
date(yyyy-mm-dd)
datetime(yyyy-mm-dd hh:mm:ss)
timestamp(yyyymmddhhmmss)
time(hh:mm:ss)
(6)、MySql杂项数据类型
enum(value1,value2,ect)ENUM是 ENUMERATED 列表的缩写,可以在括号中存放最多 65535 个值;set,SET 与 ENUM 相似,但是,SET 可拥有最多 64 个列表项目,并可存放不止一个 choice;
(7)、主键和自动递增字段
每个表都应有一个主键字段;主键用于对表中的行进行唯一标识;每个主键值在表中必须是唯一的;此外,主键字段不能为空,这是由于数据库引擎需要一个值来对记录进行定位;主键字段永远要被编入索引;这条规则没有例外;你必须对主键字段进行索引,这样数据库引擎才能快速定位给予该键值的行;
>示例:
$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);

4、PHP MySQL Insert Into
>说明:INSERT INTO 语句用于向数据库表中插入新记录;为了让 PHP 执行该语句,我们必须使用 mysql_query() 函数,该函数用于向 MySQL 连接发送查询或命令;
>语法:INSERT INTO table_name (column1, column2,...) VALUES (value1, value2,....);切记,SQL 语句对大小写不敏感。INSERT INTO 与 insert into 相同;
>示例:把来自表单的数据插入数据库,
<html>
<body>
<form action="insert.php" method="post">
Firstname: <input type="text" name="firstname" />
Lastname: <input type="text" name="lastname" />
Age: <input type="text" name="age" />
<input type="submit" />
</form>
</body>
</html>

<?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)
?>

5、PHP MySQL Select查询
>说明:SELECT 语句用于从数据库中选取数据;
>语法:SELECT column_name(s) FROM table_name;
>示例:
<?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);
?>
解释,这个例子在 $result 变量中存放由 mysql_query() 函数返回的数据。接下来,我们使用 mysql_fetch_array() 函数以数组的形式从记录集返回第一行;每个随后对 mysql_fetch_array() 函数的调用都会返回记录集中的下一行;while loop 语句会循环记录集中的所有记录;为了输出每行的值,我们使用了 PHP 的 $row 变量 ($row['FirstName'] 和 $row['LastName']);

6、PHP MySQL Where 子句
>说明:如需选取匹配指定条件的数据,请向 SELECT 语句添加 WHERE 子句;
>语法:SELECT column FROM table WHERE column operator value;

7、PHP MySQL Order By 关键词
>说明:ORDER BY 关键词用于对记录集中的数据进行排序;
>语法:SELECT column_name(s) FROM table_name ORDER BY column_name1, column_name2;(当按照多个列进行排序时,只有第一列相同时才使用第二列)

8、PHP MySQL Update
>说明:UPDATE 语句用于修改数据库表中的数据;
>语法:UPDATE table_name SET column_name = new_value WHERE column_name = some_value;

9、PHP MySQL Delete From
>说明:DELETE FROM 语句用于从数据库表中删除行;
>语法:DELETE FROM table_name WHERE column_name = some_value;

10、PHP Database ODBC
>说明:ODBC 是一种应用程序编程接口(Application Programming Interface,API),使我们有能力连接到某个数据源(比如一个 MS Access 数据库);
(1)、创建 ODBC 连接:通过一个 ODBC 连接,您可以连接到您的网络中的任何计算机上的任何数据库,只要 ODBC 连接是可用的;
>ACCESS数据库连接:创建到达 MS Access 数据的 ODBC 连接的方法,
控制面板->管理工具->数据源(ODBC)->系统DSN选项卡->添加->选择 Microsoft Access Driver->完成->选择数据库->输入数据源名->确定;
(2)、连接到 ODBC
odbc_connect() 函数用于连接到 ODBC 数据源,该函数有四个参数:数据源名、用户名、密码以及可选的指针类型参数;odbc_exec() 函数用于执行 SQL 语句;
>语法:
$conn=odbc_connect('northwind','','');
$sql="SELECT * FROM customers";
$rs=odbc_exec($conn,$sql);
(3)、取回记录
odbc_fetch_row() 函数用于从结果集中返回记录;如果能够返回行,则返回 true,否则返回 false;该函数有两个参数:ODBC 结果标识符和可选的行号;
>语法:odbc_fetch_row($rs);
(4)、从记录中取回字段
odbc_result() 函数用于从记录中读取字段,该函数有两个参数:ODBC 结果标识符和字段编号或名称;
>示例:代码行从记录中返回第一个字段的值
$compname=odbc_result($rs,1);
(5)、关闭 ODBC 连接:odbc_close()函数用于关闭 ODBC 连接;
>语法:odbc_close($conn);
>示例:
<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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: