Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
для студентов РУБД / теория по SQL 1 часть.doc
Скачиваний:
47
Добавлен:
21.03.2016
Размер:
631.3 Кб
Скачать

Примеры

# Добавить поле 'address2' к таблице 'people' и. задать ему тип данных 'VARCHAR' с максимальной длиной 200 символов.

ALTER TABLE people ADD COLUMN address2 VARCHAR(100)

# Добавить два новых индекса к таблице 'hr', обычный индекс для поля 'salary' и уникальный индекс для поля 'id'. Также продолжить выполнение, если найдены дублируемые значения при создании индекса 'id_idx' (очень опасно!).

ALTER TABLE hr ADD INDEX salary_idx ( salary )

ALTER IGNORE TABLE hr ADD UNIQUE id_idx ( id )

# Изменить значение по умолчанию для поля 'price' в таблице 'sprockets' на $19.95.

ALTER TABLE sprockets ALTER price SET DEFAULT '$19.95'

# Удалить значение по умолчанию для поля 'middle_name' в таблице 'names'.

ALTER TABLE names ALTER middle_name DROP DEFAULT

# Изменить тип данных для поля 'profits' с начального значения (которым, возможно, было INTEGER) на BIGINT.

ALTER TABLE finanaces CHANGE COLUMN profits profits BIGINT

# Удалить поле 'secret_stuff' из таблицы 'not_private_anymore'

ALTER TABLE not_private_anymore DROP secret_stuff

# удалить индекс с именем 'id_index' также как и первичный ключ из таблицы 'cars'.

ALTER TABLE cars DROP INDEX id_index, DROP PRIMARY KEY

# Переименовать таблицу 'rates_current' на 'rates_1997'

ALTER TABLE rates_current RENAME AS rates_1997

Определение требований к операционной обстановке

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

Объём внешней памяти, необходимый для функционирования системы, складывается из двух составляющих: память, занимаемая модулями СУБД (ядро, утилиты, вспомогательные программы), и память, отводимая под данные (МД). Наиболее существенным обычно является МД. Объём памяти МД, требуемый для хранения данных, можно приблизительно оценить по формуле

,

где li– длина записи в i-й таблице (в байтах), Ni– примерное (максимально возможное) количество записей в i-й таблице, Na– количество записей в архиве i-й таблицы. Коэффициент 2 перед суммой нужен для того, чтобы выделить память для хранения индексов, промежуточных данных, для выполнения объёмных операций (например, сортировки) и т.п.

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

(DESCRIBE | DESC) table [column]

Описывает таблицу или столбец. [column] - строка, он может содержать символы подстановки.

Describe messy # Описать таблицу 'messy'

DESC big my\_% # Показать информацию о всех столбцах таблицы 'big начинающихся с 'mу_'

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

SHOW DATABASES [LIKE wild]

SHOW KEYS FROM table_name

SHOW TABLES [FROM database] [LIKE wild]

SHOW [COLUMNS|FIELDS] FROM table [FROM database] [LIKE wild]

SHOW INDEX FROM table [FROM database]

SHOW COLUMNS FROM table [FROM database] [LIKE clause]

SHOW FIELDS FROM table [FROM database] [LIKE clause]

SHOW STATUS

SHOW TABLE STATUS [FROM database] [LIKE clause]

SHOWVARIABLES[LIKEclause]

Отображает информацию о базе данных MySQL

ПРИМЕР:

mysql> SHOW fields FROM Widget_Table from WidgetDB;

Field

Type

Null

Key

Default

Extra

widget_id

mediumint(8)

PRI

0

auto_increment

widget_name

char(60)

MUL

widget_color_id

mediumint(8)

MUL

0

widget_size_id

mediumint(8)

0

widgets_on_hand

smallint(5)

0

widget_price

float(8,2)

0.00

commission_percent

float(4,2)

0.00

Nullбудет содержатьYES, если это поле может быть равнымNULL,Keyсообщает имеет ли это поле индекс, Default сообщает значение по умолчанию, которое будет назначено этому полю, если там ничего не окажется после выполнения команды INSERT, Extra