
- •29. Типи даних мови sql
- •30. Прості вибірки даних. Основні sql-вирази для вибірки даних.
- •Обчислення в sql.
- •Использование итоговых функций
- •Складні запити. Теоретико-множинні операції: декартовий добток, обєднання наборів записів, перелік, віднімання наборів запитів.
- •Операції об’єднання.
- •Рекурсивні запити.
- •Добавлення, видалення та зміна даних в таблицях.
- •Створення та модифікація таблиць. Створення і модифікація таблиць у режимі Конструктор.
- •Создание таблиц в бд MySql
- •Управління правами доступу. Операторы управления правами доступа.
- •Изменение прав доступа к объектам базы данных
- •Компонент tDataSource
- •Компонент tTable
- •Компонент tField
- •Компонент tdbGrid
- •Компонент Query: загальні відомості, динамічні запити і параметри Query.
- •Параметры Query.
- •Основные свойства Query.
- •Основные методы компонента Query.
- •Основні властивості Query, зв’язування таблиць.
- •Кешування змін, сумісне застосування Query і UpdateSql.
- •Робота з бд в мережі.
- •Режимы работы с базой данных в сети
Создание таблиц в бд 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; |
Клонированная таблица удалена.