Бинарные
данные не перекодируются «на лету», если включена
перекодировка символов
Используется для хранения бинарных данных,
максимальный размер — 16 777 215 байтов
Используется для хранения бинарных данных,
максимальный размер — 4 294 967 295 символов
Дата в формате ГГГГ-ММ-ДД
Время в формате ЧЧ:ММ:СС
Дата и время в формате timestamp, выводится в виде
ГГГГММДДЧЧММСС. Формат не очень удобный,
поэтому лучше использовать datetime
Дата и время в формате ГГГГ-ММ-ДД ЧЧ:ММ:СС
После типа нужно указать модификатор поля (хотя это не обязательно):
? not null — поле не может содержать пустое значение, т. е. при
добавлении записи нужно обязательно указать значение этого поля;
? primary key — поле будет первичным ключом, хотя индексы лучше
определять по-другому (об этом поговорим чуть позже);
? autoincrement— при добавлении новой записи значение этого поля
будет автоматически увеличено на единицу (данный модификатор
допустим только для целых типов);
? default — задает значение по умолчанию, если значение поля при
добавлении записи не задано, например delault о.
Рассмотрим пример создания таблицы (листинг П3.1).
12 3ак 284
328
Приложения
CREATE TABLE friends
(
id int auto_increment,
name varchar(50) not null,
email varchar(30) not null,
commenttext,
primarykey (id)
);
Итак, наша таблица friends будет содержать четыре поля:
? id — может принимать целые значения (это будет номер записи),
значения поля увеличиваются автоматически (autoincrement). Это сделано
для нашего удобства: при добавлении новой записи вам не нужно будет
помнить номер последней, т. к. MySQL укажет его за вас;
? name — текстовое поле для имени вашего друга, максимальная длина
поля 50 символов;
? email — тоже текстовое поле, но с длиной строки 30 символов;
? comment — поле типа text, может содержать небольшой текст, объемом
до 64 Кбайт.
Еще раз поговорим о поле id. Это поле объявлено как поле-счетчик
(autoincrement)j оно же будет первичным индексом. Если индексом
должно быть нецелочисленное поле или же не задан модификатор
autoincrement, то следует обязательно задать модификатор not null,
поскольку индекс не может содержать пустое значение.
ПЗ.б. Добавление записей в таблицу
Для добавления записей служит оператор insert:
INSERT INTO Имя_таблицы [(Список полей)]
VALUES (Список констант);
Рассмотрим пример добавления записи в нашу таблицу:
INSERT INTO friends
VALUES (0, fDenisf, [email protected]’, ‘some comment’);
Приложение 3. Основы SQL
329
Поскольку поле id является счетчиком, то вместо значения можно просто
указать о. Поля name и email обязательны для заполнения. Список полей мы не
указывали, чтобы упростить запрос. Но можно указать поля явно (причем
порядок полей может быть не такой, какой был указан при создании таблицы):
INSERT INTO friends (COMMENT, EMAIL, NAME)
VALUES (‘some comment’, ‘[email protected], ‘Denis1);
Главное, чтобы указанные значения соответствовали полям.
Для вставки даты удобно использовать встроенную SQL-функцию todate:
T0_DATE(’01/02/07,’DD/MM/YY’)
Например:
INSERT INTO BIRTHDAY (ADATE, NAME)
VALUES (TO_DATE(’01/02/07, ‘DD/MM/YY’) , ‘Andrew’) ;
П3.7. Обновление записей
Обновление записей осуществляется оператором update, синтаксис которого
следующий:
UPDATE таблица
SET список_полей_и_значений
WHERE условие;
Список полей и значений задается так:
поле = значение
Например:
UPDATE friends
SET name=’Igor’, email=’[email protected]’
В случае с оператором update мы обязательно должны указать условие,
иначе заданные нами значения полей будут установлены для всех записей, а это
нежелательно. Чтобы изменить запись, мы должны ее идентифицировать.
Поскольку у нас есть ключ, то сделать это просто: нужно указать значение
ключевого поля:
UPDATE friends
SET name=’Igor’, email=’[email protected]’
WHERE id=l;
330
Приложения
Данный запрос найдет запись, для которой поле id равно единице, и изменит
значения ее полей name и email.
5th Фев 2011
|
Теги:
|