MySQL-插入查询

太叔烨霖
2023-12-01

MySQL-插入查询 (MySQL - Insert Query)

To insert data into a MySQL table, you would need to use the SQL INSERT INTO command. You can insert data into the MySQL table by using the mysql> prompt or by using any script like PHP.

要将数据插入MySQL表中,您将需要使用SQL INSERT INTO命令。 您可以使用mysql>提示符或使用任何脚本(如PHP)将数据插入MySQL表。

句法 (Syntax)

Here is a generic SQL syntax of INSERT INTO command to insert data into the MySQL table −

这是INSERT INTO命令的通用SQL语法,用于将数据插入MySQL表-


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

To insert string data types, it is required to keep all the values into double or single quotes. For example "value".

要插入字符串数据类型,需要将所有值都保留在双引号或单引号中。 例如“ value”

从命令提示符插入数据 (Inserting Data from the Command Prompt)

To insert data from the command prompt, we will use SQL INSERT INTO command to insert data into MySQL table tutorials_tbl.

要从命令提示符处插入数据,我们将使用SQL INSERT INTO命令将数据插入MySQL表tutorials_tbl。

(Example)

The following example will create 3 records into tutorials_tbl table −

下面的示例将在tutorials_tbl表中创建3条记录-


root@host# mysql -u root -p password;
Enter password:*******
mysql> use TUTORIALS;
Database changed

mysql> INSERT INTO tutorials_tbl 
   ->(tutorial_title, tutorial_author, submission_date)
   ->VALUES
   ->("Learn PHP", "John Poul", NOW());
Query OK, 1 row affected (0.01 sec)

mysql> INSERT INTO tutorials_tbl
   ->(tutorial_title, tutorial_author, submission_date)
   ->VALUES
   ->("Learn MySQL", "Abdul S", NOW());
Query OK, 1 row affected (0.01 sec)

mysql> INSERT INTO tutorials_tbl
   ->(tutorial_title, tutorial_author, submission_date)
   ->VALUES
   ->("JAVA Tutorial", "Sanjay", '2007-05-06');
Query OK, 1 row affected (0.01 sec)
mysql>

NOTE − Please note that all the arrow signs (->) are not a part of the SQL command. They are indicating a new line and they are created automatically by the MySQL prompt while pressing the enter key without giving a semicolon at the end of each line of the command.

注意 -请注意,所有箭头符号(->)都不是SQL命令的一部分。 它们表示新行,它们是由MySQL提示符自动创建的,同时按下Enter键,而无需在命令的每一行末尾添加分号。

In the above example, we have not provided a tutorial_id because at the time of table creation, we had given AUTO_INCREMENT option for this field. So MySQL takes care of inserting these IDs automatically. Here, NOW() is a MySQL function, which returns the current date and time.

在上面的示例中,我们没有提供tutorial_id,因为在创建表时,我们为此字段提供了AUTO_INCREMENT选项。 因此,MySQL负责自动插入这些ID。 在这里, NOW()是一个MySQL函数,它返回当前日期和时间。

使用PHP脚本插入数据 (Inserting Data Using a PHP Script)

You can use the same SQL INSERT INTO command into the PHP function mysql_query() to insert data into a MySQL table.

您可以在PHP函数mysql_query()中使用相同SQL INSERT INTO命令,以将数据插入MySQL表。

(Example)

This example will take three parameters from the user and will insert them into the MySQL table −

此示例将从用户那里获取三个参数,并将其插入到MySQL表中-


<html>

   <head>
      <title>Add New Record in MySQL Database</title>
   </head>

   <body>
      <?php
         if(isset($_POST['add'])) {
            $dbhost = 'localhost:3036';
            $dbuser = 'root';
            $dbpass = 'rootpassword';
            $conn = mysql_connect($dbhost, $dbuser, $dbpass);
         
            if(! $conn ) {
               die('Could not connect: ' . mysql_error());
            }

            if(! get_magic_quotes_gpc() ) {
               $tutorial_title = addslashes ($_POST['tutorial_title']);
               $tutorial_author = addslashes ($_POST['tutorial_author']);
            } else {
               $tutorial_title = $_POST['tutorial_title'];
               $tutorial_author = $_POST['tutorial_author'];
            }

            $submission_date = $_POST['submission_date'];
   
            $sql = "INSERT INTO tutorials_tbl ".
               "(tutorial_title,tutorial_author, submission_date) "."VALUES ".
               "('$tutorial_title','$tutorial_author','$submission_date')";
               mysql_select_db('TUTORIALS');
            $retval = mysql_query( $sql, $conn );
         
            if(! $retval ) {
               die('Could not enter data: ' . mysql_error());
            }
         
            echo "Entered data successfully\n";
            mysql_close($conn);
         } else {
      ?>
   
      <form method = "post" action = "<?php $_PHP_SELF ?>">
         <table width = "600" border = "0" cellspacing = "1" cellpadding = "2">
            <tr>
               <td width = "250">Tutorial Title</td>
               <td>
                  <input name = "tutorial_title" type = "text" id = "tutorial_title">
               </td>
            </tr>
         
            <tr>
               <td width = "250">Tutorial Author</td>
               <td>
                  <input name = "tutorial_author" type = "text" id = "tutorial_author">
               </td>
            </tr>
         
            <tr>
               <td width = "250">Submission Date [   yyyy-mm-dd ]</td>
               <td>
                  <input name = "submission_date" type = "text" id = "submission_date">
               </td>
            </tr>
      
            <tr>
               <td width = "250"> </td>
               <td> </td>
            </tr>
         
            <tr>
               <td width = "250"> </td>
               <td>
                  <input name = "add" type = "submit" id = "add"  value = "Add Tutorial">
               </td>
            </tr>
         </table>
      </form>
   <?php
      }
   ?>
   </body>
</html>

While doing a data insert, it is best to use the function get_magic_quotes_gpc() to check if the current configuration for magic quote is set or not. If this function returns false, then use the function addslashes() to add slashes before the quotes.

进行数据插入时,最好使用函数get_magic_quotes_gpc()来检查是否设置了魔术引号的当前配置。 如果此函数返回false,则使用函数addlashes()在引号之前添加斜杠。

You can put many validations around to check if the entered data is correct or not and can take the appropriate action.

您可以进行很多验证来检查输入的数据是否正确,并可以采取适当的措施。

翻译自: https://www.tutorialspoint.com/mysql/mysql-insert-query.htm

 类似资料: