MySQL INSERT INTO Query: как добавить строку в таблицу (пример)

Содержание:

Anonim

Что такое INSERT INTO?

INSERT INTO используется для хранения данных в таблицах. Команда INSERT создает новую строку в таблице для хранения данных. Данные обычно предоставляются прикладными программами, которые работают поверх базы данных.

Базовый синтаксис

Давайте посмотрим на основной синтаксис команды INSERT INTO MySQL:

INSERT INTO имя_таблицы (столбец_1, столбец_2,…) ЗНАЧЕНИЯ (значение_1, значение_2,…);

ЗДЕСЬ

  • INSERT INTO «table_name» - это команда, которая сообщает серверу MySQL добавить новую строку в таблицу с именем «table_name».
  • (столбец_1, столбец_2,…) указывает столбцы, которые должны быть обновлены в новой строке MySQL.
  • VALUES (значение_1, значение_2,…) указывает значения, которые будут добавлены в новую строку.

При предоставлении значений данных для вставки в новую таблицу следует учитывать следующее:

  • Строковые типы данных - все строковые значения должны быть заключены в одинарные кавычки.
  • Числовые типы данных - все числовые значения следует указывать напрямую, не заключая их в одинарные или двойные кавычки.
  • Типы данных даты - заключите значения даты в одинарные кавычки в формате «ГГГГ-ММ-ДД».

Пример:

Предположим, что у нас есть следующий список новых членов библиотеки, которые необходимо добавить в базу данных.

Полные имена Дата рождения Пол Физический адрес почтовый адрес Контактный телефон Адрес электронной почты
Леонард Хофштадтер Мужской Woodcrest 0845738767
Шелдон Купер Мужской Woodcrest 0976736763
Раджеш Кутраппали Мужской Fairview 0938867763
Лесли Винкль 14.02.1984 Мужской 0987636553
Говард Воловиц 24.08.1981 Мужской Южный парк А / я 4563 0987786553 Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра.

Давайте ВСТАВЛЯЕМ данные по одному. Начнем с Леонарда Хофштадтера. Мы будем рассматривать контактный номер как числовой тип данных и не заключать номер в одинарные кавычки.

INSERT INTO `members` (` full_names`, `пол`,` physical_address`, `contact_number`) VALUES ('Leonard Hofstadter', 'Male', 'Woodcrest', 0845738767);

Выполнение приведенного выше сценария сбрасывает 0 с контактного номера Леонарда. Это связано с тем, что значение будет рассматриваться как числовое значение, а ноль (0) в начале отбрасывается, поскольку он не имеет значения.

Чтобы избежать таких проблем, значение должно быть заключено в одинарные кавычки, как показано ниже -

ВСТАВИТЬ `members` (` full_names`, `пол`,` physical_address`, `contact_number`) VALUES ('Sheldon Cooper', 'Male', 'Woodcrest', '0976736763'); 

В приведенном выше случае ноль (0) не сбрасывается.

Изменение порядка столбцов не влияет на запрос INSERT в MySQL до тех пор, пока правильные значения сопоставлены с правильными столбцами.

Запрос, показанный ниже, демонстрирует вышеуказанный момент.

ВСТАВИТЬ `members` (` contact_number`, `пол`,` full_names`, `physical_address`) VALUES ('0938867763', 'Male', 'Rajesh Koothrappali', 'Woodcrest');

В приведенных выше запросах не указана дата рождения. По умолчанию MySQL вставляет значения NULL в столбцы, которые не указаны в запросе INSERT.

Теперь давайте вставим запись для Лесли, в которой указана дата рождения. Значение даты должно быть заключено в одинарные кавычки в формате «ГГГГ-ММ-ДД».

ВСТАВИТЬ `members` (` full_names`, `date_of_birth`,` пол`, `physical_address`,` contact_number`) VALUES ('Leslie Winkle', '1984-02-14', 'Male', 'Woodcrest', ' 0987636553 '); 

Все вышеперечисленные запросы указывали столбцы и сопоставляли их со значениями в операторе вставки MySQL. Если мы предоставляем значения для ВСЕХ столбцов в таблице, мы можем опустить столбцы из запроса вставки MySQL.

Пример:-

ВСТАВИТЬ ЗНАЧЕНИЯ членов (9, 'Howard Wolowitz', 'Male', '1981-08-24',
'SouthPark', 'PO Box 4563', '0987786553', 'lwolowitz [at] email.me') ;

Теперь давайте воспользуемся оператором SELECT для просмотра всех строк в таблице члена.

SELECT * FROM `members`; 
членский номер полные имена Пол Дата рождения Физический адрес почтовый адрес contct_ number электронное письмо
1 Джанет Джонс женский 21.07.1980 Участок 1-й улицы No 4 Личная сумка 0759 253 542 Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра.
2 Джанет Смит Джонс женский 23.06.1980 Мелроуз 123 НОЛЬ НОЛЬ Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра.
3 Роберт Фил Мужской 12-07-1989 3-я улица, 34 НОЛЬ 12345 Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра.
4 Глория Уильямс женский 14-02-1984 2-я улица 23 НОЛЬ НОЛЬ НОЛЬ
5 Леонард Хофштадтер Мужской НОЛЬ Woodcrest НОЛЬ 845738767 НОЛЬ
6 Шелдон Купер Мужской НОЛЬ Woodcrest НОЛЬ 976736763 НОЛЬ
7 Раджеш Кутраппали Мужской НОЛЬ Woodcrest НОЛЬ 938867763 НОЛЬ
8 Лесли Винкль Мужской 14-02-1984 Woodcrest НОЛЬ 987636553 НОЛЬ
9 Говард Воловиц Мужской 24-08-1981 Южный парк А / я 4563 987786553 Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра.

Обратите внимание, что в контактном номере Леонарда Хофштадтера отсутствует ноль (0). Остальные контактные номера не имеют нуля (0) в начале.

Вставка в таблицу из другой таблицы

Команду INSERT также можно использовать для вставки данных в таблицу из другой таблицы. Основной синтаксис показан ниже.

ВСТАВИТЬ В таблицу_1 ВЫБРАТЬ * ИЗ таблицы_2; 

Давайте теперь посмотрим на практический пример. Мы создадим фиктивную таблицу для категорий фильмов в демонстрационных целях. Мы будем называть новую таблицу категорий category_archive. Скрипт, показанный ниже, создает таблицу.

СОЗДАТЬ ТАБЛИЦУ `category_archive` (` category_id` int (11) AUTO_INCREMENT, `category_name` varchar (150) DEFAULT NULL,` comments` varchar (500) DEFAULT NULL, PRIMARY KEY (`category_id`)) 

Выполните приведенный выше сценарий, чтобы создать таблицу.

Теперь давайте вставим все строки из таблицы категорий в таблицу архива категорий. Показанный ниже сценарий помогает нам в этом.

INSERT INTO `Categories_archive` ВЫБРАТЬ * ИЗ` категорий`; 

Выполнение приведенного выше сценария вставляет все строки из таблицы категорий в таблицу архива категорий. Обратите внимание, что для работы сценария структуры таблиц должны быть одинаковыми. Более надежный сценарий - это тот, который сопоставляет имена столбцов в таблице вставки с именами столбцов в таблице, содержащей данные.

Запрос, показанный ниже, демонстрирует его использование.

ВСТАВИТЬ В `каталог_архивов` (идентификатор_категории, имя_категории, примечания) ВЫБРАТЬ идентификатор_категории, имя_категории, примечания ИЗ` категорий`;

Выполнение запроса SELECT

ВЫБРАТЬ * ИЗ `категорий_архив`

дает следующие результаты, показанные ниже.

category_id category_name примечания
1 Комедия Фильмы с юмором
2 Романтичный Любовные истории
3 Эпос Сюжетные старые фильмы
4 Ужастик НОЛЬ
5 Научная фантастика НОЛЬ
6 Триллер НОЛЬ
7 Действие НОЛЬ
8 Романтическая комедия НОЛЬ
9 Мультфильмы НОЛЬ
10 Мультфильмы НОЛЬ

Пример PHP: вставить в таблицу MySQL

Функция mysqli_query используется для выполнения SQL-запросов.

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

  • Вставлять
  • Выбирать
  • Обновлять
  • Удалить

Он имеет следующий синтаксис.

mysqli_query($db_handle,$query);

ЗДЕСЬ,

"mysqli_query (

…) »- это функция, выполняющая запросы SQL.

«$ query» - это SQL-запрос, который нужно выполнить.

"$ link_identifier" не является обязательным, его можно использовать для передачи ссылки для подключения к серверу.

Пример

$servername = "localhost";$username = "alex";$password = "yPXuPT";$dbname = "afmznf";// Create connection$conn = mysqli_connect($servername, $username, $password, $dbname);// Check connectionif (!$conn) {die("Connection failed: " . mysqli_connect_error());}$sql= "INSERT INTO addkeyworddata(link, keyword)VALUES ('https://www.guru99.com/','1000')";if (mysqli_query($conn, $sql)) {echo "New record created successfully".'
';} else {echo "Error: " . $sql. "
" . mysqli_error($conn);}}

Резюме

  • Команда INSERT используется для добавления новых данных в таблицу. MySql добавит новую строку после выполнения команды.
  • Значения даты и строки следует заключать в одинарные кавычки.
  • Числовые значения не нужно заключать в кавычки.
  • Команду INSERT также можно использовать для вставки данных из одной таблицы в другую.