学习PHP之SQL语法
数据库中的常用SQL语句
创建一个简单的数据库
创建一个数据库命令:CREATE TABLE
删除一个数据库命令:DROP TABLE
修改一个字段名称:RENAME TABLE `原字段` TO `新字段`
删除一个字段:ALTER TABLE `表` DROP `原字段`
插入一个字段:ALTER TABLE `表` ADD `新字段` … AFTER `原字段`
举例:
CREATE TABLE `test` (
`id` int(10)NOT NULL auto_increment,
`uid` varchar(10) NOT NULL default '0',
`regdate` date NOT NULL,
`remark` text NULL,
PRIMARYKEY (`id`)
)
1、SELECT 查询语句和条件语句
SELECT 查询字段 FROM 表名 WHERE 条件
查询字段:可以使用通配符* 、字段名、字段别名
表名:数据库.表名 表名
常用条件: = 等于、<>不等于、in 包含、 not in 不包含、 like 匹配
BETWEEN 在范围 、 not BETWEEN不在范围< 、>
条件运算: and 、 or 、 ( )
分组语句:group by 字段(语句最后 order之前)
排序语句:order by 字段,字段 ASC / DESC(语句最后 limit之前)
指针查询:limit 初始值,结束值(语句最后)
计算:
COUNT(*) 统计函数
MAX(*) 最大值函数
MIN (*) 最小值函数
AVG(*) 平均值函数
SUM(*) 累计值函数
2、INSERT插入语句
insert into 表名 (字段…,…) values(值…,…)
insert into 表名 values(值…,…)
3、UPDATE更新语句
UPDATE 表名 SET 字段 = 值 WHERE 条件 limit
常用条件: = 等于、<>不等于、in 包含、 not in 不包含、 like 匹配
BETWEEN 在范围 、 not BETWEEN不在范围
条件预算: and 、 or 、 ( )
4、DELETE 删除语句
DELETE FROM 表名 WHERE 条件 limit
常用条件: = 等于、<>不等于、in 包含、 not in 不包含、 like 匹配
BETWEEN 在范围 、 not BETWEEN不在范围
条件预算: and 、 or 、 ( )
PHP与MySQL的连接
1、PHP与mysql建立链接
php.ini 加载mysql组件:
extension=php_mysql.dll 前的; 去掉
extension_dir = " " 路径是否正确
PHP链接mysql函数
mysql_connect: 开启 MySQL 链接
mysql_select_db: 打开一个数据库
@和or die 隐藏错误和条件显示
mysql_connect("主机", "用户名", "密码")
mysql_select_db("打开数据库",连接标识符);
代码举例:
$conFlag=@mysql_connect("localhost","root","");
if ($conFlag){
echo "连接成功!";
}else{
echo "连接错误!";
}
$Flag=@mysql_select_db("newdb");
if ($Flag){
echo "
"."newdb数据库打开成功!";
}
2、如何去执行一个SQL语句
mysql_query(SQL语句 ,连接标识符);
说明:mysql_query用来根据连接标识符向该数据库服务器的当前数据库发送查询,如果连接标识符默认,则默认为是上一次打开的连接。
返回值:成功后返回一个结果标识符,失败时返回false。
代码举例:
$sql="INSERT INTO test VALUES('','zhb',now(),'postG')";
mysql_query("set names 'GB2312'");//解决中文乱码
mysql_query($sql);
3、SQL查询语句的特殊性
注意:对于除查询以外的操作,不需要返回数据。而查询需要返回数据。
mysql_query执行SQL查询语句,用mysql_fetch_row或mysql_fetch_array获取查询的结果。
格式:mysql_fetch_row(result);
说明:mysql_fetch_row用来查询结果的一行保存至数组,该数组下标从0开始,每一个数组元素对应一个域。通过循环,可以将查询结果全部获得。
格式:mysql_fetch_array(result);
说明:mysql_fetch_array和mysql_fetch_row功能基本相同,只不过它除了可以用从0开始的偏移量作索引,还可以用域名作索引。值返回下一行的所有域值,并将其保存至一个数组中,没有行时返回false。
代码举例:
$sql="SELECT * FROM `test`";
$result=mysql_query($sql);
echo "
";
while($result_array=mysql_fetch_row($result)){
print_r($result_array);
echo "
";
}
4、其他常用Mysql函数介绍
mysql_num_rows 用于计算查询结果中所得行的数目
mysql_insert_id传回最后一次使用 INSERT 指令的 ID。
mysql_tablename取得数据库名称
mysql_error 返回错误信息
mysql_close 关闭 MySQL 链接
附录:
访问MYSQL的几种途径
1、使用工具MYSQL官方的工具访问:MySQLAdministrator tool
2、使用第三方工具访问:mysqlexec、 mysql连接器
3、使用WEB方式访问:phpMyAdmin(最常见)(http://localhost/phpmyadmin/)
数据库中常用字段类型
整数型:TINYINT,SMALLINT,INT,BIGINT
小数型:FLOAT,DOUBLE,DECIMAL(M,D)
字符型:CHAR,VARCHAR
日期型:DATETIME ,DATE,TIMESTAMP
备注型:TINYTEXT ,TEXT ,LONGTEXT
参考:PHP100视频 8~10