English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Вставка данных MySQL

В таблицах MySQL используется INSERT INTO SQL-запрос для вставки данных.

Вы можете вставлять данные в таблицу через командную строку mysql> или через PHP-скрипт.

Синтаксис

Ниже приведены общие примеры вставки данных в таблицу MySQL INSERT INTO SQL синтаксис:

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

Если данные являются строковыми, они должны быть заключены в одинарные или двойные кавычки, например: \

Вставка данных через командную строку

Ниже мы будем использовать SQL INSERT INTO Запрос вставляет данные в таблицу MySQL w3codebox_tbl

Онлайн пример

В данном примере мы будем вставлять три записи в таблицу w3codebox_tbl:

root@host# mysql -u root -p password;
Введите пароль:********
mysql> use w3codebox;
База данных изменена
mysql> INSERT INTO w3codebox_tbl 
    -> (w3codebox_title, w3codebox_author, submission_date)
    -> VALUES
    -> ("Учимся PHP", "Основной учебник", NOW());
Запрос выполнен успешно, изменено 1 строка, 1 предупреждение (0.01 сек)
mysql> INSERT INTO w3codebox_tbl
    -> (w3codebox_title, w3codebox_author, submission_date)
    -> VALUES
    -> ("Учимся MySQL", "Основной учебник", NOW());
Запрос выполнен успешно, изменено 1 строка, 1 предупреждение (0.01 сек)
mysql> INSERT INTO w3codebox_tbl
    -> (w3codebox_title, w3codebox_author, submission_date)
    -> VALUES
    -> ("JAVA Учебник", "oldtoolbag.com", \'2016-05-06\');
Запрос выполнен успешно, изменено 1 строка (0.00 сек)
mysql>

Внимание:Использование стрелки -> не является частью SQL-запроса, она просто указывает на новую строку. Если SQL-запрос слишком длинный, мы можем создать новую строку с помощью клавиши Enter, чтобы написать SQL-запрос, а командный разделитель SQL-запроса - точка с запятой ;.

В данном примере мы не предоставляем данные для поля w3codebox_id, потому что мы уже установили это поле в таблице как AUTO_INCREMENT (автоматическое увеличение). Таким образом, это поле автоматически увеличится, не требуя нашего вмешательства. В примере NOW() это функция MySQL, которая возвращает дату и время.

Далее мы можем просмотреть данные таблицы с помощью следующего предложения:

select * from w3codebox_tbl;

Результат вывода:

Использование PHP скрипта для вставки данных

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

Функция имеет два параметра и возвращает TRUE при успешном выполнении,否则 FALSE.

Синтаксис

mysqli_query(connection, query, resultmode);
ПараметрыОписание
connectionОбязателен. Определяет используемое соединение с MySQL.
queryОбязателен, определяет строку запроса.
resultmode

Опционально. Одна из констант. Может быть любым из следующих значений:

  • MYSQLI_USE_RESULT (если необходимо检索大量数据, пожалуйста, используйте этот)

  • MYSQLI_STORE_RESULT (по умолчанию)

Онлайн пример

В следующем примере программа принимает три поля данных от пользователя и вставляет их в таблицу:

Добавление данных

<?php
$dbhost = 'localhost'; // mysql服务器主机地址
$dbuser = 'root'; // mysql用户名
$dbpass = '123456'; // mysql用户名密码
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn)
{
  die('连接失败: ' . mysqli_error($conn));
}
echo '连接成功<br/>';
// 设置编码,防止中文乱码
mysqli_query($conn, "set names utf8");
 
$w3codebox_title = '学习 Python';
$w3codebox_author = 'oldtoolbag.com';
$submission_date = '2019-06-08';
 
$sql = "INSERT INTO w3codebox_tbl ".
        "(w3codebox_title,w3codebox_author, submission_date) ".
        "VALUES ".
        "('$w3codebox_title','$w3codebox_author','$submission_date')";
 
 
 
mysqli_select_db( $conn, 'w3codebox' );
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
  die('Не удалось вставить данные: ' . mysqli_error($conn));
}
echo "Успешно вставлено данные\n";
mysqli_close($conn);
?>

Для вставки данных с китайскими символами необходимо добавить mysqli_query($conn , "set names utf8"); предложение.

Далее мы можем просмотреть данные таблицы с помощью следующего предложения:

select * from w3codebox_tbl;

Результат вывода: