ОСНОВНОЕ

WORDPRESS

Операционные системы

Базы данных

Фреймворк Bootstrap

Умен ты или глуп, велик ты или мал, не знаем мы, пока ты слова не сказал (Саади).

12 основных примеров команды INSERT в MySQL

FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
Одна из общих операций в MySQL, чтобы вставить запись в таблицу.

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

Рассматриваются в данном руководстве следующие примеры:

  1. Основные примеры команды Insert
  2. Вставьте значения только для выбранных столбцов
  3. Пример INSERT с SET
  4. Вставка записей на основе строк из другой таблицы
  5. Вставка значений выбранных столбцов из другой таблицы
  6. Вставить записи в определенный раздел
  7. Вставка записи в несколько разделов в таблице
  8. Игнорировать сообщение об ошибке во время ввода текста
  9. Значения по умолчанию в Insert
  10. Экспрессия в вставки значений
  11. Сделайте приоритет команды Insert ниже или выше
  12. При найденном дубликате, обновить значение столбца

 

В следующем примере мы подключимся к базу данных andreyexbase с именем пользователя devuser и паролем mysecretpwd

 

Для этого урока мы вставим значения в таблице сотрудников. Это структура таблицы сотрудников.

 

Если вы новичок в MySQL, используйте это Как создать MySQL базу данных и таблицу, чтобы начать работу.

1. Основные примеры команды Insert

Следующая команда вставит три новых записей в таблице сотрудников. В этом примере, после “values”, укажет значения для всех столбцов в таблице.

 

С помощью команды SELECT в MySQL, убедитесь, что записи был успешно установлены.

 

2. Вставьте значения только для выбранных столбцов

Если вы хотите, вставить значения только выбранных столбцов, следует указать имена столбцов в команде вставки.

Ниже будет вставлены две записи только для столбцов идентификатора и имени.

 

Для “отдела” и столбца “зарплаты”, мы не указали никаких значений для этой конкретной записи. Таким образом, мы будем видеть NULL в качестве значения в нашем выводе команды SELECT. Обратите внимание, что это не строка “NULL”, именно значение столбца в строке действительно нулевая.

 

3. Пример INSERT с SET

Вместо того чтобы использовать ключевого слова “values” в вашей команде выбора, вы можете также использовать ключевое слово “set” в вашей команде выбора, как показано ниже.

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

 

 

4. Вставка записей на основе строк из другой таблицы

В этом примере мы будем использовать INSERT … SELECT метод, который будет выбирать строки из другой таблицы, и вставлять его в нашу таблицу.

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

 

Вы можете также использовать различные условия в “where” выберите команду, чтобы выбрать записи из таблицы подрядной и вставить в таблицу служащих, как показано ниже.

 

Примечание: Если вы привыкли к базе данных Oracle, вы будете использовать “insert into worker AS select * from contractor”. Обратите внимание, что MySQL не использует ключевого слова “AS” в данном контексте.

5. Вставка значений выбранных столбцов из другой таблицы

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

В следующем примере будет принимать значения “ID” и “name” для всех строк в таблице подрядчика и вставлять его в таблицу сотрудников.

 

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

 

Обратите внимание, что если запись уже существует для первичного ключа (что идентификатор) в таблице сотрудников, вы получите следующее сообщение об ошибке. Следующее сообщение об ошибке указывает на то, что идентификационный номер сотрудника “100” уже существует в таблице сотрудников.

 

6. Вставить записи в определенный раздел

Если вы создали таблицу, используя раздел по диапазону, то вы можете указать раздел в вашей команде вставки, как показано ниже.

В следующем примере будет вставлять записи в таблицу служащих в разделе p1

 

Обратите внимание, что строка уже существует в данном конкретном разделе. Например, в данном примере p1, вы получите следующее сообщение об ошибке:

 

Примечание: Эта функция будет работать только на MySQL 5.6 и выше.

7. Вставка записи в несколько разделов в таблице

Вы также можете вставлять записи на несколько разделов с помощью одного оператора вставки.

Следующий оператор вставки вставляет запись с идентификатором “100” в разделе p1, и запись с идентификатором “200” в разделе p2.

 

Обратите внимание, что в приведенном выше примере, если по каким-либо причинам MySQL не может вставить одну из записей в раздел, весь оператор вставки не получится, и обе записи не будут вставлены.

Опять же, это будет работать только на MySQL 5.6 и выше.

8. Игнорировать сообщение об ошибке во время ввода текста

Если по какой-то причине вы хотите проигнорировать сообщение об ошибке MySQL во время вставки, вы можете использовать игнорирование вставки.

Например, следующая команда выдаст сообщение об ошибке, так как запись уже существует в таблице.

 

Чтобы проигнорировать выше сообщение об ошибке, вы можете использовать “insert ignore” (вместо того, чтобы просто вставить), как показано ниже. Обратите внимание, что это еще не вставит запись в таблицу, поскольку есть primary key в идентификаторе столбца. Но, это просто игнорирует сообщение об ошибке.

 

9. Значения по умолчанию в Insert

Если MySQL работает в строгом режиме, и когда мы не указываем значения по умолчанию, он выдаст сообщение об ошибке.

Однако, если строгий режим не включен (который по умолчанию), и когда вы делаете команду вставки и не указываете значение столбца, он будет использовать значение по умолчанию для этого конкретного типа данных столбца.

Например, в бонусной таблице, оба значения столбца установлены в положение “not null”.

 

Давайте вставим запись в эту таблицу для столбца идентификаторов.

 

Когда вы выполните команду select, вы заметите, что колонка “сумма” автоматически устанавливается неявной значением 0 по умолчанию.

 

Если вы не указываете как для идентификатора и суммы, будет установлено на 0 автоматически, как показано ниже. Если значения не заданы, то MySQL будет использовать значения по умолчанию.

 

Примечание: Вы можете также использовать ключевое слово “DEFAULT” в значениях, как показано ниже, что позволит достичь выхода, как описано выше.

 

Для строки столбца, значение по умолчанию пустая строка. Кроме того, обратите внимание, что, когда числовой столбец имеет множество AUTO_INCREMENT, то значение по умолчанию будет следующее значение соответствующей последовательности.

10. Экспрессия в вставки значений

В следующем примере для значения бонуса, мы определили “5000 + идентификатор” в качестве значения. Таким образом, это добавит значение идентификатор служащего к значению бонуса и вставит окончательное значение в колонке бонуса, как показано ниже.

Вы можете использовать “+”, “-“, “*”, или любой другой действующий оператор выражения MySQL в значениях. В следующем примере, он использует “50 * 2” для столбца идентификаторов. Таким образом, идентификатор, который будет вставлен в “100”

Вы можете также обратиться к значениям других столбцов. В следующем примере, он использует “5000 + id” для бонусного столбца. Таким образом, это будет иметь значение столбца идентификаторов (который является 100), и добавить его к 5000. Таким образом, окончательное значение бонуса “5100”, как показано ниже.

 

11. Сделайте приоритет команды Insert ниже или выше

Для движка, которая поддерживает блокировку таблицы (например, MyISAM), вы можете указать приоритет вашей вставки.

Например, эта команда Insert будет задерживать вставку (сделать его низкий приоритет) до тех пор, никто ни кто не будет читать таблицу.

 

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

 

Пожалуйста, имейте в виду, что если ваша база данных интенсивно считывается и если вы укажете LOW_PRIORITY в команде Insert, то ваша вставка может длится в течение очень долгого времени.

Кроме того, обратите внимание, что это немного отличается от “INSERT … DELAYED”, который является устаревшим, начиная с MySQL 5.6.6. Таким образом, не следует больше использовать “insert … delayed”.

12. При найденном дубликате, обновить значение столбца

Во время вставки, если есть дубликат ключа, она не будет выполнена, как показано ниже, в качестве идентификатора “100” уже существует в таблице.

 

Тем не менее, вы можете сделать некоторые обновления для этой конкретной записи (если дубликат обнаружен) с помощью “ON DUPLICATE KEY UPDATE”, как показано ниже.

Как показано в следующем примере, когда вставка не удалось (из-за дубликата ключа), мы обновляем столбец заработной платы путем добавления 500 к его стоимости.

 

Обратите внимание, что в приведенном выше примере, при вставке, даже если обновляется только одна запись, то выход будет такой: “2 rows affected”.

12 основных примеров команды Insert в MySQL

Читайте также

Добавить комментарий

Войти с помощью: 

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Простая логическая игра "Поймай кота". Задача игры окружить кота точками так, чтобы он не смог убежать с поля. Постигла неудача - начни игру снова!

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить
galka

Спасибо! Ваша заявка принята

close
galka

Спасибо! Ваша заявка принята

close