1.
RDBMS即关系数据库管理系统(Relational Database Management System)的特点:
(1)数据以表格的形式出现
(2)每行为各种记录名称
(3)每列为记录名称所对应的数据域
(4)许多的行和列组成一张表单
(5)若干的表单组成database
2.使用PHP脚本连接MySQL
mysqli_connect(server,user,password,database)
#例子
$dbhost='localhost';//服务器主机地址
$dbuser='root';//用户名
$dbpass='12345';//用户名密码
$dbdata='library';//数据库的名字
$con=mysqli_connect($dbhost,$dbuser,$dbpass,$dbdata);
//确认是否建立连接成功
if (mysqli_connect_errno($con))
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
3.选择数据库并设置编码规则
mysqli_query ( $con,"set names 'utf8'");//设置编码方式为utf-8
mysqli_select_db( $con,$mysql_database);//选择数据库
4.数据库查询及插入
//向Persons插入一个人的信息
mysqli_query($con,"INSERT INTO Persons (FirstName,LastName,Age) VALUES ('Glenn','Quagmire',33)");
//查询表中所有数据
mysqli_query($con,"SELECT * FROM Persons");
//查询指定房间号的房间信息
$id=$_GET['id'];//获得用户提交的房间号码
$sql="select * from room where room_id='$id'";
$result=mysqli_query($con,$sql);//查询指定的房间
5.从返回结果中取得一行作为数组
//从结果集中取得一行作为关联数组:
$row=mysqli_fetch_array($result,MYSQLI_ASSOC);
//mysqli_fetch_array() 函数从结果集中取得一行作为关联数组,或数字数组,或二者兼有。
//MYSQLI_ASSOC 关联数组
//MYSQLI_NUM 数字数组
//MYSQLI_BOTH 二者都有
6.返回查询结果的行数
mysqli_num_rows() //函数返回结果集中行的数量。
$rowcount=mysqli_num_rows($result);
7.创建删除表格
<?php
$sql = "CREATE TABLE room( ".
"room_id INT NOT NULL AUTO_INCREMENT, ".
"room_type VARCHAR(100) NOT NULL, ".
"room_state VARCHAR(40) NOT NULL, ".
"PRIMARY KEY ( room_id )); ";
mysql_select_db( 'hotel' );
$retval = mysql_query( $sql, $con );
if(! $retval )
{
die('数据表创建失败: ' . mysql_error());
}
echo "数据表创建成功\n";
?>
//删除表格
$sql = "DROP TABLE room";
mysql_select_db( 'hotel' );//选择数据库
$retval = mysql_query( $sql, $con );//mysql_query和mysqli_query参数正好相反
8.where 子句
//查询所有的空房间
$sql = 'SELECT room_id, room_type,runoob_state
FROM room
WHERE room_state="empty"';
mysql_select_db('hotel');//选择数据库
$retval = mysql_query( $sql, $con);//执行查询
9.UPDATE
//201房间的状态设置为空
$sql = 'UPDATE room
SET room_state="empty"
WHERE room_id=201';
mysql_select_db('hotel');
$retval = mysql_query( $sql, $conn );
10.DELETE 语句
//从表中删除203房间
$sql = 'DELETE FROM room
WHERE room_id=203';
mysql_select_db('hotel');
$retval = mysql_query( $sql, $con);
11.LIKE 子句
$sql = 'SELECT room_id, room_type,room_state
FROM room
WHERE room_id LIKE "%1%"';
mysql_select_db('RUNOOB');
$retval = mysql_query( $sql, $con);
12.排序
$sql = 'SELECT runoob_id, runoob_title, runoob_author, submission_date
FROM runoob_tbl
ORDER BY runoob_author DESC';
mysql_select_db('RUNOOB');
$retval = mysql_query( $sql, $conn );
13.GROUP BY 语句
//根据名字分组分数
SELECT name, grade FROM students GROUP BY name;
14.连接
INNER JOIN(内连接,或等值连接):获取两个表中字段匹配关系的记录。
LEFT JOIN(左连接):获取左表所有记录,即使右表没有对应匹配的记录。
RIGHT JOIN(右连接): 与 LEFT JOIN 相反,用于获取右表所有记录,即使左表没有对应匹配的记录。