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

首頁 > 數據庫 > MySQL > 正文

MySQL數據插入 查詢 刪除語句詳解

2024-07-24 12:37:24
字體:
來源:轉載
供稿:網友

在mysql中數據保存,查詢,刪除都很簡單,如插入數據使用insert into,查詢數據使用select,刪除數據使用delete這里我給大家介紹一下.

MySQL數據插入

將數據插入到MySQL表,需要使用SQL INSERT INTO命令,可以將數據插入到MySQL表使用mysql>提示符下或使用任何腳本,如PHP。

語法:下面是通用的SQL語法INSERT INTO命令來插入數據到MySQL表,代碼如下:

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

要插入的字符串數據類型,所有的值需要雙或單引號,例如: - “value”,從命令提示符中插入數據,這將使用SQL INSERT INTO命令將數據插入到MySQL表tutorials_tbl.

實例,下面的例子將創建3條記錄到tutorials_tbl表,代碼如下:

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

注意:所有的箭頭符號( - >)是不屬于他們表示一個新行的SQL命令,他們會自動創建MySQL提示符下,同時按回車鍵沒有在每一行命令結束的分號.

在上面的例子中,我們沒有提供tutorial_id因為創建表時,為此字段定義一個AUTO_INCREMENT選項。因此MySQL負責自動插入這些ID。這里NOW()是一個MySQL函數返回當前的日期和時間。

使用PHP語言插入數據:可以使用相同SQL INSERT INTO命令PHP函數mysql_query()來將數據插入到MySQL表.

例子,這個例子將用戶從三個參數,并把它們插入到MySQL表,代碼如下:

  1. <html> 
  2. <head> 
  3. <title>Add New Record in MySQL Database -by /mysql</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 successfullyn"
  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> 

數據插入其最好的做法是使用函數get_magic_quotes_gpc()來檢查當前的配置設置或對魔術函數的引用。如果函數返回false,則使用函數addslashes()添加斜線引號之前。

MySQL數據查詢: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 successfullyn"
  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 successfullyn"
  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 successfullyn"
  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 successfullyn"
  24. mysql_close($conn); 
  25. ?> 

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

MySQL數據刪除:如果想從任何MySQL表中刪除一條記錄,那么可以使用SQL命令DELETE FROM。可以使用此命令在mysql>提示符下,或其它腳本,如PHP。

語法,下面是通用的SQL語法的DELETE命令刪除數據從一個MySQL表,代碼如下:

DELETE FROM table_name [WHERE Clause]

如果沒有指定,那么WHERE子句從給定的MySQL表的所有記錄都將被刪除,可以使用WHERE子句指定條件,您可以將表中記錄一次性刪除,當你要刪除選定的表中的行,WHERE子句是非常有用。

從命令提示符刪除數據:這將使用WHERE子句SQL DELETE命令來刪除選定的數據MySQL表tutorials_tbl.

例子,下面的例子將刪除一條tutorial_tbl表中的tutorial_id為3的記錄,代碼如下:

  1. root@host# mysql -u root -p password
  2. Enter password:******* 
  3. mysql> use TUTORIALS; 
  4. Database changed 
  5. mysql> DELETE FROM tutorials_tbl WHERE tutorial_id=3; 
  6. Query OK, 1 row affected (0.23 sec) 
  7.  
  8. mysql> 

使用PHP腳本刪除數據:可以使用SQL DELETE命令,帶有或不帶WHERE子句PHP函數請求mysql_query(),此功能將執行和在mysql>提示符下執行的SQL命令類似。

例子,試試下面的例子中,將刪除tutorial_tb表中一條tutorial_id=3的記錄,代碼如下:

  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 = 'DELETE FROM tutorials_tbl 
  9.         WHERE tutorial_id=3'; 
  10. //by /mysql 
  11. mysql_select_db('TUTORIALS'); 
  12. $retval = mysql_query( $sql$conn ); 
  13. if(! $retval ) 
  14.   die('Could not delete data: ' . mysql_error()); 
  15. echo "Deleted data successfullyn"
  16. mysql_close($conn); 
  17. ?>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 富裕县| 闻喜县| 咸阳市| 上高县| 阿荣旗| 昌邑市| 南溪县| 肥东县| 龙州县| 拜城县| 徐汇区| 论坛| 阜新市| 岳西县| 杨浦区| 白河县| 禹州市| 霸州市| 南京市| 新邵县| 松桃| 香格里拉县| 宜春市| 佛坪县| 栖霞市| 防城港市| 叶城县| 噶尔县| 道孚县| 博客| 西青区| 多伦县| 玛纳斯县| 轮台县| 长武县| 延津县| 永胜县| 明光市| 义马市| 砀山县| 东阳市|