MySQL 查询数据

MySQL 数据库使用SQL SELECT语句来查询数据。

你可以通过 mysql> 命令提示窗口中在数据库中查询数据,或者通过PHP脚本来查询数据。

语法

以下为在MySQL数据库中查询数据通用的 SELECT 语法:

SELECT column_name,column_name

FROM table_name[WHERE Clause][LIMIT N][ OFFSET M]

查询语句中你可以使用一个或者多个表,表之间使用逗号(,)分割,并使用WHERE语句来设定查询条件。

SELECT 命令可以读取一条或者多条记录。

你可以使用星号(*)来代替其他字段,SELECT语句会返回表的所有字段数据

你可以使用 WHERE 语句来包含任何条件。

你可以使用 LIMIT 属性来设定返回的记录数。

你可以通过OFFSET指定SELECT语句开始查询的数据偏移量。默认情况下偏移量为0。

通过命令提示符获取数据

以下实例我们将通过 SQL SELECT 命令来获取 MySQL 数据表 runoob_tbl 的数据:

实例

以下实例将返回数据表 runoob_tbl 的所有记录:

读取数据表:

select*fromrunoob_tbl;

输出结果:

使用PHP脚本来获取数据

使用 PHP 函数的mysqli_query()及SQL SELECT命令来获取数据。

该函数用于执行 SQL 命令,然后通过 PHP 函数mysqli_fetch_array()来使用或输出所有查询的数据。

mysqli_fetch_array()函数从结果集中取得一行作为关联数组,或数字数组,或二者兼有 返回根据从结果集取得的行生成的数组,如果没有更多行则返回 false。

以下实例为从数据表 runoob_tbl 中读取所有记录。

实例

尝试以下实例来显示数据表 runoob_tbl 的所有记录。

使用 mysqli_fetch_array MYSQL_ASSOC 参数获取数据:

$dbhost='localhost:3306';//mysql服务器主机地址

$dbuser='root';//mysql用户名

$dbpass='123456';//mysql用户名密码

$conn=mysqli_connect($dbhost,$dbuser,$dbpass);

if(!$conn)

{

die('连接失败:'.mysqli_error($conn));

}

//设置编码,防止中文乱码

mysqli_query($conn,"set names utf8");

$sql='SELECT runoob_id, runoob_title,

runoob_author, submission_date

FROM runoob_tbl';

mysqli_select_db($conn,'RUNOOB');

$retval=mysqli_query($conn,$sql);

if(!$retval)

{

die('无法读取数据:'.mysqli_error($conn));

}

echo'

菜鸟教程 mysqli_fetch_array 测试

';

echo'

教程 ID 标题 作者 提交日期

while($row=mysqli_fetch_array($retval,MYSQL_ASSOC))

{

echo"

{$row['runoob_id']}".

"

{$row['runoob_title']}".

"

{$row['runoob_author']}".

"

{$row['submission_date']}".

"

";}echo'';mysqli_close($conn);?>

}

echo'';

mysqli_close($conn);

?>

输出结果如下所示:

以上实例中,读取的每行记录赋值给变量 $row,然后再打印出每个值。

注意:记住如果你需要在字符串中使用变量,请将变量置于花括号。

在上面的例子中,PHP mysqli_fetch_array() 函数第二个参数为MYSQL_ASSOC, 设置该参数查询结果返回关联数组,你可以使用字段名称来作为数组的索引。

PHP 提供了另外一个函数mysqli_fetch_assoc(), 该函数从结果集中取得一行作为关联数组。 返回根据从结果集取得的行生成的关联数组,如果没有更多行,则返回 false。

实例

尝试以下实例,该实例使用了mysqli_fetch_assoc()函数来输出数据表 runoob_tbl 的所有记录:

使用 mysqli_fetch_assoc 获取数据:

$dbhost='localhost:3306';//mysql服务器主机地址

$dbuser='root';//mysql用户名

$dbpass='123456';//mysql用户名密码

$conn=mysqli_connect($dbhost,$dbuser,$dbpass);

if(!$conn)

{

die('连接失败:'.mysqli_error($conn));

}

//设置编码,防止中文乱码

mysqli_query($conn,"set names utf8");

$sql='SELECT runoob_id, runoob_title,

runoob_author, submission_date

FROM runoob_tbl';

mysqli_select_db($conn,'RUNOOB');

$retval=mysqli_query($conn,$sql);

if(!$retval)

{

die('无法读取数据:'.mysqli_error($conn));

}

echo'

菜鸟教程 mysqli_fetch_assoc 测试

';

echo'

教程 ID 标题 作者 提交日期

while($row=mysqli_fetch_assoc($retval))

{

echo"

{$row['runoob_id']}".

"

{$row['runoob_title']}".

"

{$row['runoob_author']}".

"

{$row['submission_date']}".

"

";

}

echo'

';

mysqli_close($conn);

?>

输出结果如下所示:

你也可以使用常量 MYSQL_NUM 作为 PHP mysqli_fetch_array() 函数的第二个参数,返回数字数组。

实例

以下实例使用MYSQL_NUM参数显示数据表 runoob_tbl 的所有记录:

使用 mysqli_fetch_array MYSQL_NUM 参数获取数据:

$dbhost='localhost:3306';//mysql服务器主机地址

$dbuser='root';//mysql用户名

$dbpass='123456';//mysql用户名密码

$conn=mysqli_connect($dbhost,$dbuser,$dbpass);if(!$conn)

{

die('连接失败:'.mysqli_error($conn));

}

//设置编码,防止中文乱码

mysqli_query($conn,"set names utf8");

$sql='SELECT runoob_id, runoob_title,

runoob_author, submission_date

FROM runoob_tbl';

mysqli_select_db($conn,'RUNOOB');

$retval=mysqli_query($conn,$sql);

if(!$retval)

{

die('无法读取数据:'.mysqli_error($conn));

}

echo'

菜鸟教程 mysqli_fetch_array 测试

';

echo'

教程 ID 标题 作者 提交日期

while($row=mysqli_fetch_array($retval,MYSQL_NUM))

{

echo"

{$row[0]}".

"

{$row[1]}".

"

{$row[2]}".

"

{$row[3]}".

"

";

}

echo'

';

mysqli_close($conn);

?>

输出结果如下所示:

以上三个实例输出结果都一样。

内存释放

在我们执行完 SELECT 语句后,释放游标内存是一个很好的习惯。

可以通过 PHP 函数 mysqli_free_result() 来实现内存的释放。

以下实例演示了该函数的使用方法。

实例

尝试以下实例:

使用 mysqli_free_result 释放内存:

$dbhost='localhost:3306';//mysql服务器主机地址

$dbuser='root';//mysql用户名

$dbpass='123456';//mysql用户名密码

$conn=mysqli_connect($dbhost,$dbuser,$dbpass);

if(!$conn)

{

die('连接失败:'.mysqli_error($conn));

}

//设置编码,防止中文乱码

mysqli_query($conn,"set names utf8");

$sql='SELECT runoob_id, runoob_title,

runoob_author, submission_date

FROM runoob_tbl';

mysqli_select_db($conn,'RUNOOB');

$retval=mysqli_query($conn,$sql);

if(!$retval)

{

die('无法读取数据:'.mysqli_error($conn));

}

echo'

菜鸟教程 mysqli_fetch_array 测试

';

echo'

教程 ID 标题 作者 提交日期

while($row=mysqli_fetch_array($retval,MYSQL_NUM))

{

echo"

{$row[0]}".

"

{$row[1]}".

"

{$row[2]}".

"

{$row[3]}".

"

";}

echo'

';//释放内存

mysqli_free_result($retval);

mysqli_close($conn);

?>

输出结果如下所示:

mysql 查询数据 程序_MySQL 查询数据相关推荐

  1. mysql导出数据 程序_mysql导出数据

    导出某库全表为SQL语句 直接导出某库全表(包括表设计和表数据)为SQL语句 mysqldump -h172.16.*.* -uroot -p somedatabase sometable > ...

  2. mysql 查询姓王_mysql常用数据操作之查

    将数据库查询单独开来是因为使用最多,也是技巧最多,同时面试最容易问的部分 简单查询 select * from table_name; select name,age from table_name; ...

  3. mysql 一周一月_mysql查询当天、本周,本月,上一个月的数据

    今天 select * from 表名 where to_days(时间字段名) = to_days(now()); 昨天 SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ...

  4. mysql查询数据教程_MySQL 查询数据

    sql 语句的关联查询 左关联: left join ... on ... 右关联: right join... on ... 格式: select 字段 from 表1 left join 表2 o ...

  5. mysql查询特定时间数据视频_mysql查询特定时间段内的数据

    参照文章(mysql查询时间段内数据)进行了操作. 先来建表语句: [sql] view plaincopySETFOREIGN_KEY_CHECKS=0;-- ------------------- ...

  6. mysql 查询时间之内_MySQL 查询时间段内的数据

    先来建表语句: SET FOREIGN_KEY_CHECKS=0;-- ---------------------------- -- Table structure fort_user-- ---- ...

  7. mysql 一个月以前_mysql查询昨天 一周前 一月前 一年前的数据

    mysql 昨天 一周前 一月前 一年前的数据 这里主要用到了DATE_SUB, 参考如下 代码如下: SELECT * FROM yh_content where inputtime>DATE ...

  8. mysql单表数据列_MySQL 之 数据操作及单表查询

    1.数据操作 (1)insert 增加数据 1. 插入完整数据(顺序插入) 语法一: INSERT INTO 表名(字段1,字段2,字段3-字段n) VALUES(值1,值2,值3-值n); 语法二: ...

  9. mysql 统计本月的_mysql 查询当天、本周,本月,上一个月的数据

    今天 select * from 表名 where to_days(时间字段名) = to_days(now()); 昨天 SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ...

最新文章

  1. eclipse new server Cannot create a server using the selected type 网上有两种办法,其实原理一样...
  2. python创建文件os_Python之文件与目录操作(os、zipfile、tarfile、shutil)
  3. 数据扩展性探讨和总结--转
  4. 解决SwipeRefreshLayout与Banner滑动冲突
  5. 考研计算机专业课复习,考研中计算机专业课的复习考试.pdf
  6. Dede cms文章内容管理系统安全漏洞!如何有效防止DEDE织梦系统被挂木马安全设置...
  7. Mysql 8.0 安装教程 Linux Centos7
  8. JavaScript中this的指向问题及面试题你掌握了吗?
  9. python每行输出8个式子_多图+代码 | 详解Python操作Excel神器openpyxl的各种操作!
  10. 关于计算机学科的一些期刊和会议(转)
  11. 铁路专用计算机,浅谈专用铁路计算机联锁控制
  12. 简易python爬虫 - 爬取站长论坛信息
  13. 全国计算机等级考点申请,全国计算机等级考试(NCRE)考点申请书某高校(367)
  14. 假定一种编码的编码范围是a~y的25个字母,从1位到4位的编码,如果我们把该编码按字典序排序,形成一个数组如下: a,aa,aaa,aaaa,aaab,aaac,…,…,b,ba,baa,baaa,b
  15. Python基础——文件
  16. 验证码短信是如何实现的?怎么用短信平台发送验证码短信?
  17. Tableau LOD表达式
  18. [《关于外婆家的一些记忆》闲笔记事集]2012年1月22日
  19. 维克森林大学计算机科学专业好不好,美国维克森林大学计算机科学硕士专业介绍...
  20. 软件加密技术和注册机制加密基础(转)

热门文章

  1. 关于CS架构文件传输流的问题,文中代码都是转自网上,但可保证代码无无误...
  2. tensorflow实现原理
  3. matplotlib 一张图多个图,如何在Matplotlib中绘制同一个图上的多个函数?
  4. reactjs redux chrome扩展插件
  5. gorm配置logger显示执行的sql
  6. 【代码】python paramiko模块代码示例:远程执行命令及上传和下载
  7. Go gin其他数据类型渲染
  8. golang基本数据类型转换
  9. flink on yarn HA高可用集群搭建
  10. Python Django 可变参数代码示例