В предыдущих постах мы научились с помощью SQL-запросов создавать, удалять и редактировать базу данных и ее таблицы. Данная же статья посвящена наполнению таблиц БД данными, то есть будем изучать SQL-команды для вставки новых записей. Следует сказать, что запись в таблицу можно сделать двумя способами:
Способ №1.
Попробуем внести запись о новой стране в таблицу countries. Синтаксис добавления будет следующим:
Способ №2.
Второй способ, на мой взгляд, немного проще, поскольку вы видите что, и какому полю присваиваете. Поверьте, если в таблице огромное количество столбцов, то очень просто перепутать или недосмотреть порядок полей в первых, и порядок значений во вторых скобках. Синтаксис второго метода такой:
Вы, наверное, заметили, что мы не указали значение для age, а оно оказалось заполненным... Все правильно – для данного поля мы устанавливали значение по умолчанию как 25. Так что теперь наш Ivan Dulin числиться в базе с возрастом 25 лет. Возможно, не самый удачный пример делать значение по умолчанию для поля возраста, но можно такие свойства устанавливать к таким полям, как, к примеру, рейтинг пользователя сайта, или количество просмотров страницы. Для них изначально ставится значение 0.
Следует еще обратить внимание на формат даты в MySQL: YYYY-MM-DD. Если его не придерживаться, то ваши записи просто не будут внесены в таблицу.
Как видим, поле profession заполнено как NULL, это пустое значение. Для данного поля мы задавали свойство «не обязательное к заполнению (NULL)».
Как дополнение, рассмотрим еще такую команду:
Структура данных файла должна соответствовать таким требованиям:
Таблица professions:
Таблица countries:
Таблица persons:
Обязательно добавьте эти записи, поскольку они нам понадобятся для изучения оператора SELECT (выбора информации с БД), который мы рассмотрим в следующей (четвертой) статье по изучению SQL-запросов.
Способ №1.
Попробуем внести запись о новой стране в таблицу countries. Синтаксис добавления будет следующим:
INSERT INTO имя_таблицы (поле_1, поле_2, …) VALUES (Значение_1, Значение_2, …);
Исходя из нашей структуры таблицы, SQL-запрос будет таким:
INSERT INTO countries (country_name, acronym_name) VALUES ('Russia', 'RU');
Вот так мы внесли в нашу таблицу запись о стране «Россия». Здесь должно быть все понятно и просто, главное внимательно смотреть какие поля указываете в первых скобках, и в таком же порядке прописывать значения во вторых.
Способ №2.
Второй способ, на мой взгляд, немного проще, поскольку вы видите что, и какому полю присваиваете. Поверьте, если в таблице огромное количество столбцов, то очень просто перепутать или недосмотреть порядок полей в первых, и порядок значений во вторых скобках. Синтаксис второго метода такой:
INSERT INTO имя_таблицы SET поле_1 = Значение_1, поле_2 = Значение_2, … ;
Давайте на данном примере внесем какую-нибудь информацию в табличку persons, поскольку там побольше полей, и сразу будет чувствоваться преимущество второго способа:
INSERT INTO persons SET first_name='Ivan', last_name='Dulin', registration_date='2012-06-14', country='1';
Теперь в нашей табличке есть такие данные:
Вы, наверное, заметили, что мы не указали значение для age, а оно оказалось заполненным... Все правильно – для данного поля мы устанавливали значение по умолчанию как 25. Так что теперь наш Ivan Dulin числиться в базе с возрастом 25 лет. Возможно, не самый удачный пример делать значение по умолчанию для поля возраста, но можно такие свойства устанавливать к таким полям, как, к примеру, рейтинг пользователя сайта, или количество просмотров страницы. Для них изначально ставится значение 0.
Следует еще обратить внимание на формат даты в MySQL: YYYY-MM-DD. Если его не придерживаться, то ваши записи просто не будут внесены в таблицу.
Как видим, поле profession заполнено как NULL, это пустое значение. Для данного поля мы задавали свойство «не обязательное к заполнению (NULL)».
Как дополнение, рассмотрим еще такую команду:
LOAD DATA LOCAL INFILE 'D:\zapros.txt' INTO TABLE persons;
Как вы думаете, что мы сейчас сделали?! А сделали мы следующее: добавили данные в таблицу persons из файла zapros.txt, который находится на диске D. Информация в файле должна быть следующей структуры:
Структура данных файла должна соответствовать таким требованиям:
- Каждая новая запись должна описываться с новой строчки
- Данные должны быть указаны для абсолютно всех полей. Как вы можете заметить, для поля id мы указали значение NULL, ведь оно у нас автоинкрементное, так что MySQL сам внесет нужное значение.
- Поля разделяются друг от друга символом табуляции (клавиша Tab).
- Введенная информация должна соответствовать типам данных конкретного поля. То есть, например, дата в формате ГГГГ-ММ-ДД, целое число для integer и т.д.
Таблица professions:
profession_name |
developer |
miller |
teacher |
Таблица countries:
country_name | acronym_name |
Ukraine | UA |
Belarus | BL |
Таблица persons:
first_name | last_name | age | registration_date | country | profession |
Leonid | Bilak | 45 | 2012-06-20 | 2 | 1 |
Yuri | Nazarov | 22 | 2012-06-21 | 3 | 1 |
Alla | Savenko | 25 | 2012-06-22 | 2 | 3 |
Irina | Nikolaeva | 31 | 2012-06-22 | 1 | 3 |
Обязательно добавьте эти записи, поскольку они нам понадобятся для изучения оператора SELECT (выбора информации с БД), который мы рассмотрим в следующей (четвертой) статье по изучению SQL-запросов.
способ 2:
ОтветитьУдалитьINSERT INTO `news` (`id`, `title`, `text`) VALUES
(1, 'В Петербурге уволили двоих вице-губернаторов', 'Вице-губернаторов Петербурга Бельского и Бондаренко освободили от должности\r\nЗдание Правительства в Санкт-Петербурге - РИА Новости, 1920, 24.09.2021\r\n© РИА Новости / Александр Гальперин\r\nПерейти в фотобанк\r\nЧитать ria.ru в\r\nС.-ПЕТЕРБУРГ, 24 сен — РИА Новости. Вице-губернаторов Санкт-Петербурга Александра Бельского и Николая Бондаренко освободили от должностей, сообщила пресс-служба администрации главы города.\r\nСоответствующие распоряжения подписал губернатор Александр Беглов.\r\nКроме того, свои посты покинули председатель городского комитета по социальной политике Александр Ржаненков, глава администрации Выборгского района Валерий Гарнец и глава администрации Приморского района Николай Цед.\r\nВ пресс-службе не назвали причины кадровых изменений.'),
(2, 'Суд арестовал экс-вице-премьера Крыма', 'Суд арестовал экс-вице-премьера Крыма Кабанова, курировавшего ФЦП развития региона\r\nЕвгений Кабанов - РИА Новости, 1920, 24.09.2021\r\n© РИА Новости / Дмитрий Макеев\r\nЕвгений Кабанов. Архивное фото\r\nЧитать ria.ru в\r\nСИМФЕРОПОЛЬ, 24 сен — РИА Новости. Киевский районный суд Симферополя арестовал бывшего вице-премьера Крыма Евгения Кабанова по делу о хищении более 57 миллионов рублей, передает корреспондент РИА Новости.\r\nПо версии следствия, обвиняемый, вместе с бывшим министром строительства и архитектуры Крыма Михаилом Храмовым, а также генеральным директором компании \"Мастер-ЮГ\" Романом Журавлевым, украл эти деньги из бюджета.\r\n');