Учебники

MySQL — Вставить запрос

Чтобы вставить данные в таблицу MySQL, вам необходимо использовать команду SQL INSERT INTO . Вы можете вставить данные в таблицу MySQL, используя приглашение mysql> или любой другой скрипт, например PHP.

Синтаксис

Вот общий синтаксис SQL команды INSERT INTO для вставки данных в таблицу MySQL:

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

Чтобы вставить строковые типы данных, необходимо сохранить все значения в двойных или одинарных кавычках. Например «значение» .

Вставка данных из командной строки

Чтобы вставить данные из командной строки, мы будем использовать команду SQL INSERT INTO для вставки данных в таблицу MySQL tutorials_tbl.

пример

Следующий пример создаст 3 записи в таблицу tutorials_tbl

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>

ПРИМЕЧАНИЕ. — Обратите внимание, что все знаки со стрелками (->) не являются частью команды SQL. Они указывают новую строку, и они автоматически создаются приглашением MySQL при нажатии клавиши ввода без точки с запятой в конце каждой строки команды.

В приведенном выше примере мы не предоставили tutorial_id, потому что во время создания таблицы мы указали опцию AUTO_INCREMENT для этого поля. Поэтому MySQL позаботится об автоматической вставке этих идентификаторов. Здесь NOW () — это функция MySQL, которая возвращает текущую дату и время.

Вставка данных с использованием PHP-скрипта

Вы можете использовать ту же команду SQL INSERT INTO в функции PHP mysql_query () для вставки данных в таблицу MySQL.

пример

Этот пример получит три параметра от пользователя и вставит их в таблицу 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>

При выполнении вставки данных лучше всего использовать функцию get_magic_quotes_gpc (), чтобы проверить, установлена ​​или нет текущая конфигурация для магической цитаты. Если эта функция возвращает false, используйте функцию addlashes () для добавления косой черты перед кавычками.

Вы можете использовать множество проверок для проверки правильности введенных данных и принятия соответствующих мер.