English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
В таблицах 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;
Результат вывода:
Вы можете использовать функцию mysqli_query() PHP для выполнения SQL INSERT INTOКоманда для вставки данных.
Функция имеет два параметра и возвращает TRUE при успешном выполнении,否则 FALSE.
mysqli_query(connection, query, resultmode);
Параметры | Описание |
---|---|
connection | Обязателен. Определяет используемое соединение с MySQL. |
query | Обязателен, определяет строку запроса. |
resultmode | Опционально. Одна из констант. Может быть любым из следующих значений:
|
В следующем примере программа принимает три поля данных от пользователя и вставляет их в таблицу:
<?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;
Результат вывода: