SQL манипуляции данными: выберите Вставить удалять и изменять данные SQL

Это tutoriald сосредоточена на том, как добавлять, изменять и удалять данные из таблицы в базе данных с помощью SQL Манипулирование данными языка. Без этих знаний, мы не будем действительно есть какие-либо использовать для базы данных, он будет просто статическое образование без каких-либо целей.

Давайте сначала создать базу данных и таблицы, чтобы работать в этом руководстве. Наша база данных будет называться dmlexample, так давайте создадим, что теперь со следующим заявлением:

  mysql> CREATE DATABASE dmlexample; 

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

  mysql> USE dmlexample; 

В консоли теперь должна сообщить нам о том, что база данных изменился;

  

Теперь у нас есть база данных создана, давайте создадим таблицу, чтобы экспериментировать с призвали sampletable. Эта таблица будет содержать следующие поля: имя пользователя, пароль, возраст, по электронной почте, и дата вступления была создана.

Затем мы можем создать нашу таблицу с DDL следующее заявление:

  mysql> CREATE TABLE sampletable (-> имя пользователя TEXT, -> пароль TEXT, -> возраста INT, -> электронной почты TEXT, -> datecreated TIMESTAMP); 

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

Теперь у нас есть таблица создана, давайте посмотрим, как нам идти о добавлении строки (записи) информации в ней. Чтобы добавить строки в таблице, мы должны использовать команду INSERT. Вот, как мы хотели бы добавить одну строку в наш sampletable.

  mysql> INSERT INTO sampletable ЦЕННОСТИ -> ( "andrew", "qwerty", 20, "andrew@dreamcircle.co.uk ', NULL) 

Уведомление о том, каким образом обратная связь с консоли рассказывает нам о том, что одна строка была затронута. Таким образом, мы добавили один ряд с нашими sampletable таблице.

Мы можем затем использовать команду называется SELECT, чтобы просмотреть данные в таблице. Мы будем вдаваться в более подробно об этой команды позднее в этом tutotial, поскольку он очень важен, но сейчас мы будем использовать его только вслепую. Давайте посмотрим, какие данные в нашей dmlexample таблице:

  mysql> SELECT * FROM sampletable; 
Примечание

Уведомление о том, каким образом datecreated области отражает дату и время, когда мы добавили строку в таблице. Это происходит потому, что мы, указанных NULL, когда мы добавили строку, и делаете это сделает TIMESTAMP области захватить текущую дату и время в системе по умолчанию.

Можно также добавить несколько строк данных в единую команду. Давайте попробуем это сейчас, добавив еще на три строки в таблице в одной командой INSERT. Это можно сделать следующим образом:

  mysql> INSERT INTO sampletable ЦЕННОСТИ -> ( 'glenn', 'gimboid', 21, 'glenn@chopsewage.com', NULL), -> ( 'им', 'letmein', 23, 'jim@email.net " , NULL), -> ( 'wes',' opensesame ', 31,' wes@email.net ', NULL); 

Как вы можете видеть, на этот раз отзывы от консоли предположить, что три строки были затронуты, и поэтому мы добавили три строки в таблице. Мы можем проверить это еще раз с помощью команды SELECT:

  mysql> SELECT * FROM sampletable; 

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

Модификация данных

Теперь, когда мы знаем о том, как добавить данные в таблицы, давайте посмотрим, как нам идти о модификации существующей таблице данных.

Чтобы изменить данные в виде таблицы, мы требуем использования на обновление команды. Сначала давайте попробуем изменить все пароли на всех строк в таблице, на "changeme." Это может быть достигнуто со следующим заявлением:

  mysql> UPDATE SET sampletable пароль = 'changeme'; 
Осторожность

В UPDATE команда (равно как и все из SQL команды) является довольно мощным. Что безответственного использования можно уничтожить большое количество данных с простой ошибкой. Почти каждый запрос должен иметь по крайней мере один, где состояние.

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

Теперь мы можем увидеть эффект на столе с помощью команды SELECT, а именно:

  myql> SELECT * FROM sampletable; 

Очевидный вопрос теперь в том, что, если я только хочу, чтобы обновить одном ряду? Допустим, что мы хотим изменить Гленн пароль от changeme назад к gimboid. Мы хотели бы использовать следующее заявление для этого:

  mysql> UPDATE SET sampletable пароль = 'gimboid' WHERE имя пользователя = 'glenn'; 

Когда мы выполнить эту команду в консоли, она информирует нас о том, что одна строка была затронута. Это объясняется тем, что она будет только обновить поле пароля, если имя пользователя поля равна glenn. Если мы используем команды SELECT на таблице, в настоящее время, мы видим, что только Гленн пароль изменился.

Мы также можем применить этот метод, который позволил бы нам обновить только некоторые поля. Например, мы могли бы изменить все пароли из тех, кто 30 лет или младше. Вот команды мы потребуется для этого:

  mysql> UPDATE SET sampletable пароль = 'молодых' WHERE возрасту <= 30 

Когда мы выполнять эту команду, он будет информировать нас о том, что тремя рядами были затронуты, поскольку три из четырех записей в нашей таблице имеют возраст равен или меньше, чем 30.

Подсказка

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

Снятие (удаление) данных

Удаление данных из таблицы, это делается в весьма похожий способ обновления данных. Сначала мы увидим, как удаление одного ряда данных. Давайте теперь glenn исключить из базы данных, используя следующее заявление:

  mysql> DELETE ГОДА sampletable ГДЕ имя пользователя = 'glenn'; 

Когда мы выполнить эту команду, в консоли MySQL клиент будет информировать нас о том, что одна строка пострадал (например, исключить).

Опять же, как с UPDATE заявления, мы можем указать условия, которые позволяют нам исключить, например, каждый со возрасте менее 30. Давайте делать это сейчас со следующим заявлением:

  mysql> DELETE ГОДА sampletable ГДЕ возраст <30; 

Когда мы вызываем это заявление, клиент будет информировать нас о том, что два ряда были затронуты, и в этом случае исключена. Если мы сейчас использовать команду SELECT в нашей таблице, то мы увидим, что только одна строка, что осталось в таблице.

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

  mysql> DELETE ГОДА sampletable; 

Как видите, таблица в настоящее время содержит никакой информации.

Использование SELECT заявления

До сих пор мы просто использовали следующую команду, чтобы показать всем данным, в нашей sampletable таблице:

  mysql> SELECT * FROM sampletable; 

Это на самом деле извлечения всех полей из таблицы sampletable и возвращение им. * В это маска, а это означает, в основном она представляет собой что-либо (или, в данном случае любой области).

Прежде чем идти в SELECT заявление дальше, давайте сначала добавьте некоторые данные для эксперимента в нашей sampletable таблице. Используйте следующее заявление включить некоторые данные:

  mysql> INSERT INTO sampletable ЦЕННОСТИ -> ( "andrew", "qwerty", 20, "andrew@dreamcircle.co.uk ', NULL), -> (' andrew ',' letmein ', 27,' andrew электронной почты @. нетто ", NULL), -> (" Джордж "," документ ", 19," george@email.net ', NULL), -> (' jenny ',' jen999 ', 27,' jen@email.net " , NULL), -> ( 'sandra', 'sdra2', 27, 'sandra@email.net', NULL); 

Теперь, когда мы добавили наши данные в таблице, если мы используем SELECT заявление с маска (*), как мы делали раньше, она будет получать и отображать всю информацию из таблицы в консоли. Попробуем теперь со следующим заявлением.

  mysql> SELECT * FROM sampletable; 

Как вы можете видеть, заявление извлекается вся информация из таблицы (например, все строки, и все столбцы, содержащиеся в каждой из строк).

Допустим, что все мы хотим, чтобы получить это поле пароля. Чтобы получить все пароли от sampletable столом, мы хотели бы использовать следующее заявление:

  mysql> SELECT пароль ГОДА sampletable; 

Уведомление о том, как мы просто заменить маска (*) в колонке мы хотели бы получить. Мы также можем получить несколько колонок с помощью запятой, чтобы обозначать им. Давайте попробуем выбрать как имя пользователя и пароль, колонка колонке только. Вот заявление, нам потребуется для этого:

  mysql> SELECT имя пользователя, пароль ГОДА sampletable; 

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

Теперь, когда мы знаем, как получить отдельные поля из таблицы, как нам найти единственную строку? Мы можем легко применять условие к SELECT заявление, так же, как мы делали, когда мы были обновление таблицы и удалить из таблицы. Использование условного SELECT заявление, давайте только Дженни отображения информации из базы данных. Вот заявление, нам потребуется для этого:

  mysql> SELECT * FROM sampletable ГДЕ имя пользователя = 'jenny'; 

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

Мы можем также включить идею выбора указанных областях. Практическим примером этого было бы найти пароль, что связано с именем пользователя. Вот, как мы хотели бы получить пароль, который принадлежал Джорджу:

  mysql> SELECT пароль ГОДА sampletable ГДЕ имя пользователя = "владимир"; 

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

Примечание

Когда мы указали конкретных областях, как в этом примере, мы не только поля, которые мы выбираем для использования при ГДЕ положение.

В нашу выборку данных, есть две строки с именем пользователя andrew. Если мы попытаемся использовать условное заявление, чтобы получить пароль для andrew, мы в действительности получают два пароля, по одному для каждой andrew вступления в базе данных. Давайте попробуем это сейчас только для доказательства. Вот заявление о том, что нам необходимо:

  mysql> SELECT пароль ГОДА sampletable ГДЕ имя пользователя = "andrew"; 

Когда мы вызываем это заявление, то мы увидим, что у нас есть два пароли показывается в консоли.

Примечание

Дубликаты могут быть удалены от результата, используя опцию DISTINCT. Например: SELECT DISTINCT имя пользователя ГОДА sampletable.

Давайте взглянем на то, как LIKE команда может помочь нам найти информацию о том, что нам требуется. Использование LIKE идеально подходит для поиска строки в базах данных, в особенности, если у вас только часть полной строки (например, для поисковых систем). Например, скажем, что мы хотим найти-то в базу данных, чье имя начинается с буквы j. Чтобы добиться этого, мы будем требовать следующее заявление:

  mysql> SELECT * FROM sampletable ГДЕ имя пользователя LIKE '% к'; 

Уведомление о том, как здесь jenny был возвращен, как ее имя пользователя является единственным начать с j. The% представляет собой маске используется с LIKE, так что, если мы использовали следующее заявление вместо:

  mysql> SELECT * FROM sampletable ГДЕ имя пользователя LIKE '% к%'; 

... к письму может появиться в любом месте в строке. Кроме того, обратите внимание, что Вы можете иметь больше, чем один символ:

  mysql> SELECT * FROM sampletable ГДЕ имя пользователя LIKE '% nny'; 

Это позволит извлечь всех людей, которые имеют имена, что в конце текста "nny". Наконец, если мы использовали следующее заявление:

  * выберите из sampletable, где имя пользователя, такие как '% nny% в'; 

... было бы извлечь все строки, содержащие "nny" в их фамилии, но имя пришлось бы в конце "а".

в этой статье идет речь добавил Джордж Ионеску
Оговорка: Наш сайт не несет ответственности за информацию, содержащуюся в этой статье. Эта статья ни в коей мере не отражает взгляды, мнения, мысли или убеждения статей Каталог сотрудников.

Перевод заметить: В статье "SQL Манипулирование данными: Выберите Включить Удалить и Изменить данных SQL" был переведен с использованием автоматизированной службы перевода. Мы приносим извинения за любые ошибки перевода, что произошло. Спасибо за понимание.

Online: 607 users browsing the articles directory