Изучаем sql



Pdf көрінісі
бет37/261
Дата28.07.2022
өлшемі1,6 Mb.
#147825
1   ...   33   34   35   36   37   38   39   40   ...   261
Байланысты:
Изучаем SQL ( PDFDrive )

DESC favorite_food
;
+++++++
| Field | Type | Null | Key | Default | Extra |
+++++++
| person_id | smallint(5) unsigned | | PRI | 0 | |
| food | varchar(20) | | PRI | | |
+++++++
Теперь, когда есть таблица, следующим логичным шагом будет доба
вить в нее коекакие данные.
Заполнение и изменение таблиц
Имея таблицы 
person
и 
favorite_food
, можно приступить к изучению
четырех SQLвыражений для работы с данными: 
insert

update

delete
и 
select
.
Вставка данных
Поскольку пока что в наших таблицах 
person
и 
favorite_food
нет дан
ных, из четырех SQLвыражений для работы с данными первым рас
смотрим 
insert
. В выражении 
insert
три основных компонента:

Имя таблицы, в которую должны быть добавлены данные.

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

Значения, которыми должны быть заполнены столбцы.
Таким образом, не обязательно предоставлять данные для всех столб
цов таблицы (если только все столбцы таблицы не были определены
как 
not
null
). В некоторых случаях столбцы, не включенные в исход
ное выражение 
insert
, будут заполнены позже с помощью выражений
update
. Бывает, что столбец в какойто строке вообще никогда не за
полняется данными (например, если заказ покупателя отменяется
до поставки, столбец 
ship_date
остается незаполненным).
Формирование числовых ключей
Прежде чем заполнить таблицу 
person
данными, полезно обсудить про
цесс формирования значений числовых первичных ключей. Кроме
выбора числа «от фонаря» есть два варианта:

Найти в таблице самое большое на данный момент значение пер
вичного ключа и прибавить 1.

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


Заполнение и изменение таблиц
43
вый к ошибкам метод формирования числовых ключей. Иногда, напри
мер в Oracle Database, используется отдельный объект схемы (называе
мый 
последовательностью 
(
sequence
)). Однако в случае с MySQL надо
просто включить для столбца первичного ключа свойство 
autoincre
ment 
(
автоприращение
). Обычно это делается при создании таблицы, но
мы занимаемся этим сейчас, чтобы изучить еще одно SQLвыражение
управления схемой, которое меняет описание существующей таблицы:
ALTER TABLE person MODIFY person_id SMALLINT UNSIGNED AUTO_INCREMENT;
Это выражение, по существу, переопределяет столбец 
person_id
табли
цы 
person
. Теперь команда 
describe
для этой таблицы отобразит атри
бут автоприращения в столбце 
Extra
для 
person_id
:
mysql> 
DESC person;
+++++++
| Field | Type | Null | Key | Default | Extra |
+++++++
| person_id | smallint(5) unsigned | | PRI | NULL | 


Достарыңызбен бөлісу:
1   ...   33   34   35   36   37   38   39   40   ...   261




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет