Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Otvety_po_BD_29-42.docx
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
510.54 Кб
Скачать

Создание таблиц в бд MySql

Таблицы являются основным механизмом хранения данных. Задать ее структуру можно напрямую запросом либо на основании выборки (в основном для временного хранения). Основные действия над структурой таблицы: добавление/изменение/удаление колонок, изменение типа данных полей. Над информацией содержащийся в таблице - вставка/изменение/удаление строк.

Создание таблиц

Общий синтаксис прямого указания структуры выглядит так:

1

2

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] <имя_таблицы>

[DEFINITION] [TABLE_OPTIONS] [SELECT_STATEMENT]

Значение в квадратных скобках являются не обязательными.

[TEMPORARY] - если указано ключевое слово TEMPORARY, будет создана временная таблица и она будет удалена после окончания сеанса.

[IF NOT EXISTS] - проверка, на существование таблицы с таким же именем.

[DEFINITION] - указывается структура таблицы: имена и типы данных полей, индексы, ключи и пр.

[TABLE_OPTIONS] - дополнительные атрибуты к таблице, так называемые EXTRA параметры: указание движка, генерация суррогатного ключа и пр.

[SELECT_STATEMENT] - поля и их значения в полученные после выборки SELELCT. Это как раз тот случай создания таблиц на основе запросов.

Создадим новую БД с именем test_bd

1

CREATE DATABASE test_bd;

Используем команду USE для выбора базы по умолчанию:

И создадим новую таблицу staff и выполним запрос:

1

2

3

4

5

6

7

8

CREATE TABLE

staff (

id MEDIUMINT NOT NULL AUTO_INCREMENT,

name CHAR(30) NOT NULL,

age SMALLINT(6) NOT NULL,

salary int(15) NOT NULL,

PRIMARY KEY(id)

)

Как видно из запроса, поля назначаются: имя, тип данных, NOT NULL - отсутствие значения недопустимо, AUTO_INCREMENT - автоматическая генерация суррогатных ключей. Только для типа INT и наличия PRIMARY KEY для этого поля.

В PRIMARY KEY указывается первичный ключ, или ключи через запятую.

Обратите внимание, что в последней строке запятая не ставится, он лишь служит для разделения полей.

Таблицы создана. Чтобы просмотреть ее стурктуру, необходимо выполнить команду DESCRIBE или сокращенно DESC

1

DESCRIBE staff;

Изменение структуры таблицы

Добавим новую колонку phone после колонки age. Для этого используется команда ALTER:

1

ALTER TABLE staff ADD phone TINYTEXT NOT NULL AFTER age;

И после этого выполним DESC для просмотра текущей структуры таблицы:

Клонирование структуры таблицы

Для создания полной копии структуры таблицы в новую, используется оператор LIKE:

1

CREATE TABLE employees LIKE staff;

И просмотреть список всех таблиц:

1

SHOW TABLES;

Просмотрите структуру новой таблицы.

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

Ну а удалить таблицу проще пареной репы, ломать не строить, используем оператор DROP TABLE:

1

DROP TABLE employees;

Клонированная таблица удалена.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]