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

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

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

Синтаксис

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

INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);

Описание параметра:

  • table_name— имя таблицы, в которую вы хотите вставить данные.
  • column1, column2, column3, ... — имена столбцов в таблице.
  • value1, value2, value3, ... — конкретные значения, которые нужно вставить.

Если данные имеют символьный тип, необходимо использовать одинарные кавычки'или двойные кавычки", например: 'value1', "value1".

Простой пример, который вставляет строку данных в таблицу с именем users:

INSERT INTO users (username, email, birthdate, is_active)
VALUES ('test', '[email protected]', '1990-01-01', true);
  • username: username, строковый тип.
  • email: адрес электронной почты, строковый тип.
  • birthdate: дата рождения пользователя, тип даты.
  • is_active: активирован ли, логический тип.

Если вы хотите вставить данные для всех столбцов, можно опустить имена столбцов:

INSERT INTO users
VALUES (NULL,'test', '[email protected]', '1990-01-01', true);

ЗдесьNULL— это заполнитель для столбца с автоинкрементом, означающий, что система сгенерирует уникальное значение для столбцаid.

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

INSERT INTO users (username, email, birthdate, is_active)
VALUES
    ('test1', '[email protected]', '1985-07-10', true),
    ('test2', '[email protected]', '1988-11-25', false),
    ('test3', '[email protected]', '1993-05-03', true);

Приведённый выше код вставит три строки данных в таблицу users.


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

Далее мы будем использовать операторINSERT INTOдля вставки данных в таблицу данных MySQL example_tbl

Пример

В следующем примере мы вставим три строки данных в таблицу example_tbl:

Пример

root@host# mysql -u root -p password;
Введите пароль:*******
mysql> USE EXAMPLE;
База данных изменена
mysql> INSERT INTO example_tbl
    -> (example_title, example_author, submission_date)
    -> VALUES
    -> ("Learn PHP", "Example Tutorial", NOW());
Query OK, 1 ROWS affected, 1 warnings (0.01 sec)
mysql> INSERT INTO example_tbl
    -> (example_title, example_author, submission_date)
    -> VALUES
    -> ("Learn MySQL", "Example Tutorial", NOW());
Query OK, 1 ROWS affected, 1 warnings (0.01 sec)
mysql> INSERT INTO example_tbl
    -> (example_title, example_author, submission_date)
    -> VALUES
    -> ("JAVA Tutorial", "example.com", '2016-05-06');
Запрос выполнен, 1 строк затронуто (0.00 sec)
mysql>

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

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

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

Прочитать таблицу данных:

select * from example_tbl;

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


Вставка данных с помощью PHP-скрипта

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

Эта функция имеет два параметра, возвращает TRUE при успехе, иначе возвращает FALSE.

Синтаксис

mysqli_query(connection,query,resultmode);
Параметр Описание
соединение Обязательный. Указывает используемое соединение MySQL.
запрос Обязательный. Указывает строку запроса.
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"); $example_title = 'Изучить Python'; $example_author = 'example.com'; $submission_date = '2016-03-06'; $sql = "INSERT INTO example_tbl ". "(example_title,example_author, submission_date) ". "VALUES ". "('$example_title','$example_author','$submission_date')"; mysqli_select_db( $conn, 'EXAMPLE' ); $retval = mysqli_query( $conn, $sql ); if(! $retval ) { die('Не удалось вставить данные:' . mysqli_error($conn)); } echo "Данные успешно вставлены\n"; mysqli_close($conn); ?>

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

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

Прочитать таблицу данных:

select * from example_tbl;

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

Другие расширения