Web_PHP_PHP-MySQL数据库浅谈;

来源:互联网 发布:wifi局域网劫持软件 编辑:程序博客网 时间:2024/05/21 10:54
PHP_MySQL数据库 2015/1/1 12:48


一、PHP MySQL 简介
引言:MySQL 是最流行的开源数据库服务器。


1、什么是 MySQL?
前言:MySQL 是一种数据库。数据库定义存储信息的结构。在数据库中,存在着一些表。类似 HTML 表格,数据库表含有行、列以及单元。在分类存储信息时,数据库非常有用。


2、数据表
前言:数据库通常包含一个或多个表。每个表都有一个名称(比如 "Customers" 或 "Orders")。每个表包含带有数据的记录(行)。


3、查询数据
前言:查询是一种询问或请求。通过 MySQL,可以向数据库查询具体的信息,并得到返回的记录集。


4、MySQL 数据库下载
说明:如果您的 PHP 服务器没有 MySQL 数据库,可以在此下载 MySQL:http://www.mysql.com;


二、PHP MySQL 连接数据库
前言:免费的 MySQL 数据库通常是通过 PHP 来使用的。
1、创建连接
说明:在您能够访问并处理数据库中的数据之前,您必须创建到达数据库的连接。在 PHP 中,这个任务通过 mysql_connect() 函数完成。
语法: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());
}
?>


2、关闭连接
前言:脚本一结束,就会关闭连接。如需提前关闭连接,请使用 mysql_close() 函数。
实例:关闭连接
<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
 {
 die('Could not connect: ' . mysql_error());
 }
/// some code
// 关闭连接
mysql_close($con);
?>


三、PHP MySQL 创建数据库和表
前言:数据库存有一个或多个表。
1、创建数据库
说明:CREATE DATABASE 语句用于在 MySQL 中创建数据库。
语法:CREATE DATABASE database_name;
注释:使用 mysql_query() 函数,向 MySQL 连接发送查询或命令。
实例:创建名为 "my_db" 的数据库
<?php
// 1、创建链接
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
// 2、发送命令
if (mysql_query("CREATE DATABASE my_db",$con))
{
echo "Database created";
}
else
{
echo "Error creating database: " . mysql_error();
}
// 3、关闭连接
mysql_close($con);
?>


2、创建数据表
前言:CREATE TABLE 用于在 MySQL 中创建数据库表。
语法:
CREATE TABLE table_name
(
column_name data_type
)
案例:创建Persons表(带有主键)
CREATE TABLE Persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
PRIMARY KEY (Id_P)
)
实例:创建"Persons" 数据表
<?php
// 1、创建连接
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
 {
 die('Could not connect: ' . mysql_error());
 }


// 2、创建数据库
if (mysql_query("CREATE DATABASE my_db",$con))
 {
 echo "Database created";
 }
else
 {
 echo "Error creating database: " . mysql_error();
 }
// 3、选择数据库
mysql_select_db("my_db", $con);
// 4、创建数据表
$sql = "CREATE TABLE Persons 
(
FirstName varchar(15),
LastName varchar(15),
Age int
)";
mysql_query($sql,$con);
// 4、关闭数据库
mysql_close($con);
?>
提示:在创建表之前,必须首先选择数据库。通过 mysql_select_db() 函数选取数据库。
注释:当您创建 varchar 类型的数据库字段时,必须规定该字段的最大长度,例如:varchar(15)。


3、MySQL 数据类型
(1)、整数
int(size)
smallint(size)
tinyint(size)
mediumint(size)
bigint(size)
(2)、小数
decimal(size,d)
double(size,d)
float(size,d)
说明:在 size 参数中规定数字的最大值。在 d 参数中规定小数点右侧的数字的最大值。
(3)、文本
char(size) 固定长度的字符串。(可包含字母、数字以及特殊符号)。
varchar(size) 可变长度的字符串。(可包含字母、数字以及特殊符号)。
tinytext 支持可变长度的字符串,最大长度是 255 个字符。
text、blob 可变长度的字符串,最大长度是 65535 个字符。
mediumtext、mediumblob 支持可变长度的字符串,最大长度是 16777215 个字符。
longtext、longblob 支持可变长度的字符串,最大长度是 4294967295 个字符。
(4)、日期
date(yyyy-mm-dd)
datetime(yyyy-mm-dd hh:mm:ss)
timestamp(yyyymmddhhmmss)
time(hh:mm:ss)
(5)、杂项
enum(value1,value2,ect) ENUM 是 ENUMERATED 列表的缩写。可以在括号中存放最多 65535 个值。
set SET 与 ENUM 相似。但是,SET 可拥有最多 64 个列表项目,并可存放不止一个 choice。


(4)、主键和自动递增字段
前言:每个表都应有一个主键字段。主键用于对表中的行进行唯一标识。每个主键值在表中必须是唯一的。此外,主键字段不能为空,这是由于数据库引擎需要一个值来对记录进行定位。主键字段永远要被编入索引。这条规则没有例外。你必须对主键字段进行索引,这样数据库引擎才能快速定位给予该键值的行。
实例:把 personID 字段设置为主键字段,通常使用 AUTO_INCREMENT 设置,AUTO_INCREMENT 会在新记录被添加时逐一增加该字段的值。要确保主键字段不为空,我们必须向该字段添加 NOT NULL 设置。
$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);




四、PHP MySQL Insert Into
引言:INSERT INTO 语句用于向数据库表中插入新记录。
1、向数据表插入数据
前言:INSERT INTO 语句用于向数据库表添加新记录。
语法:
INSERT INTO table_name VALUES (value1, value2,valueN);
INSERT INTO table_name (column1, column2,columnN) VALUES (value1, value2,valueN);
注释:SQL 语句对大小写不敏感。INSERT INTO 与 insert into 相同。
实例:向 "Persons" 表添加记录
<?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 ('cyb', 'lf', '35')");
mysql_query("INSERT INTO Persons (FirstName, LastName, Age) VALUES ('chy', 'lf', '33')");
mysql_close($con);
?>




五、PHP MySQL Select
引言:SELECT 语句用于从数据库中选取数据。
1、从数据库表中选取数据
前言:SELECT 语句用于从数据库中选取数据。
语法:SELECT column_name(s) FROM table_name;
实例:选取存储在 "Persons" 表中的所有数据
<?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'])。


2、在 HTML 表格中显示结果
<?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");
echo "<table border='1'>
<tr>
<th>Firstname</th>
<th>Lastname</th>
</tr>";
while($row = mysql_fetch_array($result))
 {
 echo "<tr>";
 echo "<td>" . $row['FirstName'] . "</td>";
 echo "<td>" . $row['LastName'] . "</td>";
 echo "</tr>";
 }
echo "</table>";
mysql_close($con);
?>




六、PHP MySQL Where 子句
引言:如需选取匹配指定条件的数据,请向 SELECT 语句添加 WHERE 子句。
1、WHERE 子句
语法:SELECT column FROM table WHERE column operator value;


七、PHP MySQL Order By 关键词
引言:ORDER BY 关键词用于对记录集中的数据进行排序。
1、ORDER BY 关键词
语法:SELECT column_name(s) FROM table_name ORDER BY column_name;


2、升序或降序的排序
前言:如果您使用 ORDER BY 关键词,记录集的排序顺序默认是升序(1 在 9 之前,"a" 在 "p" 之前)。请使用 DESC 关键词来设定降序排序(9 在 1 之前,"p" 在 "a" 之前)。
语法:SELECT column_name(s) FROM table_name ORDER BY column_name DESC;


3、根据两列进行排序
前言:可以根据多个列进行排序。当按照多个列进行排序时,只有第一列相同时才使用第二列
语法:SELECT column_name(s) FROM table_name ORDER BY column_name1, column_name2;




七、PHP MySQL Update
引言:UPDATE 语句用于修改数据表中的数据。
1、更新数据
前言:UPDATE 语句用于在数据库表中修改数据。
语法:UPDATE table_name SET column_name = new_value WHERE column_name = some_value;




八、PHP MySQL Delete From
引言:DELETE FROM 语句用于从数据库表中删除行。
1、删除数据
语法:DELETE FROM table_name WHERE column_name = some_value;


九、PHP Database ODBC
引言:ODBC 是一种应用程序编程接口(Application Programming Interface,API),使我们有能力连接到某个数据源(比如一个 MS Access 数据库)。
1、创建 ODBC数据源
前言:通过一个 ODBC 连接,您可以连接到您的网络中的任何计算机上的任何数据库,只要 ODBC 连接是可用的。
实例:连接MS Access 数据库
>在控制面板中打开管理工具;
>双击其中的数据源 (ODBC) 图标;
>选择系统 DSN 选项卡;
>点击系统 DSN 选项卡中的“添加”按钮;
>选择 Microsoft Access Driver。点击完成;
>在下一个界面,点击“选择”来定位数据库;
>为这个数据库取一个数据源名 (DSN);
>点击确定完成;
注释:请注意,必须在您的网站所在的计算机上完成这个配置。如果您的计算机上正在运行 Internet 信息服务器 (IIS),上面的指令会生效,但是假如您的网站位于远程服务器,您必须拥有对该服务器的物理访问权限,或者请您的主机提供商为您建立 DSN。


2、创建连接、执行查询
前言: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); 或者 $compname=odbc_result($rs,"CompanyName");


5、关闭 ODBC 连接
前言:odbc_close()函数用于关闭 ODBC 连接。
语法:odbc_close($conn);


6、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>
0 0
原创粉丝点击