Таблица используется для хранения записей (данных). Для создания таблицы в базе данных используется оператор CREATE TABLE. Например:
1 2 3 4 5 6 7 |
CREATE TABLE Companies ( id int, name varchar(50), address text, email varchar(50), phone varchar(10) ); |
Здесь мы создаем таблицу с именем Companies. Таблица содержит столбцы (поля) id, name, address, email и phone.
Типы int
, varchar(50)
и text
указывают, какие данные могут храниться в этих полях.
Тип данных | Описание | Пример |
int | Содержит целые числа. | 500, -200. |
varchar(x) | Содержит символьные переменные с максимальной длиной x. | Tom Yam, System Update for Windows. |
text | Содержит текст до 65 535 символов. | A computer program is a set of instructions that the computer can perform in order to perform some task. |
Примечание: Мы должны явно указывать типы данных для каждого столбца при создании таблицы.
CREATE TABLE IF NOT EXISTS
Оператор CREATE TABLE IF NOT EXISTS используется для создания таблицы, если такой (с указанным именем) не существует на момент выполнения команды. Например:
1 2 3 4 5 6 7 |
CREATE TABLE IF NOT EXISTS Companies ( id int, name varchar(50), address text, email varchar(50), phone varchar(10) ); |
Здесь мы создаем таблицу с именем Companies, если такой не существует на момент выполнения команды.
CREATE TABLE AS
Мы также можем создать таблицу, используя записи из любой другой существующей таблицы, используя команду CREATE TABLE AS. Например:
1 2 3 4 5 6 |
CREATE TABLE JapanCustomers AS ( SELECT * FROM Customers WHERE country = 'Japan' ); |
Здесь мы создаем таблицу с именем JapanCustomers и копируем в нее записи из вложенного запроса.
Как создать таблицу с первичным ключом (Primary Key)?
Для создания таблицы с первичным ключом используется следующая команда:
MySQL
1 2 3 4 5 6 7 8 |
CREATE TABLE Companies ( id int, name varchar(50), address text, email varchar(50), phone varchar(10), PRIMARY KEY (id) ); |
Oracle и SQL Server
1 2 3 4 5 6 7 |
CREATE TABLE Companies ( id int NOT NULL PRIMARY KEY, name varchar(50), address text, email varchar(50), phone varchar(10) ); |
Как задать ограничения при создании таблицы?
Мы также можем добавлять различные типы ограничений при создании таблицы. Например:
1 2 3 4 5 6 7 |
CREATE TABLE Companies ( id int NOT NULL, name varchar(50) NOT NULL, address text, email varchar(50) NOT NULL, phone varchar(10) ); |
Здесь ограничение NOT NULL
добавляется к столбцам id, name и email. Это означает, что данные столбцы не могут быть пустыми (NULL
).
Примечание: Иногда ограничения зависят от систем управления базами данных (СУБД), т.е. ключевые слова могут отличаться в разных СУБД.