千家信息网

MySQL 查询数据

发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,MySQL 查询数据MySQL 数据库使用SQL SELECT语句来查询数据。你可以通过 mysql> 命令提示窗口中在数据库中查询数据,或者通过PHP脚本来查询数据。语法以下为在MySQL数据库中查
千家信息网最后更新 2025年01月20日MySQL 查询数据

MySQL 查询数据

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

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

语法

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

SELECT column_name,column_nameFROM table_name[WHERE Clause][LIMIT N][ OFFSET M]
  • 查询语句中你可以使用一个或者多个表,表之间使用逗号(,)分割,并使用WHERE语句来设定查询条件。

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

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

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

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

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


通过命令提示符获取数据

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

实例

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

读取数据表:

select * from runoob_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 '

';

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

{

echo "

".

"

".

"

".

"

".

"

";}echo'
教程 ID标题作者提交日期
{$row['runoob_id']} {$row['runoob_title']} {$row['runoob_author']} {$row['submission_date']}
';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 '

';

while($row = mysqli_fetch_assoc($retval))

{

echo "

".

"

".

"

".

"

".

"

";

}

echo '

教程 ID标题作者提交日期
{$row['runoob_id']} {$row['runoob_title']} {$row['runoob_author']} {$row['submission_date']}
';

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 '

';


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

{

echo "

".

"

".

"

".

"

".

"

";

}

echo '

教程 ID标题作者提交日期
{$row[0]} {$row[1]} {$row[2]} {$row[3]}
';

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 '

';


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

{

echo "

".

"

".

"

".

"

".

"

";}

echo '

教程 ID标题作者提交日期
{$row[0]} {$row[1]} {$row[2]} {$row[3]}
';// 释放内存

mysqli_free_result($retval);

mysqli_close($conn);

?>

输出结果如下所示:


数据 实例 函数 结果 查询 教程 数组 用户 用户名 输出 数据表 语句 参数 命令 内存 主机 乱码 作者 地址 密码 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络安全童谣大全100首 给电话手表打电话显示服务器错误 网络安全防护技术不扎实 怎么把数据库备份到电脑 阿里云服务器放在海里吗 新区网络安全事件应急预案 国华人寿软件开发 一台电脑做服务器代理上网 吉林在家学英语的软件开发 福建定制网络技术服务项目 华软软件学院网络技术学 贵阳电话软件开发具体地址 数据库安装user 江苏帕瓦软件开发有限公司 网络安全带来的威胁 南京学软件开发 pg数据库怎么编辑视图 程序软件开发高品质的选择 连接账号服务器错误代码67 内蒙古数字化城管软件开发公司 全国工商联数据库 大连万达网络技术有限公司 空间服务器哪家好 软件开发可以即征即退 微信餐饮公众号推广软件开发 软件开发公摊费用在哪列支 win7的代理服务器在哪里 ruby软件开发是什么 北京创新软件开发有限公司 如何退掉王者荣耀服务器
0