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

首頁 > 數(shù)據(jù)庫 > MySQL > 正文

詳解MySQL插入和查詢數(shù)據(jù)的相關(guān)命令及語句使用

2024-07-24 13:08:08
字體:
供稿:網(wǎng)友

這篇文章主要介紹了MySQL插入和查詢數(shù)據(jù)的相關(guān)命令及語句使用,包括相關(guān)的PHP腳本操作方法講解也很詳細,需要的朋友可以參考下

插入數(shù)據(jù)

MySQL 表中使用 INSERT INTO SQL語句來插入數(shù)據(jù)。

你可以通過 mysql> 命令提示窗口中向數(shù)據(jù)表中插入數(shù)據(jù),或者通過PHP腳本來插入數(shù)據(jù)。

語法

以下為向MySQL數(shù)據(jù)表插入數(shù)據(jù)通用的 INSERT INTO SQL語法:

 

 
  1. INSERT INTO table_name ( field1, field2,...fieldN ) 
  2. VALUES 
  3. ( value1, value2,...valueN ); 

如果數(shù)據(jù)是字符型,必須使用單引號或者雙引號,如:"value"。

通過命令提示窗口插入數(shù)據(jù)

以下我們將使用 SQL INSERT INTO 語句向 MySQL 數(shù)據(jù)表 tutorials_tbl 插入數(shù)據(jù)

實例

以下實例中我們將想 tutorials_tbl 表插入三條數(shù)據(jù):

 

 
  1. root@host# mysql -u root -p password; 
  2. Enter password:******* 

 

 
  1. mysql> use TUTORIALS; 
  2. Database changed 
  3. mysql> INSERT INTO tutorials_tbl  
  4. ->(tutorial_title, tutorial_author, submission_date) 
  5. ->VALUES 
  6. ->("Learn PHP""John Poul", NOW()); 
  7. Query OK, 1 row affected (0.01 sec) 
  8. mysql> INSERT INTO tutorials_tbl 
  9. ->(tutorial_title, tutorial_author, submission_date) 
  10. ->VALUES 
  11. ->("Learn MySQL""Abdul S", NOW()); 
  12. Query OK, 1 row affected (0.01 sec) 
  13. mysql> INSERT INTO tutorials_tbl 
  14. ->(tutorial_title, tutorial_author, submission_date) 
  15. ->VALUES 
  16. ->("JAVA Tutorial""Sanjay"'2007-05-06'); 
  17. Query OK, 1 row affected (0.01 sec) 
  18. mysql> 

注意: 使用箭頭標記(->)不是SQL語句的一部分,它僅僅表示一個新行,如果一條SQL語句太長,我們可以通過回車鍵來創(chuàng)建一個新行來編寫SQL語句,SQL語句的命令結(jié)束符為分號(;)。

在以上實例中,我們并沒有提供 tutorial_id 的數(shù)據(jù),因為該字段我們在創(chuàng)建表的時候已經(jīng)設(shè)置它為 AUTO_INCREMENT(自動增加) 屬性。 所以,該字段會自動遞增而不需要我們?nèi)ピO(shè)置。實例中 NOW() 是一個 MySQL 函數(shù),該函數(shù)返回日期和時間。

使用PHP腳本插入數(shù)據(jù)

你可以使用PHP 的 mysql_query() 函數(shù)來執(zhí)行 SQL INSERT INTO命令來插入數(shù)據(jù)。

該函數(shù)有兩個參數(shù),在執(zhí)行成功時返回 TRUE,否則返回 FALSE。

語法

 

 
  1. bool mysql_query( sql, connection ); 

詳解MySQL插入和查詢數(shù)據(jù)的相關(guān)命令及語句使用

實例

以下實例中程序接收用戶輸入的三個字段數(shù)據(jù),并插入數(shù)據(jù)表中:

 

 
  1. <html> 
  2. <head> 
  3. <title>Add New Record in MySQL Database</title> 
  4. </head> 
  5. <body> 
  6. <?php 
  7. if(isset($_POST['add'])) 
  8. $dbhost = 'localhost:3036'
  9. $dbuser = 'root'
  10. $dbpass = 'rootpassword'
  11. $conn = mysql_connect($dbhost, $dbuser, $dbpass); 
  12. if(! $conn ) 
  13. die('Could not connect: ' . mysql_error()); 
  14.  
  15. if(! get_magic_quotes_gpc() ) 
  16. $tutorial_title = addslashes ($_POST['tutorial_title']); 
  17. $tutorial_author = addslashes ($_POST['tutorial_author']); 
  18. else 
  19. $tutorial_title = $_POST['tutorial_title']; 
  20. $tutorial_author = $_POST['tutorial_author']; 
  21. $submission_date = $_POST['submission_date']; 
  22.  
  23. $sql = "INSERT INTO tutorials_tbl "
  24. "(tutorial_title,tutorial_author, submission_date) "
  25. "VALUES "
  26. "('$tutorial_title','$tutorial_author','$submission_date')"
  27. mysql_select_db('TUTORIALS'); 
  28. $retval = mysql_query( $sql, $conn ); 
  29. if(! $retval ) 
  30. die('Could not enter data: ' . mysql_error()); 
  31. echo "Entered data successfully/n"
  32. mysql_close($conn); 
  33. else 
  34. ?> 
  35. <form method="post" action="<?php $_PHP_SELF ?>"
  36. <table width="600" border="0" cellspacing="1" cellpadding="2"
  37. <tr> 
  38. <td width="250">Tutorial Title</td> 
  39. <td> 
  40. <input name="tutorial_title" type="text" id="tutorial_title"
  41. </td> 
  42. </tr> 
  43. <tr> 
  44. <td width="250">Tutorial Author</td> 
  45. <td> 
  46. <input name="tutorial_author" type="text" id="tutorial_author"
  47. </td> 
  48. </tr> 
  49. <tr> 
  50. <td width="250">Submission Date [ yyyy-mm-dd ]</td> 
  51. <td> 
  52. <input name="submission_date" type="text" id="submission_date"
  53. </td> 
  54. </tr> 
  55. <tr> 
  56. <td width="250"> </td> 
  57. <td> </td> 
  58. </tr> 
  59. <tr> 
  60. <td width="250"> </td> 
  61. <td> 
  62. <input name="add" type="submit" id="add" value="Add Tutorial"
  63. </td> 
  64. </tr> 
  65. </table> 
  66. </form> 
  67. <?php 
  68. ?> 
  69. </body> 
  70. </html> 

在我們接收用戶提交的數(shù)據(jù)時,為了數(shù)據(jù)的安全性我們需要使用 get_magic_quotes_gpc() 函數(shù)來判斷特殊字符的轉(zhuǎn)義是否已經(jīng)開啟。如果這個選項為off(未開啟),返回0,那么我們就必須調(diào)用addslashes 這個函數(shù)來為字符串增加轉(zhuǎn)義。

義。

你也可以添加其他檢查數(shù)據(jù)的方法,比如郵箱格式驗證,電話號碼驗證,是否為整數(shù)驗證等。

查詢數(shù)據(jù)

MySQL 數(shù)據(jù)庫使用SQL SELECT語句來查詢數(shù)據(jù)。

你可以通過 mysql> 命令提示窗口中在數(shù)據(jù)庫中查詢數(shù)據(jù),或者通過PHP腳本來查詢數(shù)據(jù)。

語法

以下為在MySQL數(shù)據(jù)庫中查詢數(shù)據(jù)通用的 SELECT 語法:

 

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

查詢語句中你可以使用一個或者多個表,表之間使用逗號(,)分割,并使用WHERE語句來設(shè)定查詢條件。

SELECT 命令可以讀取一條或者多條記錄。

你可以使用星號(*)來代替其他字段,SELECT語句會返回表的所有字段數(shù)據(jù)

你可以使用 WHERE 語句來包含任何條件。

你可以通過OFFSET指定SELECT語句開始查詢的數(shù)據(jù)偏移量。默認情況下偏移量為0。

你可以使用 LIMIT 屬性來設(shè)定返回的記錄數(shù)。

通過命令提示符獲取數(shù)據(jù)

以下實例我們將通過 SQL SELECT 命令來獲取 MySQL 數(shù)據(jù)表 tutorials_tbl 的數(shù)據(jù):

實例

以下實例將返回數(shù)據(jù)表tutorials_tbl的所有記錄:

 

 
  1. root@host# mysql -u root -p password; 
  2. Enter password:******* 

 

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

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

使用PHP函數(shù)的mysql_query()及SQL SELECT命令來獲取數(shù)據(jù)。

該函數(shù)用于執(zhí)行SQL命令,然后通過 PHP 函數(shù) mysql_fetch_array() 來使用或輸出所有查詢的數(shù)據(jù)。

mysql_fetch_array() 函數(shù)從結(jié)果集中取得一行作為關(guān)聯(lián)數(shù)組,或數(shù)字數(shù)組,或二者兼有 返回根據(jù)從結(jié)果集取得的行生成的數(shù)組,如果沒有更多行則返回 false。

以下實例為從數(shù)據(jù)表 tutorials_tbl 中讀取所有記錄。

實例

嘗試以下實例來顯示數(shù)據(jù)表 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,然后再打印出每個值。

注意:記住如果你需要在字符串中使用變量,請將變量置于花括號。

在上面的例子中,PHP mysql_fetch_array()函數(shù)第二個參數(shù)為MYSQL_ASSOC, 設(shè)置該參數(shù)查詢結(jié)果返回關(guān)聯(lián)數(shù)組,你可以使用字段名稱來作為數(shù)組的索引。

PHP提供了另外一個函數(shù)mysql_fetch_assoc(), 該函數(shù)從結(jié)果集中取得一行作為關(guān)聯(lián)數(shù)組。 返回根據(jù)從結(jié)果集取得的行生成的關(guān)聯(lián)數(shù)組,如果沒有更多行,則返回 false。

實例

嘗試以下實例,該實例使用了mysql_fetch_assoc()函數(shù)來輸出數(shù)據(jù)表tutorial_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_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()函數(shù)的第二個參數(shù),返回數(shù)字數(shù)組。

實例

以下實例使用MYSQL_NUM參數(shù)顯示數(shù)據(jù)表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. ?> 

以上三個實例輸出結(jié)果都一樣。

內(nèi)存釋放

在我們執(zhí)行完SELECT語句后,釋放游標內(nèi)存是一個很好的習慣。 。可以通過PHP函數(shù)mysql_free_result()來實現(xiàn)內(nèi)存的釋放。

以下實例演示了該函數(shù)的使用方法。

實例

嘗試以下實例:

 

 
  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. ?> 


注:相關(guān)教程知識閱讀請移步到MYSQL教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 辽宁省| 惠来县| 项城市| 青田县| 措勤县| 平江县| 麟游县| 连州市| 县级市| 临泉县| 台山市| 灵武市| 安国市| 娄烦县| 辽宁省| 元氏县| 辛集市| 华蓥市| 正安县| 嘉祥县| 白水县| 潮州市| 台中市| 竹溪县| 图木舒克市| 寿宁县| 阳东县| 射洪县| 马公市| 左贡县| 吐鲁番市| 佛山市| 民权县| 奉节县| 余庆县| 乌拉特后旗| 北京市| 驻马店市| 新和县| 凤凰县| 略阳县|