Определение структуры данных

Создание и удаление базы данных

Создание базы данных
Для создания базы данных используется команда CREATE DATABASE. Она имеет следующий синтаксис:


CREATE DATABASE [IF NOT EXISTS] имябазыданых;
В конце команды указывается имя базы данных.

Первая форма CREATE DATABASE имябазыданых пытается создать базу данных, но если такая база данных уже существует, то операция возвратит ошибку.

Вторая форма CREATE DATABASE IF NOT EXISTS имябазыданых пытается создать базу данных, если на сервере отсутствует бд с таким именем.

Например, в MySQL Workbench CE (или в MySQL Command Line Client) выполним следующую команду:


CREATE DATABASE productsdb;
Она создаст на сервере бд productsdb.

Установка базы данных
После создания БД с ней производятся различные операции: создание таблиц, добавление и получение данных и т.д. Но чтобы установить производить эти операции, надо установить определенную базу данных в качестве используемой.

Для этого применяется оператор USE:
USE productsdb;

Удаление базы данных
Для удаления базы данных применяется команда DROP DATABASE, которая имеет следующий синтаксис:


DROP DATABASE [IF EXISTS] имябазыданых;


Первая форма DROP DATABASE имябазыданых пытается удалить базу данных, но если такая база данных отсутствует на сервере, то операция возвратит ошибку.

Вторая форма DROP DATABASE IF EXISTS имябазыданых пытается удалить базу данных, если на сервере имеется бд с таким именем.

Например, удалим выше созданную базу данных productsdb:


DROP DATABASE productsdb;

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

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


Для создания таблиц используется команда CREATE TABLE. Эта команды применяет ряд операторов, которые определяют столбцы таблицы и их атрибуты. Общий формальный синтаксис команды CREATE TABLE:


CREATE TABLE названиетаблицы (названиестолбца1 типданных атрибутыстолбца1,
названиестолбца2 типданных атрибутыстолбца2, ………………………………………… названиестолбцаN типданных атрибутыстолбцаN,
атрибутыуровнятаблицы
)
После команды CREATE TABLE идет название таблицы. Имя таблицы выполняет роль ее идентификатора в базе данных, поэтому оно должно быть уникальным.

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

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

Атрибуты столбцов, а также атрибуты таблицы указывать необязательно.

Создадим простейшую таблицу. Для этого выполним следующий скрипт:


CREATE DATABASE productsdb;

USE productsdb;

CREATE TABLE Customers
(
Id INT,
Age INT,
FirstName VARCHAR(20),
LastName VARCHAR(20)
);


Таблица не может создаваться сама по себе. Она всегда создается в определенной базе данных. Вначале здесь создается база данных productsdb.

И затем, чтобы указать, что все дальнейшие операции, в том числе создание таблицы, будут производиться с этой базой данных, применяется команда USE.

Далее собственно идет создание таблицы, которая называется Customers. Она определяет четыре столбца: Id, Age, FirstName, LastName. Первые два столбца представляют идентификатор клиента и его возраст и имеют тип INT, то есть будут хранить числовые значения. Следующие столбцы представляют имя и фамилию клиента и имеют тип VARCHAR(20), то есть представляют строку длиной не более 20 символов. В данном случае для каждого столбца определены имя и тип данных, при этом атрибуты столбцов и таблицы в целом отсутствуют.

И в результате выполнения этой команды будет создана база данных productsdb, в которой будет создана таблица Customers.

Переименование таблиц
Если после создания таблицы мы захотим ее переименовать, то для этого нужно использовать команду RENAME TABLE, которая имеет следующий синтаксис:


RENAME TABLE староеназвание TO новоеназвание;
Например, переименуем таблицу Customers в Clients:


RENAME TABLE Customers TO Clients;


Полное удаление данных
Для полного удаления данных, очистки таблицы применяется команда TRUNCATE TABLE. Например, очистим таблицу Clients:


TRUNCATE TABLE Clients;


Удаление таблиц
Для удаления таблицы из БД применяется команда DROP TABLE, после которой указывается название удаляемой таблицы. Например, удалим таблицу Clients:

1
DROP TABLE Clients;