My-library.info
Все категории

W Cat - SQL за 24 часа

На электронном книжном портале my-library.info можно читать бесплатно книги онлайн без регистрации, в том числе W Cat - SQL за 24 часа. Жанр: Базы данных издательство неизвестно, год 2004. В онлайн доступе вы получите полную версию книги с кратким содержанием для ознакомления, сможете читать аннотацию к книге (предисловие), увидеть рецензии тех, кто произведение уже прочитал и их экспертное мнение о прочитанном.
Кроме того, в библиотеке онлайн my-library.info вы найдете много новинок, которые заслуживают вашего внимания.

Название:
SQL за 24 часа
Автор
Издательство:
неизвестно
ISBN:
нет данных
Год:
неизвестен
Дата добавления:
17 сентябрь 2019
Количество просмотров:
333
Читать онлайн
W Cat - SQL за 24 часа

W Cat - SQL за 24 часа краткое содержание

W Cat - SQL за 24 часа - описание и краткое содержание, автор W Cat, читайте бесплатно онлайн на сайте электронной библиотеки My-Library.Info

SQL за 24 часа читать онлайн бесплатно

SQL за 24 часа - читать книгу онлайн бесплатно, автор W Cat

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

insert into имя_схемы.имя_таблицы [('столбец!', 'столбец2')] select [*|('столбец!', 'столбец2')] from имя_таблицы

[where условия] ;

Здесь вы видите три новых ключевых слова SELECT, FROM и WHERE. SELECT является основной командой для построения запросов в SQL. С помощью FROM в запросе указываются имена таблиц, в которых необходимо отыскать данные. С помощью WHERE в запросах задаются условия, определяющие суть запроса. Таким условием может быть, например, WHERE NAME = 'SMITH'. Использование этих трех ключевых слов подробно обсуждается в ходе уроков 7 и 8.

Условие - это способ задания критериев отбора данных, осуществляемого оператором SQL.

В следующем примере используется простой запрос, чтобы увидеть все данные таблицы PRODUCTS_TBL. Здесь SELECT * говорит серверу базы данных, что необходимо получить информацию из всех столбцов таблицы. А отсутствие ключевого слова WHERE означает, что необходимо показать все записи таблицы.

select * from products_tbl;

PROD_ID PROD_DESC COST

11235 КОСТЮМ ВЕДЬМЫ 29.99

222 ПЛАСТИКОВЫЕ ТЫКВЫ 7.75

13 ИСКУССТВЕННЫЕ ПАРАФИНОВЫЕ ЗУБЫ 1.1

90 ФОНАРИ 14.5

15 КОСТЮМЫ В АССОРТИМЕНТЕ 10

9 СЛАДКАЯ КУКУРУЗА 1.35

6 ТЫКВЕННЫЕ КОНФЕТЫ 1.45

87 ПЛАСТИКОВЫЕ ПАУКИ 1.05

119 МАСКИ В АССОРТИМЕНТЕ 4.95

1234 ЦЕПОЧКА ДЛЯ КЛЮЧЕЙ 5.95

2345 ПОЛОЧКА ИЗ ДУБА 59.99

11 строк выбраны.

Теперь данные, полученные в результате этого запроса, введем в таблицу PRODUCTS TMP. Вы увидите, что в этой временной таблице будут созданы 11 строк.

INSERT INTO PRODUCTSJTMP

SELECT * FROM PRODOCTS_TBL;

11 строк создано,

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

SELECT * FROM PRODUCTSJTMP;

PROD_ID PROD_DESC COST

Ц235 КОСТЮМ ВЕДЬМЫ 29.99

222 ПЛАСТИКОВЫЕ ТЫКВЫ 7.75

13 ИСКУССТВЕННЫЕ ПАРАФИНОВЫЕ ЗУБЫ 1.1

90 ФОНАРИ 14-5

15 КОСТЮМЫ В АССОРТИМЕНТЕ 10

9 СЛАДКАЯ КУКУРУЗА 1.35


6 ТЫКВЕННЫЕ КОНФЕТЫ 1-45


87 ПЛАСТИКОВЫЕ ПАУКИ 1.05


119 МАСКИ В АССОРТИМЕНТЕ 4.95


1234 ЦЕПОЧКА ДПЯ КЛЮЧЕЙ 5.95


2345 ПОЛОЧКА ИЗ ДУБА 59.99


11 строк выбраны.


Ввод значений NULL

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

Синтаксис оператора для ввода значения NULL следующий.

insert into имя_схемы.имя_таблицы

values ('значение!', NULL, 'значениеЗ'};

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

Рассмотрим следующие два примера.

INSERT INTO ORDERS_TBL

(ORD_NUM,CUST_ID,PROD_ID,QTY,ORD_DATE) VALUES ('23A16','109','7725',2,NULL);

1 строка создана.

Здесь в списке столбцов перечислены все столбцы таблицы ORDERS_TBL. В столбец ORD_DATE вводится значение NULL, означающее, что дата заказа в данный момент либо не известна, либо не доступна.

INSERT INTO ORDERSJTBL

VALUES ('23A16',409','7725',2, 1');

1 строка создана.

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


Обновление уже имеющихся данных

Уже существующие в таблице данные можно изменить с помощью команды UPDATE. Команда UPDATE не добавляет новых записей в таблицу и не удаляет их, а только дает возможность изменить данные. С помощью одной такой команды можно изменить данные только одной таблицы, но одновременно можно менять данные нескольких столбцов. Одним таким оператором можно изменить и одну строку данных и целый набор строк.


Обновление значений одного столбца

В своей простейшей форме оператор UPDATE изменяет один столбец таблицы. При изменении одного столбца можно изменить и только одну запись, и сразу несколько Синтаксис оператора для изменения данных в одном столбце следующий

update имя_таблицы

set имя_столбца = 'значение'

[where условие];

В следующем примере значение столбца QTY таблицы ORDERS_TBL устанавливается равным 1 для записи с ORD_NUM, равным '23А16' (последнее специфицируется с помощью ключевого слова WHERE).

UPDATE ORDERS_TBL

SET QTY

WHERE ORD_NUM = '23A16';

I строка обновлена.

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

UPDATE ORDERSJTBL SET QTY = 1;


11 строк обновлены.

Как видите, здесь было обновлено 11 строк. В данном случае значение столбца QTY было установлено равным 1 для всех строк таблицы ORDERS_TBL. Вы действительно хотели получить такой результат? В отдельных случаях это может быть и так, но на самом деле оператор UPDATE без ключевого слова WHERE используется исключительно редко.

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


Обновление нескольких столбцов в одной или нескольких записях

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

update имя_таблицы

set столбец! = 'значение'

[, столбецЗ = 'значение']

[, столбецЗ = 'значение'] [where условие];

Обратите внимание на использование ключевого слова SET' оно одно, а описаний столбцов - несколько. Описания столбцов разделяются запятыми К этому моменту вы, должно быть, уже почувствовали логику SQL. В операторах SQL запятая обычно используется для разделения различно! о типа аргументов.

UPDATE ORDERSJTBL

SET QTY = 1,

CUST_ID = '221' WHERE ORD_NUM = '23A16';

1 строка обновлена.

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

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


Удаление данных из таблиц

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

Чтобы удалить одну или несколько записей из таблицы, используйте следующий синтаксис оператора DELETE.

delete from имя_схемы.имя_таблицы

[where условие];

DELETE FROM ORDERS_TBL

WHERE ORD_NUM = '23A16';

1 строка удалена.

Здесь следует обратить внимание на выражение с ключевым словом WHERE. При удалении строк из таблицы это выражение представляет собой очень важную часть оператора DELETE. Оператор DELETE без ключевого слова WHERE может понадобиться вам крайне редко. Если вы им воспользуетесь, результат будет подобен следующему:

DELETE FROM ORDERS_TBL; 11 строк удалены.

Если ключевое слово WHERE в операторе DELETE опущено, будут удалены все строки таблицы. Поэтому примите за правило всегда использовать ключевое слово WHERE в операторе DELETE.

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


Резюме

Вы ознакомились с тремя основными командами языка манипуляций данными (DML) - операторами INSERT, UPDATE и DELETE. Вы смогли убедиться, что это достаточно мощная часть SQL, дающая пользователю базы данных возможность пополнять таблицы новыми данными, обновлять или удалять уже имеющиеся данные.

Очень важные уроки общения с базами данных можно получить, если пренебречь внимательным отношением к ключевому слову WHERE. С помощью ключевого слова WHERE в операторах SQL задаются условия отбора, в частности, в операторах UPDATE и DELETE с его помощью определяются строки данных, которые будут обрабатываться в ходе транзакции. При отсутствии ключевого слова WHERE будут обработаны все строки, что для базы данных может оказаться разрушительным. Защитите свои данные, и будьте внимательны при работе с данными.


Вопросы и ответы

После всех вышеприведенных предостережений относительно операторов UPDATE и DELETE я вообще опасаюсь их использовать. Если я вдруг изменю все данные в таблице из-за пропущенного ключевого слова WHERE, есть ли какая-либо возможность отменить эти изменения?


W Cat читать все книги автора по порядку

W Cat - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки My-Library.Info.


SQL за 24 часа отзывы

Отзывы читателей о книге SQL за 24 часа, автор: W Cat. Читайте комментарии и мнения людей о произведении.

Прокомментировать
Подтвердите что вы не робот:*
Подтвердите что вы не робот:*
Все материалы на сайте размещаются его пользователями.
Администратор сайта не несёт ответственности за действия пользователей сайта..
Вы можете направить вашу жалобу на почту librarybook.ru@gmail.com или заполнить форму обратной связи.