国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

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

2024-07-24 13:07:20
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了詳解用SELECT命令在MySQL執行查詢操作的教程,本文中還給出了基于PHP腳本的操作演示,需要的朋友可以參考下

SQL SELECT命令被用來獲取數據從MySQL數據庫。可以使用此命令在mysql>提示符下或使用腳本,如PHP。

語法:

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

 

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

可以使用一個或多個以逗號分隔的表,包括各種使用WHERE子句條件。但是WHERE子句的SELECT命令是一個可選部分。

可以在一個單一的SELECT命令讀取一個或多個字段。

可以指定星號(*)的字段的地方。在這種情況下,SELECT將返回所有的字段

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

可以指定偏移用SELECT將開始返回記錄的偏移量。默認情況下,偏移量為0

可以限制返回的使用LIMIT屬性的數量。

從命令提示符獲取數據:

這將使用SQL SELECT命令來從MySQL表tutorials_tbl獲取數據

例子:

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

 

 
  1. root@host# mysql -u root -p password
  2. Enter password:******* 
  3. mysql> use TUTORIALS; 
  4. Database changed 
  5. mysql> SELECT * from tutorials_tbl  
  6. +-------------+----------------+-----------------+-----------------+ 
  7. | tutorial_id | tutorial_title | tutorial_author | submission_date | 
  8. +-------------+----------------+-----------------+-----------------+ 
  9. | 1 | Learn PHP | John Poul | 2007-05-21 | 
  10. | 2 | Learn MySQL | Abdul S | 2007-05-21 | 
  11. | 3 | JAVA Tutorial | Sanjay | 2007-05-21 | 
  12. +-------------+----------------+-----------------+-----------------+ 
  13. rows in set (0.01 sec) 
  14.  
  15. mysql> 

使用PHP腳本獲取數據:

您可以使用相同的SQL SELECT命令進入PHP函數mysql_query()。這個函數是用來執行SQL命令后,另一個PHP函數mysql_fetch_array()可以用來獲取所有選定的數據。這個函數返回的行作為一個關聯數組/數字數組或兩者。如果沒有更多的行這個函數返回FALSE。

下面是一個簡單的例子,獲取記錄tutorials_tbl表。

例子:

試試下面的例子顯示tutorials_tbl表的所有記錄。

 

 
  1. <?php 
  2. $dbhost = 'localhost:3036'
  3. $dbuser = 'root'
  4. $dbpass = 'rootpassword'
  5. $conn = mysql_connect($dbhost, $dbuser, $dbpass); 
  6. if(! $conn ) 
  7. die('Could not connect: ' . mysql_error()); 
  8. $sql = 'SELECT tutorial_id, tutorial_title,  
  9. tutorial_author, submission_date 
  10. FROM tutorials_tbl'; 
  11.  
  12. mysql_select_db('TUTORIALS'); 
  13. $retval = mysql_query( $sql, $conn ); 
  14. if(! $retval ) 
  15. die('Could not get data: ' . mysql_error()); 
  16. while($row = mysql_fetch_array($retval, MYSQL_ASSOC)) 
  17. echo "Tutorial ID :{$row['tutorial_id']} <br> "
  18. "Title: {$row['tutorial_title']} <br> "
  19. "Author: {$row['tutorial_author']} <br> "
  20. "Submission Date : {$row['submission_date']} <br> "
  21. "--------------------------------<br>"
  22. }  
  23. echo "Fetched data successfully/n"
  24. mysql_close($conn); 
  25. ?> 

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

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

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

PHP提供了另一種稱為mysql_fetch_assoc()函數也返回該行作為關聯數組。

實例:

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

 

 
  1. <?php 
  2. $dbhost = 'localhost:3036'
  3. $dbuser = 'root'
  4. $dbpass = 'rootpassword'
  5. $conn = mysql_connect($dbhost, $dbuser, $dbpass); 
  6. if(! $conn ) 
  7. die('Could not connect: ' . mysql_error()); 
  8. $sql = 'SELECT tutorial_id, tutorial_title,  
  9. tutorial_author, submission_date 
  10. FROM tutorials_tbl'; 
  11.  
  12. mysql_select_db('TUTORIALS'); 
  13. $retval = mysql_query( $sql, $conn ); 
  14. if(! $retval ) 
  15. die('Could not get data: ' . mysql_error()); 
  16. while($row = mysql_fetch_assoc($retval)) 
  17. echo "Tutorial ID :{$row['tutorial_id']} <br> "
  18. "Title: {$row['tutorial_title']} <br> "
  19. "Author: {$row['tutorial_author']} <br> "
  20. "Submission Date : {$row['submission_date']} <br> "
  21. "--------------------------------<br>"
  22. }  
  23. echo "Fetched data successfully/n"
  24. mysql_close($conn); 
  25. ?> 

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

實例:

試試下面的例子顯示使用MYSQL_NUM參數tutorials_tbl表中的所有記錄。

 

 
  1. <?php 
  2. $dbhost = 'localhost:3036'
  3. $dbuser = 'root'
  4. $dbpass = 'rootpassword'
  5. $conn = mysql_connect($dbhost, $dbuser, $dbpass); 
  6. if(! $conn ) 
  7. die('Could not connect: ' . mysql_error()); 
  8. $sql = 'SELECT tutorial_id, tutorial_title,  
  9. tutorial_author, submission_date 
  10. FROM tutorials_tbl'; 
  11.  
  12. mysql_select_db('TUTORIALS'); 
  13. $retval = mysql_query( $sql, $conn ); 
  14. if(! $retval ) 
  15. die('Could not get data: ' . mysql_error()); 
  16. while($row = mysql_fetch_array($retval, MYSQL_NUM)) 
  17. echo "Tutorial ID :{$row[0]} <br> "
  18. "Title: {$row[1]} <br> "
  19. "Author: {$row[2]} <br> "
  20. "Submission Date : {$row[3]} <br> "
  21. "--------------------------------<br>"
  22. echo "Fetched data successfully/n"
  23. mysql_close($conn); 
  24. ?> 

所有上述三個例子,將產生相同的結果。

釋放內存:

它是一種很好的做法,在每一個SELECT語句釋放游標內存。這可以通過使用PHP函數了mysql_free_result()。下面的例子來說明它是如何被使用的。

實例:

試試下面的例子

 

 
  1. <?php 
  2. $dbhost = 'localhost:3036'
  3. $dbuser = 'root'
  4. $dbpass = 'rootpassword'
  5. $conn = mysql_connect($dbhost, $dbuser, $dbpass); 
  6. if(! $conn ) 
  7. die('Could not connect: ' . mysql_error()); 
  8. $sql = 'SELECT tutorial_id, tutorial_title,  
  9. tutorial_author, submission_date 
  10. FROM tutorials_tbl'; 
  11.  
  12. mysql_select_db('TUTORIALS'); 
  13. $retval = mysql_query( $sql, $conn ); 
  14. if(! $retval ) 
  15. die('Could not get data: ' . mysql_error()); 
  16. while($row = mysql_fetch_array($retval, MYSQL_NUM)) 
  17. echo "Tutorial ID :{$row[0]} <br> "
  18. "Title: {$row[1]} <br> "
  19. "Author: {$row[2]} <br> "
  20. "Submission Date : {$row[3]} <br> "
  21. "--------------------------------<br>"
  22. mysql_free_result($retval); 
  23. echo "Fetched data successfully/n"
  24. mysql_close($conn); 
  25. ?> 

在獲取數據的同時可以編寫復雜的SQL,只要喜歡。程序將保持與上述相同。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 三河市| 梁平县| 厦门市| 白水县| 天长市| 齐齐哈尔市| 云安县| 台江县| 河北省| 射洪县| 克山县| 米易县| 棋牌| 北川| 石楼县| 克什克腾旗| 岱山县| 新宁县| 五莲县| 林口县| 皋兰县| 玉林市| 梅河口市| 丰都县| 焉耆| 鹤山市| 南皮县| 驻马店市| 南岸区| 土默特左旗| 宁明县| 南部县| 始兴县| 英山县| 城市| 徐闻县| 峨山| 昌乐县| 偏关县| 高安市| 乌什县|