亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

詳解用SELECT命令在MySQL執(zhí)行查詢操作的教程

 更新時間:2015年05月26日 11:53:45   投稿:goldensun  
這篇文章主要介紹了詳解用SELECT命令在MySQL執(zhí)行查詢操作的教程,本文中還給出了基于PHP腳本的操作演示,需要的朋友可以參考下

SQL SELECT命令被用來獲取數(shù)據(jù)從MySQL數(shù)據(jù)庫??梢允褂么嗣钤趍ysql>提示符下或使用腳本,如PHP。
語法:

下面是通用的SQL SELECT命令的語法來從MySQL表提取數(shù)據(jù):

SELECT field1, field2,...fieldN table_name1, table_name2...
[WHERE Clause]
[OFFSET M ][LIMIT N]

  •     可以使用一個或多個以逗號分隔的表,包括各種使用WHERE子句條件。但是WHERE子句的SELECT命令是一個可選部分。
  •     可以在一個單一的SELECT命令讀取一個或多個字段。
  •     可以指定星號(*)的字段的地方。在這種情況下,SELECT將返回所有的字段
  •     可以使用WHERE子句指定任何條件。
  •     可以指定偏移用SELECT將開始返回記錄的偏移量。默認情況下,偏移量為0
  •     可以限制返回的使用LIMIT屬性的數(shù)量。

從命令提示符獲取數(shù)據(jù):

這將使用SQL SELECT命令來從MySQL表tutorials_tbl獲取數(shù)據(jù)
例子:

下面的例子將返回所有記錄tutorials_tbl表:

root@host# mysql -u root -p password;
Enter password:*******
mysql> use TUTORIALS;
Database changed
mysql> 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 rows in set (0.01 sec)

mysql>

使用PHP腳本獲取數(shù)據(jù):

您可以使用相同的SQL SELECT命令進入PHP函數(shù)mysql_query()。這個函數(shù)是用來執(zhí)行SQL命令后,另一個PHP函數(shù)mysql_fetch_array()可以用來獲取所有選定的數(shù)據(jù)。這個函數(shù)返回的行作為一個關(guān)聯(lián)數(shù)組/數(shù)字數(shù)組或兩者。如果沒有更多的行這個函數(shù)返回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_date
    FROM 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']} <br> ".
     "Title: {$row['tutorial_title']} <br> ".
     "Author: {$row['tutorial_author']} <br> ".
     "Submission Date : {$row['submission_date']} <br> ".
     "--------------------------------<br>";
} 
echo "Fetched data successfully\n";
mysql_close($conn);
?>

這些行的內(nèi)容被分配到變量$row,行中的值,然后打印。

注: 一定要記住,當要插入到一個字符串數(shù)組的值直接用花括號。

在上面的例子中不斷MYSQL_ASSOC作為PHP函數(shù)mysql_fetch_array()第二個參數(shù),以便它返回一個關(guān)聯(lián)數(shù)組的行為。一個關(guān)聯(lián)數(shù)組,可以使用他們的名字,而不是使用索引訪問字段。

PHP提供了另一種稱為mysql_fetch_assoc()函數(shù)也返回該行作為關(guān)聯(lián)數(shù)組。
實例:

試試下面的例子顯示從tutorial_tbl表的所有記錄,使用mysql_fetch_assoc()函數(shù)。

<?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_date
    FROM 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']} <br> ".
     "Title: {$row['tutorial_title']} <br> ".
     "Author: {$row['tutorial_author']} <br> ".
     "Submission Date : {$row['submission_date']} <br> ".
     "--------------------------------<br>";
} 
echo "Fetched data successfully\n";
mysql_close($conn);
?>

也可以使用常量MYSQL_NUM,作為第二個參數(shù)的PHP函數(shù)mysql_fetch_array()。這將導致該函數(shù)返回一個數(shù)字索引的數(shù)組。
實例:

試試下面的例子顯示使用MYSQL_NUM參數(shù)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_date
    FROM 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]} <br> ".
     "Title: {$row[1]} <br> ".
     "Author: {$row[2]} <br> ".
     "Submission Date : {$row[3]} <br> ".
     "--------------------------------<br>";
}
echo "Fetched data successfully\n";
mysql_close($conn);
?>

所有上述三個例子,將產(chǎn)生相同的結(jié)果。
釋放內(nèi)存:

它是一種很好的做法,在每一個SELECT語句釋放游標內(nèi)存。這可以通過使用PHP函數(shù)了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_date
    FROM 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]} <br> ".
     "Title: {$row[1]} <br> ".
     "Author: {$row[2]} <br> ".
     "Submission Date : {$row[3]} <br> ".
     "--------------------------------<br>";
}
mysql_free_result($retval);
echo "Fetched data successfully\n";
mysql_close($conn);
?>

在獲取數(shù)據(jù)的同時可以編寫復雜的SQL,只要喜歡。程序?qū)⒈3峙c上述相同。

相關(guān)文章

  • mysql判斷字段是否存在的方法

    mysql判斷字段是否存在的方法

    mysql判斷字段是否存在的方法有很多,如使用desc命令、show columns 命令、describe 命令等等,感興趣的朋友可以參考下
    2014-01-01
  • SQL實現(xiàn)LeetCode(183.從未下單訂購的顧客)

    SQL實現(xiàn)LeetCode(183.從未下單訂購的顧客)

    這篇文章主要介紹了SQL實現(xiàn)LeetCode(182.從未下單訂購的顧客),本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • 真的了解MySQL中的binlog和redolog區(qū)別

    真的了解MySQL中的binlog和redolog區(qū)別

    MySQL的binlog和redolog都是用于記錄數(shù)據(jù)庫操作的日志文件,但是它們有不同的作用和特點,今天給大家分享MySQL的binlog和redolog區(qū)別,感興趣的朋友一起看看吧
    2023-11-11
  • mySQL 延遲 查詢主表

    mySQL 延遲 查詢主表

    在主外鍵表存在關(guān)系的時候如果加上"lazy=true"的話,則表明延遲,即只查詢主表中的內(nèi)容,而不查詢外鍵表中的內(nèi)容。
    2009-09-09
  • MySQL深分頁問題解決的實戰(zhàn)記錄

    MySQL深分頁問題解決的實戰(zhàn)記錄

    優(yōu)化項目代碼過程中發(fā)現(xiàn)一個千萬級數(shù)據(jù)深分頁問題,覺著有必要給大家總結(jié)整理下,這篇文章主要給大家介紹了關(guān)于解決MySQL深分頁問題的相關(guān)資料,需要的朋友可以參考下
    2021-09-09
  • MySQL索引詳解及演進過程及面試題延伸

    MySQL索引詳解及演進過程及面試題延伸

    這篇文章主要介紹了MySQL索引詳解及演進過程以及延申出面試題,索引在關(guān)系型數(shù)據(jù)庫中,是一種單獨的、物理的對數(shù)據(jù)庫表中的一列或者多列值進行排序的一種存儲結(jié)構(gòu)
    2022-07-07
  • MySQL執(zhí)行外部sql腳本文件的命令

    MySQL執(zhí)行外部sql腳本文件的命令

    sql腳本是包含一到多個sql命令的sql語句,我們可以將這些sql腳本放在一個文本文件中,然后通過相關(guān)的命令執(zhí)行這個sql腳本文件,本文就詳細的介紹一下,感興趣的朋友可以了解一下
    2021-12-12
  • MySQL找出未提交事務的SQL實例淺析

    MySQL找出未提交事務的SQL實例淺析

    這篇文章主要給大家介紹了關(guān)于MySQL找出未提交事務SQL的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12
  • Mysql?文件配置解析

    Mysql?文件配置解析

    這篇文章主要介紹了Mysql?文件配置解析,文章通過mysql的主要配置文件作用展開innodb引擎是mysql數(shù)據(jù)庫中的重要部分的詳細說明,感興趣的小伙伴可以參考一下
    2022-05-05
  • MySQL按指定字符合并以及拆分實例教程

    MySQL按指定字符合并以及拆分實例教程

    這篇文章主要給大家介紹了關(guān)于MySQL按指定字符合并以及拆分的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2020-06-06

最新評論