PHP 与 MySQL数据库

MySQL.jpg

Web程序中的各类数据需要靠数据库存储,只有在数据库配合的基础上,PHP才能发挥其最大功效。

MySQL本身并不是数据库,他只是用来创建、维护、管理数据库的计算机软件。

MySQL数据库的基本操作

//windous 登录MySQL命令
mysql -u user_name -p password -h host
//退出MySQL
quit
exit

//创建数据库
create database database_name;

//删除数据库
drop database database_name;

//表的建立
create table Users(
UserId int unsigned not null,
UserName varchar(50) not null,
Gender char(6) not null defaultale',
RegTime date not null;
);
// varchar是变长字符串,在1-255之间
// char指定长度,不足空格补

//建立索引:INDEX
create table books(
id int not null,
name varchar(40) not null,
price = decimal(3,2),
index idx(id)
);

//特殊索引,主键
create table users(
id int not null primary key,
name varchar(30),
create_time date
);

//查看某个数据库中所有表的命令
show tables

//查看某个表的结构
use database
describe table_name

//插入数据
insert into users(id,name,created_time) values (1,'MrLiuQ','2017-07-22 10:18:00');
insert into users values(1,'MrLiuQ','2017-07-22 10:18:00');//省略字段名
insert into users set id=2,name='David',create_name='2017-07-22 10:18:00';

//查询数据
SELECT name,created_time AS ct FROM users;

//条件查询
SELECT *FROM users WHERE name='MrLiuQ';
SELECT *FROM users WHERE created_time>'2017-07-22 10:18:00';
SELECT *FROM users WHERE name='MrLiuQ'->AND created_time>'2017-07-22 10:18:00';
SELECT *FROM users WHERE name='MrLiuQ'->OR created_time>'2017-07-22 10:18:00';

//更新数据
UPDATE users SET name'Lily Cameron' WHERE id=3;//成功后,表users中id为3的用户名被修改为Lily Cameron

//删除数据
DELETE FROM users WHERE name='Lily Cameron';

//对查询结果做排序
SELECT *FROM users WHERE created_time >'2017-07-22 10:18:00'->ORDER BY id DESC;//ASC表示升序,DESC表示降序。

//对查询结果做分组
SELECT city FROM users GROUP BY city;

//对查询结果做限定
SELECT name,city FROM users ORDER BY name LIMIT 4;//返回前4条信息

MySQL的数据类型

INT:整数值。UNSIGNED INT指定无符号整数值
DECIMAL:指定数字值的精度和范围
REAL:浮点数值
CHAR:定长字符类型
VARCHAR:变长字符串,在1~255之间
TEXT:文本类型
DATE:日期值
TIME:时间值
DATETIME:MySQL支持,存放日期和日期类型

MySQL函数

COUNT():统计表中记录个数或这列中值的个数
MAX():返回某列中的最大值
MIN():返回某列中的最小值
SUM():指定列的值求和
AVG():计算指定列的平均值
LENGTH():字符串的长度
SUBSTRING():截取子字符串
YEAR():返回指定日期的年份
UNIX_TIMESTAMP():返回一个UNIX时间戳
DATE_FORMAT():将一个日期格式化
NOW():返回MySQL服务器系统的当前日期和时间

//计算表中总共有多少条记录
SELECT COUNT(*) FROM users;
//计算特定值的个数
SELECT COUNT(*) FROM users WHERE name LIKE 'J%';

//计算列最大值
SELECT MAX(salary) AS max_salary FROM emp_salary;

//计算列最小值
SELECT MIN(salary) AS max_salary FROM emp_salary;

//求和
SELECT SUM(salary) AS total_salary FROM emp_salary;

//求平均
SELECT AVG(salary) AS avg_salary FROM emp_salary;

//字符串长度
SELECT LENGTH('string in MySQL');

//截取指定长度字符串
SUBSTRING(string,pos,len);

//获取一个UNIX时间戳
SELECT UNIX_TIMESTAMP() AS timestamp;

//格式化输出日期
SELECT DATE_FORMAT<created_time,'%Y年%m月%d日'> AS DATE-> FROM users WHERE id=3;

用PHP操作MySQL数据库

步骤:
=> 建立数据库的链接
=> 选择要使用的数据库
=> 创建SQL语句
=> 执行SQL语句
=> 获取SQL执行结果
=> 处理数据结果集
=> 关闭与数据库的链接

//连接数据库
mysql_connect(string $server,string $user_name,string $password,[bool $new_link,int $client_type]);
mysql_pconnect(...)  //长久链接
$conn = mysql_connect('locolhost','root','user_pass');

//关闭数据库
bool mysql_close([resource $link]);

//执行SQL语句
mysql_query(string $sql);

//处理查询结果集的函数
mysql_affected_rows();      //取前一次MySQL操作记录行数。
mysql_fetch_row($result);  //从查询结果集中返回一行数据。$result是执行mysql_query()之后返回的资源标识符
mysql_fetch_array($result,$type);  //从结果集中返回一行作为关联数组
mysql_fetch_assoc($result);        //该函数只将结果集作为关联数组返回

//获取字段信息
object mysql_fetch_field($result [, int field_offset]);

//选择一个数据库
mysql_select_db($database);
//取得结果集的行目数
mysql_num_rows($result);
//返回最近一次MySQL操作产生的错误文本信息
mysql_error();


//PHP程序
<?php
$host = 'localhost';    //定义服务器
$user_name = 'root';  //定义用户名
$password = 'admin';  //定义密码

$conn = mysql_connect($host,$user_name,$password);  //连接MySQL
if(!$conn){
      die('数据库连接失败:'.mysql_error());
}
mysql_select_db('test');  //连接数据库

$sql = 'select id,name,city from users';  
$result = mysql_query($sql) OR die("<br/>ERROR:<b>".mysql_error()."</b><br/><br/><br/>产生问题的SQL<br/>".$sql);  //获取查询结果


if($result){
    echo 'SQL语句:'.$sql.'<br/>已经成功执行!';
    $num = mysql_num_rows($result);  //调用mysql_num_row()获取SELECT语句查询
    echo '<br/>该SQL语句查询到<b>'.$num.'</b>行数据';
}

if($num = mysql_num_rows($result))  //判断SELECT语句查找到的行数
{
    $row = mysql_fetch_array($result);  //mysql_fetch_array()将结果集中的一行作为数组返回
    echo '<pre>';   //格式化输出
    while($row = mysql_fetch_array($result,MYSQL_ASSOC))
    {
      print_r($row);    //输出每行数据
    }
}

mysql_close($conn);
?>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,236评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,867评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,715评论 0 340
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,899评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,895评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,733评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,085评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,722评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,025评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,696评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,816评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,447评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,057评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,009评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,254评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,204评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,561评论 2 343

推荐阅读更多精彩内容

  • SQL SELECT 语句 一、查询SQL SELECT 语法 (1)SELECT 列名称 FROM 表名称 (2...
    有钱且幸福阅读 5,421评论 0 33
  • 什么是数据库? 数据库是存储数据的集合的单独的应用程序。每个数据库具有一个或多个不同的API,用于创建,访问,管理...
    chen_000阅读 4,030评论 0 19
  • 《穷查理宝典》读后感 股票的本质是什么--有效市场理论,这条理论是说,市场十分有效,很难有哪个人能够光靠聪...
    上帝爱非洲阅读 174评论 2 1
  • 这座城,没有你, 却留有你的气息。 高速两旁的灯光,不知在等谁归来, 长夜漫漫,却不熄。 想留住这稀稀落落的光, ...
    鸡腿包饭阅读 219评论 0 3
  • 不知道是因为长沙这忽冷忽热的天气还是同事传染,总之我感冒了……这两天因为感冒精神不佳,但之前前两天还坚持和平常一样...
    放羊的小娃娃阅读 89评论 0 0