PHP&MYSQL复习提纲
一、 PHP语法
◆ 数据类型
PHP 只有整数、浮点数(或称实数、双精度数)和字符串三种基本数据类型。字符串可用单引号和双引号,但有不同的含义:只有双引号内可以使用变量。
◆ 变量
变量的前面要加"$",使用变量不需要事先说明(或定义)变量的类型,不同类型的数据可对同一变量赋值。但若要使用全局变量须用 global 说明(或将其加入 $GLOBALS[] 数组)。使用静态变量要用 static 说明。
◆ 数组
使用数组并不需要说明它的类型和尺寸,可直接使用。同一数组的各元素可以有不同的数据类型。
◇ 标量数组
用以下的赋值语句可产生一个标量数组:
$a[0]=100;
$a[1]="Hello";
$a[2]=23.4;
如果省略下标,会自动按顺序排列下标值。
◇ 关联数组
用以下的赋值语句可产生一个关联数组:
$students[name]= '张三';
$students[age]= 20;
$students[tel]= '65032905-8097';
在访问数据库时,一条记录可作为一个关联数组,字段名位于方括号内。
◆ 运算符
大体上保留了 C 语言的运算符。增加了字符串连接符"."(访问对象成员时使用"->")。增加了"=>"运算符,用于给数组赋初值。另外,逻辑与("&&")和逻辑或("||")也可用"and"和"or",增加了逻辑异或"xor"。
◆ 基本语句
要求掌握 if-else 语句、 switch-case 语句、 for 语句、 while 语句、 do-while 语句、 continue 语句、 break 语句。 require 语句和 include 语句,用于插入一个磁盘文件。区别是:如果用在条件语句中,include 只在符合条件时才插入文件,而 require 总是插入。格式为:
include("文件名");
require("文件名");
◆ 函数的定义和使用
使用 function 定义函数,不需要说明函数类型和参数类型。
function 函数名(参数1,参数2,……)
{ 语句1;
语句2;……
}
允许在参数前加"&",使参数可以双向传递数据。也允许给参数赋默认值。
二、 MYSQL语法
数值类型
列类型
需要的存储量
TINYINT
1 字节
SMALLINT
2 个字节
MEDIUMINT
3 个字节
INT
4 个字节
INTEGER
4 个字节
BIGINT
8 个字节
FLOAT(X)
4 如果 X
FLOAT
4 个字节
DOUBLE
8 个字节
DOUBLE PRECISION
8 个字节
REAL
8 个字节
DECIMAL(M,D)
M字节(D+2 , 如果M
NUMERIC(M,D)
M字节(D+2 , 如果M
日期和时间类型
列类型
需要的存储量
DATE
3 个字节
DATETIME
8 个字节
TIMESTAMP
4 个字节
TIME
3 个字节
YEAR
1 字节
串类型
列类型
需要的存储量
CHAR(M)
M字节,1
VARCHAR(M)
L+1 字节, 在此L
TINYBLOB, TINYTEXT
L+1 字节, 在此L
BLOB, TEXT
L+2 字节, 在此L
MEDIUMBLOB, MEDIUMTEXT
L+3 字节, 在此L
LONGBLOB, LONGTEXT
L+4 字节, 在此L
ENUM('value1','value2',...)
1 或 2 个字节, 取决于枚举值的数目(最大值65535)
SET('value1','value2',...)
1,2,3,4或8个字节, 取决于集合成员的数量(最多64个成员)
1.建立新数据库
CREATE DATABASE 数据库名称
2.显示数据库
SHOW DATABASES
3.打开数据库
USE 数据库名称
4.显示数据库中的表
SHOW TABLES
5.显示表结构
DESCRIBE 表名称 或 SHOW COLUMNS FROM 表名称
6.建立表
CREATE TABLE 表名称(域名称 数据类型(数据大小) [NOT NULL][PRIMARY KEY[AUTO_INCREMENT]],......)
7.修改表
A.新增域
格式:ALTER TABLE 表名称 ADD COLUMN 域名称 数据类型(数据大小) NOT NULL...
B.修改域
格式:ALTER TABLE 表名称 CHANGE COLUMN 域名称 域定义
C.删除域
格式:ALTER TABLE 表名称 DROP COLUMN 域名称
8.删除表
格式:DROP TABLE 表名称
9.选择查询
格式:SELECT 域名称[AS 域别名]...FROM 表名称[WHERE 条件][GROUP BY ...][HAVING ...][ORDER BY ...]
10.新增单笔记录
insert into 表名称(域1,域2,...) values(值1,值2,...)
11.新增多笔记录
insert into 表名称(域1,域2,...) select 域 from 表 where 条件;
12.更新记录
update 表名称 set 域名称=新值 where 条件
13.删除记录
delete from 表名称 where 条件
三、 实例
1. IF…ELSE 程序
if ($gender=="woman")
echo "
小姐好
";else
echo "先生好
";
?>
2. IF…ELSEIF…ELSE程序
结果: echo $num1;?> echo $num2;?>
等于
if ($operation == "加")
{$x = $num1 + $num2;
print $x;}
elseif ($operation == "减")
{$x = $num1 - $num2;
print $x;}
elseif ($operation == "乘")
{$x = $num1 * $num2;
print $x;}
elseif ($operation =="除")
{$x=$num1/$num2;
print $x;}
else
print $x;
?>
3. for循环程序
$sum=0;
for ($i=1; $i
{
$sum+=$i; //执行一次就把$sum加上$i
}
echo $sum; //显示结果
?>
4. while程序
$sum=0;
while ($i
{
$sum+=$i;
$i++;
};
echo $sum;
?>
5. do … while程序
$sum=0; $i=1;
do {
$sum+=$i;
$i++;
}
while ($i
echo "从1开始加到".($i-1);
echo "
";
echo "总和是".$sum;
?>
6. 函数例程
function cal ($cal_nu)
{
$cal_sqr=$cal_nu*$cal_nu;
$cal_cub=$cal_nu*$cal_nu*$cal_nu;
return array($cal_sqr, $cal_cub);
}
?>
list($sqr, $cub) = cal($nu_input);
echo $nu_input; echo "的平方是:"; echo $sqr;
echo "
";
echo $nu_input; echo "的立方是:"; echo $cub;
?>
7. 建立数据表
mysql_connect("localhost","s990402","zq");
mysql_select_db("s990402");
$str="CREATE TABLE students(
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
name CHAR(10),
age INT,
tel VARCHAR(20),
addr VARCHAR(30)
)”;
$result=mysql_query($str);
if($result)
echo "数据表\"students\"建立成功!";
else
echo "数据表建立失败!";
?>
8. 添加记录
$cn=mysql_connect("localhost","s990402","zq");
mysql_select_db("s990402",$cn);
$ins=mysql_query("INSERT INTO students(nam,age,tel,addr)
VALUES('$nam',$age,'$tel','$addr')",$cn);
if($ins)
echo "新纪录已添加到数据库中。";
else
echo "纪录添加失败。";
?>
9. 浏览记录
姓名 | 年龄 | 电话 | 住址 |
$a[name] | $a[age] | $a[tel] | $a[addr] |
10. 删除记录(本程序文件名为del.php)
$cn=mysql_connect("localhost","s990402","zq");
mysql_select_db("s990402",$cn);
if($id>0) mysql_query("DELETE FROM students WHERE id=$id",$cn);
?>
姓名 | 年龄 | 电话 | 住址 | |
删除 | $a[nam] | $a[age] | $a[tel] | $a[addr] |