SQL SELECT命令被用来获取数据从MySQL数据库。可以使用此命令在mysql>提示符下或使用脚本,如PHP。

语法:

下面是通用的SQL SELECT命令的语法来从MySQL表提取数据:

?123SELECT field1, field2,...fieldN table_name1, table_name2...[WHERE Clause][OFFSET M ][LIMIT N]可以使用一个或多个以逗号分隔的表,包括各种使用WHERE子句条件。但是WHERE子句的SELECT命令是一个可选部分。

可以在一个单一的SELECT命令读取一个或多个字段。

可以指定星号(*)的字段的地方。在这种情况下,SELECT将返回所有的字段

可以使用WHERE子句指定任何条件。

可以指定偏移用SELECT将开始返回记录的偏移量。默认情况下,偏移量为0

可以限制返回的使用LIMIT属性的数量。

从命令提示符获取数据:

这将使用SQL SELECT命令来从MySQL表tutorials_tbl获取数据

例子:

下面的例子将返回所有记录tutorials_tbl表:

?root@host# mysql -u root -p password;Enter password:*******mysql> use TUTORIALS;Database changedmysql> SELECT * from tutorials_tbl+-------------+----------------+-----------------+-----------------+| tutorial_id | tutorial_title | tutorial_author | submission_date |+-------------+----------------+-----------------+-----------------+|      1 | Learn PHP   | John Poul    | 2007-05-21   ||      2 | Learn MySQL  | Abdul S     | 2007-05-21   ||      3 | JAVA Tutorial | Sanjay     | 2007-05-21   |+-------------+----------------+-----------------+-----------------+3 rowsin set (0.01 sec) mysql>

使用PHP脚本获取数据:

您可以使用相同的SQL SELECT命令进入PHP函数mysql_query()。这个函数是用来执行SQL命令后,另一个PHP函数mysql_fetch_array()可以用来获取所有选定的数据。这个函数返回的行作为一个关联数组/数字数组或两者。如果没有更多的行这个函数返回FALSE。

下面是一个简单的例子,获取记录tutorials_tbl表。

例子:

试试下面的例子显示tutorials_tbl表的所有记录。

?<?php $dbhost ='localhost:3036';$dbuser ='root';$dbpass ='rootpassword';$conn = mysql_connect($dbhost,$dbuser,$dbpass);if(!$conn ){die('Could not connect: ' . mysql_error());}$sql = 'SELECT tutorial_id, tutorial_title,tutorial_author, submission_dateFROM tutorials_tbl'; mysql_select_db('TUTORIALS');$retval = mysql_query($sql,$conn );if(!$retval ){die('Could not get data: ' . mysql_error());}while($row = mysql_fetch_array($retval, MYSQL_ASSOC)){echo "Tutorial ID :{$row['tutorial_id']}
"."Title: {$row['tutorial_title']}
"."Author: {$row['tutorial_author']}
"."Submission Date : {$row['submission_date']}
"."--------------------------------
";}echo "Fetched data successfully\n";mysql_close($conn);?>

这些行的内容被分配到变量$row,行中的值,然后打印。

注: 一定要记住,当要插入到一个字符串数组的值直接用花括号。

在上面的例子中不断MYSQL_ASSOC作为PHP函数mysql_fetch_array()第二个参数,以便它返回一个关联数组的行为。一个关联数组,可以使用他们的名字,而不是使用索引访问字段。

PHP提供了另一种称为mysql_fetch_assoc()函数也返回该行作为关联数组。

实例:

试试下面的例子显示从tutorial_tbl表的所有记录,使用mysql_fetch_assoc()函数。

?<?php $dbhost ='localhost:3036';$dbuser ='root';$dbpass ='rootpassword';$conn = mysql_connect($dbhost,$dbuser,$dbpass);if(!$conn ){die('Could not connect: ' . mysql_error());}$sql = 'SELECT tutorial_id, tutorial_title,tutorial_author, submission_dateFROM tutorials_tbl'; mysql_select_db('TUTORIALS');$retval = mysql_query($sql,$conn );if(!$retval ){die('Could not get data: ' . mysql_error());}while($row = mysql_fetch_assoc($retval)){echo "Tutorial ID :{$row['tutorial_id']}
"."Title: {$row['tutorial_title']}
"."Author: {$row['tutorial_author']}
"."Submission Date : {$row['submission_date']}
"."--------------------------------
";}echo "Fetched data successfully\n";mysql_close($conn);?>

也可以使用常量MYSQL_NUM,作为第二个参数的PHP函数mysql_fetch_array()。这将导致该函数返回一个数字索引的数组。

实例:

试试下面的例子显示使用MYSQL_NUM参数tutorials_tbl表中的所有记录。

?<?php $dbhost ='localhost:3036';$dbuser ='root';$dbpass ='rootpassword';$conn = mysql_connect($dbhost,$dbuser,$dbpass);if(!$conn ){die('Could not connect: ' . mysql_error());}$sql = 'SELECT tutorial_id, tutorial_title,tutorial_author, submission_dateFROM tutorials_tbl'; mysql_select_db('TUTORIALS');$retval = mysql_query($sql,$conn );if(!$retval ){die('Could not get data: ' . mysql_error());}while($row = mysql_fetch_array($retval, MYSQL_NUM)){echo "Tutorial ID :{$row[0]}
"."Title: {$row[1]}
"."Author: {$row[2]}
"."Submission Date : {$row[3]}
"."--------------------------------
";}echo "Fetched data successfully\n";mysql_close($conn);?>

所有上述三个例子,将产生相同的结果。

释放内存:

它是一种很好的做法,在每一个SELECT语句释放游标内存。这可以通过使用PHP函数了mysql_free_result()。下面的例子来说明它是如何被使用的。

实例:

试试下面的例子

?<?php $dbhost ='localhost:3036';$dbuser ='root';$dbpass ='rootpassword';$conn = mysql_connect($dbhost,$dbuser,$dbpass);if(!$conn ){die('Could not connect: ' . mysql_error());}$sql = 'SELECT tutorial_id, tutorial_title,tutorial_author, submission_dateFROM tutorials_tbl'; mysql_select_db('TUTORIALS');$retval = mysql_query($sql,$conn );if(!$retval ){die('Could not get data: ' . mysql_error());}while($row = mysql_fetch_array($retval, MYSQL_NUM)){echo "Tutorial ID :{$row[0]}
"."Title: {$row[1]}
"."Author: {$row[2]}
"."Submission Date : {$row[3]}
"."--------------------------------
";}mysql_free_result($retval);echo "Fetched data successfully\n";mysql_close($conn);?>

在获取数据的同时可以编写复杂的SQL,只要喜欢。程序将保持与上述相同。

select命令详解 mysql_详解用SELECT命令在MySQL执行查询操作的教程相关推荐

  1. Oracle数据泵备份与恢复 命令 expdp/impdp 用法详解

    Oracle数据泵备份与恢复 命令 expdp/impdp 用法详解 关于expdp和impdp     使用EXPDP和IMPDP时应该注意的事项: EXP和IMP是客户端工具程序,它们既可以在客户 ...

  2. exp/expdp 与 imp/impdp命令导入导出数据库详解

    exp/expdp 与 imp/impdp命令导入导出数据库详解 一.exp命令导出数据库 如何使exp的帮助以不同的字符集显示:set nls_lang=simplified chinese_chi ...

  3. delimiter mysql_详解 Mysql中的delimiter定义及作用

    初学mysql时,可能不太明白delimiter的真正用途,delimiter在mysql很多地方出现,比如存储过程.触发器.函数等. 学过oracle的人,再来学mysql就会感到很奇怪,百思不得其 ...

  4. Python必备基本技能——命令行参数args详解

    Python必备基本技能--命令行参数args详解 1. 效果图 2. 源码 2.1 简单命令行参数 2.1 轮廓检测源代码 参考 这篇博客将介绍一项开发人员.工程师和计算机科学家必备的技能--命令行 ...

  5. ping ip 端口_学生会私房菜【20200305期】——Ping命令及其常用参数详解

    一命令原理 Ping是ICMP的一个典型应用.Ping是检测网络连通的常用工具,同时也能收集其他相关信息.用户可以在Ping命令中指定不同参数,如ICMP报文长度.发送的ICMP报文个数.等待回复响应 ...

  6. 聊聊IO多路复用之select、poll、epoll详解

    聊聊IO多路复用之select.poll.epoll详解 2016/04/22 · IT技术 · 1 评论 · epoll, IO多路复用, poll, select 分享到:0 本文作者: 伯乐在线 ...

  7. Shell test命令(Shell [])详解,附带所有选项及说明

    test 是 Shell 内置命令,用来检测某个条件是否成立.test 通常和 if 语句一起使用,并且大部分 if 语句都依赖 test. test 命令有很多选项,可以进行数值.字符串和文件三个方 ...

  8. linux mount命令参数及用法详解

    linux mount命令参数及用法详解 非原创,主要来自 http://www.360doc.com/content/13/0608/14/12600778_291501907.shtml. htt ...

  9. linux useradd(adduser)命令参数及用法详解(linux创建新用户命令)

    linux useradd(adduser)命令参数及用法详解(linux创建新用户命令) useradd可用来建立用户帐号.帐号建好之后,再用passwd设定帐号的密码.而可用userdel删除帐号 ...

最新文章

  1. 判断两直线段是否相交
  2. Database之SQLSever:T-SQL数据语言操作(数据定义语句DDL、数据操作语句DML、数据控制语句DCL、其他基本语句、流程控制语句、批处理语句)概念及其相关案例之详细攻略
  3. boost::static_pointer_cast相关的测试程序
  4. c语言中判断输入是否为数字_C 判断
  5. 确认过眼神,你是ApacheWay的人 | COSCon‘18 特辑
  6. python的序列类型及其特点_Fluent Python 笔记——序列类型及其丰富的操作
  7. Self Encapsulate Field(自封装字段)
  8. 微信小程序实现文字跑马灯
  9. c# WebService添加SoapHeader认证
  10. 思科决定将不修复路由器中的这70多个漏洞
  11. 在ASP.NET中如何运行后台任务
  12. 《高等代数学》(姚慕生),习题1.3:n阶行列式
  13. Apizza-绑定数据模型
  14. 巴宝莉(Burberry)换等线体LOGO了!
  15. 整理备忘:【已解决】VMware虚拟机提示“锁定文件失败 打不开磁盘”
  16. DECOUPLED WEIGHT DECAY REGULARIZATION
  17. linux删除文件的前n行
  18. 提高数据存储效率的七个技巧
  19. WIN10企业版未激活如何解决
  20. 生物信息学|药物发现中的机器学习技术(2)

热门文章

  1. PCB原理图绘制(7)——PCB的设置与布线
  2. 可以双人玩的三子棋!
  3. bugku 不好用的CE WriteUp
  4. 普通计算机怎么改闹铃的音乐,怎么设置闹钟铃声为自己喜欢的音乐
  5. 运用瀑布模型完成PL/SQL程序设计
  6. 音频交流项目测试(测试用例与总结)
  7. 用C#制作文本剧情游戏
  8. Springboot毕设项目基于springboot的模拟面试平台 7tch0java+VUE+Mybatis+Maven+Mysql+sprnig)
  9. SQL中AND和OR同时使用的注意事项
  10. C#windows宿舍信息管理系统