MySQL CREATE TABLE
СОЗДАТЬ СТОЛ
MySQL CREATE TABLE используется для создания таблицы в базе данных.
MySQL представляет каждую таблицу файлом формата (определения) таблицы .frm в каталоге базы данных. Механизм хранения может создавать и другие файлы для таблицы. Механизм хранения создает данные и индексные файлы. Таблица для этих файлов выглядит следующим образом
файл | Цель |
---|---|
table_name.frm | Файл формата (определения) файла. |
table_name.MYD | Файл данных. |
table_name.MYI | Индексный файл. |
Версия: MySQL 5.6
Содержание:
Синтаксис:
CREATE [TEMPORARY] TABLE [ЕСЛИ НЕ СУЩЕСТВУЕТ] tbl_name (Create_definition, ...) [table_options] [partition_options]
Или же
CREATE [TEMPORARY] TABLE [ЕСЛИ НЕ СУЩЕСТВУЕТ] tbl_name [(Create_definition, ...)] [table_options] [partition_options] select_statement
Или же
CREATE [TEMPORARY] TABLE [ЕСЛИ НЕ СУЩЕСТВУЕТ] tbl_name {НРАВИТСЯ old_tbl_name | (LIKE old_tbl_name)} create_definition: col_name column_definition | [CONSTRAINT [символ]] ПЕРВИЧНЫЙ КЛЮЧ [index_type] (index_col_name, ...) [index_option] ... | {INDEX | KEY} [index_name] [index_type] (index_col_name, ...) [index_option] ... | [ОГРАНИЧЕНИЕ [символ]] УНИКАЛЬНЫЙ [ИНДЕКС | КЛЮЧ] [index_name] [index_type] (index_col_name, ...) [index_option] ... | {FULLTEXT | SPATIAL} [INDEX | KEY] [index_name] (index_col_name, ...) [index_option] ... | [ОГРАНИЧЕНИЕ [символ]] ИНОСТРАННЫЙ КЛЮЧ [index_name] (index_col_name, ...) ссылка_определение | ПРОВЕРИТЬ (expr) column_definition: data_type [NOT NULL | NULL] [DEFAULT default_value] [AUTO_INCREMENT] [УНИКАЛЬНЫЙ [КЛЮЧ] | [ОСНОВНОЙ КЛЮЧ] [КОММЕНТАРИЙ 'строка'] [COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}] [ХРАНЕНИЕ {ДИСК | ПАМЯТЬ | ПО УМОЛЧАНИЮ}] [Reference_definition] тип данных: БИТ [(длина)] | TINYINT [(длина)] [НЕ ПОДПИСАНО] [ZEROFILL] | SMALLINT [(длина)] [НЕ ПОДПИСАНО] [ZEROFILL] | MEDIUMINT [(длина)] [НЕ ПОДПИСАНО] [ZEROFILL] | INT [(длина)] [НЕ ПОДПИСАНО] [ZEROFILL] | INTEGER [(длина)] [НЕ ПОДПИСАНО] [ZEROFILL] | BIGINT [(длина)] [НЕ ПОДПИСАНО] [ZEROFILL] | НАСТОЯЩИЙ [(длина, десятичные дроби)] [НЕ ПОДПИСАНО] [ZEROFILL] | DOUBLE [(длина, десятичные дроби)] [НЕ ПОДПИСАНО] [ZEROFILL] | FLOAT [(длина, десятичные дроби)] [НЕ ПОДПИСАНО] [ZEROFILL] | DECIMAL [(длина [, десятичные дроби])] [НЕ ПОДПИСАНО] [ZEROFILL] | ЧИСЛЕННОЕ [(длина [, десятичные дроби])] [НЕ ПОДПИСАНО] [ZEROFILL] | ДАТА | ВРЕМЯ | TIMESTAMP | DATETIME | ГОД | СИМ [(длина)] [CHARACTER SET charset_name] [COLLATE collation_name] | УАКСНАК (длина) [CHARACTER SET charset_name] [COLLATE collation_name] | БИНАРНЫЙ [(длина)] | VARBINARY (длина) | TINYBLOB | большой двоичный объект | MEDIUMBLOB | LONGBLOB | TINYTEXT [BINARY] [CHARACTER SET charset_name] [COLLATE collation_name] | Текст [Двоичный] [CHARACTER SET charset_name] [COLLATE collation_name] | MEDIUMTEXT [БИНАРНЫЙ] [CHARACTER SET charset_name] [COLLATE collation_name] | LONGTEXT [BINARY] [CHARACTER SET charset_name] [COLLATE collation_name] | ENUM (значение1, значение2, value3, ...) [CHARACTER SET charset_name] [COLLATE collation_name] | SET (значение1, значение2, value3, ...) [CHARACTER SET charset_name] [COLLATE collation_name] | spatial_type index_col_name: col_name [(длина)] [ASC | DESC] index_type: USING {BTREE | HASH} index_option: KEY_BLOCK_SIZE [=] значение | index_type | С PARSER имя_парсера | КОММЕНТАРИЙ 'Строка' reference_definition: ССЫЛКИ tbl_name (index_col_name, ...) [МАТЧ ПОЛНЫЙ | Частичный матч | МАТЧ ПРОСТО] [ON DELETE reference_option] [НА ОБНОВЛЕНИИ reference_option] reference_option: ОГРАНИЧЕНИЕ | КАСКАД | SET NULL | БЕЗДЕЙСТВИЕ table_options: table_option [[,] table_option] ... table_option: ДВИГАТЕЛЬ [=] engine_name | AUTO_INCREMENT [=] значение | AVG_ROW_LENGTH [=] значение | [ПО УМОЛЧАНИЮ] CHARACTER SET [=] charset_name | CHECKSUM [=] {0 | 1} | [ПО УМОЛЧАНИЮ] COLLATE [=] collation_name | КОММЕНТАРИЙ [=] 'строка' | CONNECTION [=] 'connect_string' | DATA DIRECTORY [=] 'абсолютный путь к каталогу' | DELAY_KEY_WRITE [=] {0 | 1} | INDEX DIRECTORY [=] 'абсолютный путь к каталогу' | INSERT_METHOD [=] {NO | ПЕРВЫЙ | ПРОШЛОЙ } | KEY_BLOCK_SIZE [=] значение | MAX_ROWS [=] значение | MIN_ROWS [=] значение | PACK_KEYS [=] {0 | 1 | ДЕФОЛТ} | ПАРОЛЬ [=] 'строка' | ROW_FORMAT [=] {DEFAULT | DYNAMIC | FIXED | COMPRESSED | REDUNDANT | COMPACT} | STATS_AUTO_RECALC [=] {DEFAULT | 0 | 1} | STATS_PERSISTENT [=] {ПО УМОЛЧАНИЮ | 0 | 1} | STATS_SAMPLE_PAGES [=] значение | TABLESPACE tablespace_name [STORAGE {DISK | MEMORY | DEFAULT}] | UNION [=] (табличное имя [, табличное имя] ...) partition_options: PARTITION BY {[LINEAR] HASH (expr) | [LINEAR] KEY [ALGORITHM = {1 | 2}] (column_list) | RANGE {(expr) | КОЛОННЫ (список_столбцов)} | LIST {(expr) | COLUMNS (column_list)}} [PARTITIONS num] [ПОДРАЗДЕЛЕНИЕ ПО {[LINEAR] HASH (expr) | [LINEAR] KEY [ALGORITHM = {1 | 2}] (column_list)} [ПОДРАЗДЕЛЕНИЯ num] ] [(определение_раздела [, определение_раздела] ...)] partition_definition: PARTITION имя_раздела [ЦЕННОСТИ {МЕНЬШЕ, ЧЕМ {(expr | value_list) | MAXVALUE} | IN (список_значений)}] [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'comment_text'] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [NODEGROUP [=] node_group_id] [(subpartition_definition [, subpartition_definition] ...)] subpartition_definition: ПОДРАЗДЕЛЕНИЕ логическое_имя [[STORAGE] ENGINE [=] engine_name] [COMMENT [=] 'comment_text'] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] tablespace_name] [NODEGROUP [=] node_group_id] select_statement: [ИГНОР | ЗАМЕНИТЕ] [КАК] ВЫБРАТЬ ... (Некоторое допустимое утверждение выбора)
аргументы
название | Описание |
---|---|
ВРЕМЕННОЕ | Ключевое слово TEMPORARY может быть использовано для создания таблицы. Таблица TEMPORARY видна только текущему соединению и автоматически удаляется при закрытом соединении. Для создания временных таблиц необходимо иметь привилегию CREATE TEMPORARY TABLES. |
ЕСЛИ НЕ СУЩЕСТВУЕТ | Ключевые слова IF NOT EXISTS предотвращают возникновение ошибки, если таблица существует. |
tbl_name | название стола |
ЛАЙК | Ключевое слово LIKE используется для создания пустой таблицы на основе определения другой таблицы, включая любые атрибуты столбцов и индексы, определенные в исходной таблице. Если исходная таблица является ВРЕМЕННОЙ, CREATE TABLE ... LIKE не сохраняет ВРЕМЕННЫЕ. LIKE работает только для базовых таблиц, а не для представлений. |
определение create_:
название | Описание |
---|---|
CONSTRAINT | CONSTRAINT используется для определения правил, разрешающих или ограничивающих значения, которые можно хранить в столбцах. |
ОСНОВНОЙ КЛЮЧ | PRIMARY KEY - это уникальный индекс, в котором все ключевые столбцы должны быть определены как NOT NULL. Если не объявлять, MySQL объявляет их так неявно. Таблица может иметь только один ПЕРВИЧНЫЙ КЛЮЧ. |
ИНДЕКС | KEY | KEY обычно является синонимом INDEX |
УНИКАЛЬНАЯ | Индекс UNIQUE создает ограничение, в котором все значения в индексе должны быть различны. При попытке добавить новую строку со значением ключа, совпадающим с существующей строкой, возникает ошибка. |
ПОЛНЫЙ ТЕКСТ | Индексы FULLTEXT, используются для полнотекстового поиска. Только механизм хранения MyISAM поддерживает индексы FULLTEXT. Они могут быть созданы только из столбцов CHAR, VARCHAR и TEXT. Индексирование всегда происходит по всему столбцу; Индексирование префикса столбца не поддерживается, и любая длина префикса игнорируется, если указано. |
ПРОСТРАНСТВЕННО | Пространственные индексы могут быть созданы для пространственных типов данных. Пространственные типы поддерживаются только для таблиц MyISAM, а индексированные столбцы должны быть объявлены как NOT NULL. |
ИНОСТРАННЫЙ КЛЮЧ | Таблицы InnoDB и NDB поддерживают проверку ограничений внешнего ключа. Столбцы ссылочной таблицы всегда должны иметь явное имя. Функции ON DELETE и ON UPDATE для внешних ключей. |
ПРОВЕРЯТЬ | Для других механизмов хранения MySQL Server анализирует и игнорирует синтаксис FOREIGN KEY и REFERENCES в инструкциях CREATE TABLE, кроме InnoDB и NDB. Предложение CHECK анализируется, но игнорируется всеми механизмами хранения. |
определение_столбца: тип_данных:
название | Описание |
---|---|
НЕ НУЛЬ | НОЛЬ | Если не указано ни NULL, ни NOT NULL, столбец обрабатывается так, что было указано NULL. |
ДЕФОЛТ | ПО УМОЛЧАНИЮ не распространяется на типы BLOB или TEXT. |
АВТОМАТИЧЕСКОЕ ПРИРАЩЕНИЕ | AUTO_INCREMENT применяется только к целочисленным типам и типам с плавающей точкой. Когда вы вставляете значение NULL или 0 в индексированный столбец AUTO_INCREMENT, столбцу присваивается следующее значение последовательности, и это значение + 1, где значение является наибольшим значением для столбца, который в данный момент находится в таблице. Последовательности AUTO_INCREMENT начинаются с 1. В каждой таблице может быть только один столбец AUTO_INCREMENT, он должен быть проиндексирован и не может иметь значение DEFAULT. Столбец AUTO_INCREMENT работает правильно, только если он содержит только положительные значения. Для таблиц MyISAM можно указать дополнительный столбец AUTO_INCREMENT в ключе из нескольких столбцов. |
КОММЕНТАРИЙ | Комментарий к столбцу можно указать с помощью опции COMMENT, длиной до 1024 символов. |
COLUMN_FORMAT | В MySQL Cluster формат хранения данных может быть указан для отдельных столбцов таблиц NDB с помощью COLUMN_FORMAT. Значением по умолчанию для COLUMN_FORMAT для таблиц NDB является DEFAULT. Ключевое слово COLUMN_FORMAT поддерживается только в сборке MySQLd, которая поставляется с MySQL Cluster; он не распознается ни в одной другой версии MySQL. |
МЕСТО ХРАНЕНИЯ | Для таблиц NDB можно указать, будет ли столбец храниться на диске или в памяти, используя предложение STORAGE. Причины ХРАНЕНИЯ ДИСКА столбец может быть сохранен на диске, и ПАМЯТЬ ХРАНЕНИЯ вызывает использование памяти в памяти. ХРАНЕНИЕ ПО УМОЛЧАНИЮ эквивалентно ПАМЯТИ ХРАНЕНИЯ для таблиц NDB. Предложение STORAGE не влияет на таблицы, использующие механизмы хранения, отличные от NDB. |
index_col_name:
название | Описание |
---|---|
col_name | Наименование столбца |
длина | Длина колонны |
ASC | Порядок сортировки по возрастанию. |
DESC | Порядок сортировки по убыванию. |
index_type:
название | Описание |
---|---|
С ПОМОЩЬЮ | Некоторые механизмы хранения позволяют указывать объявление типа индекса во время создания индекса, а синтаксис для спецификатора index_type - ИСПОЛЬЗОВАНИЕ type_name. До MySQL 5.1.10 ИСПОЛЬЗОВАНИЕ может быть дано только перед списком столбцов индекса. |
index_option:
название | Описание |
---|---|
KEY_BLOCK_SIZE | В случае сжатой таблицы InnoDB размер может быть указан в килобайтах (что необязательно) для использования на страницах. Значение 0 указывает размер сжатой страницы по умолчанию. |
С парсером | Предложение WITH PARSER может быть указано в качестве значения index_option, чтобы связать плагин синтаксического анализатора с индексом, когда полнотекстовая индексация и операции поиска требуют специальной обработки. Предложение WITH PARSER действительно только для индексов FULLTEXT. |
ссылка _definition:
название | Описание |
---|---|
РЕКОМЕНДАЦИИ | Предложения REFERENCES используются только в том случае, если они указаны как часть отдельной спецификации FOREIGN KEY. |
table_options:
название | Описание |
---|---|
ДВИГАТЕЛЬ. | В MySQL механизмы хранения - это такие компоненты, которые обрабатывают операции SQL для разных типов таблиц. Одним из наиболее универсальных хранилищ данных является InnoDB. |
AVG_ROW_LENGTH | Примерное значение средней длины строки для таблицы, используемой в MySQL. Требуется установить это только для больших таблиц со строками переменного размера. Когда таблица MyISAM создана, MySQL использует продукт опций MAX_ROWS и AVG_ROW_LENGTH, чтобы решить, насколько большой может быть полученная таблица. Если не указать ни один из параметров, максимальный размер файлов данных и индексов MyISAM по умолчанию составляет 256 ТБ. |
НАБОР СИМВОЛОВ | CHARSET - это синоним CHARACTER SET. Если имя набора символов - DEFAULT, используется набор символов базы данных. |
СУММА | Если значение CHECKSUM установлено в 1, MySQL поддерживает текущую контрольную сумму для всех строк, т.е. MySQL обновляет таблицу автоматически при ее изменении. Хотя это немного замедляет обновление таблицы, но также облегчает поиск поврежденных таблиц. |
СОРТИРОВКА | Укажите параметры сортировки по умолчанию для таблицы. |
ПОДКЛЮЧЕНИЕ | Строка подключения для таблицы FEDERATED. |
СПРАВОЧНИК ДАННЫХ | Используя предложение DATA DIRECTORY, вы поймете, что, где механизм хранения InnoDB помещает файл табличного пространства .ibd для новой таблицы. |
DELAY_KEY_WRITE | Установите это значение в 1, когда необходимо отложить обновление ключей для таблицы до тех пор, пока таблица не будет закрыта. |
ИНДЕКС КАТАЛОГ | Во время создания таблиц MyISAM можно использовать предложение INDEX DIRECTORY, чтобы узнать, куда поместить индексный файл таблицы MyISAM. |
INSERT_METHOD | Когда необходимо вставить данные в таблицу MERGE, вы должны указать INSERT_METHOD, таблицу, в которую должна быть вставлена строка. INSERT_METHOD - это опция, которая полезна только для таблиц MERGE. |
MAX_ROWS, MIN_ROWS | Максимальное количество строк, которое вы планируете хранить в таблице. Это не жесткое ограничение, а скорее подсказка для механизма хранения, что таблица должна иметь возможность хранить как минимум столько строк. MAX_ROWS и MIN_ROWS могут использоваться для указания, соответственно, максимального и минимального количества строк, которые должны быть сохранены в разделе. Значения для максимального количества строк и минимального количества строк должны быть положительными целыми числами. |
PACK_KEYS | Эффект PACK_KEYS обнаруживается только в таблицах MyISAM. Когда мы хотим иметь меньшие индексы, установите для параметра PACK_KEYS значение 1, и этот параметр обычно замедляет обновления и читает быстрее. Если мы установим опцию на 0, это отключит всю упаковку ключей. Параметр DEFAULT указывает подсистеме хранения упаковывать только длинные столбцы CHAR, VARCHAR, BINARY или VARBINARY. По умолчанию он упаковывает строки, а не числа, если мы не используем PACK_KEYS. Если мы используем значение PACK_KEYS, равное 1, числа также упаковываются. |
ROW_FORMAT | Определяет физический формат, в котором хранятся строки. Выбор зависит от механизма хранения, используемого для таблицы. Для таблицы InnoDB, по умолчанию. строки хранятся в компактном формате, т.е. ROW_FORMAT = COMPACT. В случае таблиц MyISAM значение параметра может быть FIXED или DYNAMIC для статического формата или формата строки переменной длины. |
STATS_AUTO_RECALC | Указывает, следует ли автоматически пересчитывать постоянную статистику для таблицы InnoDB. Значение DEFAULT отвечает за настройку постоянной статистики для таблицы, которая определяется параметром конфигурации innodb_stats_auto_recalc. Значение, равное 1, определяет статистику, которая будет пересчитываться при изменении 10% данных в таблице. Значение 0 запрещает автоматический пересчет для этой таблицы; с этой настройкой. |
STATS_PERSISTENT | Указывает, следует ли включить постоянную статистику для таблицы InnoDB. Значение DEFAULT отвечает за настройку постоянной статистики для таблицы, которая определяется параметром конфигурации innodb_stats_persistent. Значение 1 включает постоянную статистику для таблицы, а значение 0 отключается. |
STATS_SAMPLE_PAGES | Число страниц индекса для выборки при оценке количества элементов и других статистических данных для индексированного столбца, например, рассчитанных с помощью таблицы ANALYZE TABLE. |
UNION | UNION используется, когда мы хотим получить доступ к коллекции идентичных таблиц MyISAM как одной. Это работает только с таблицами MERGE. |
Ограничения на размер таблицы MySQL
Максимальный размер таблицы для баз данных MySQL определяется ограничениями операционной системы для размеров файлов, а не внутренними ограничениями MySQL. В следующей таблице приведены некоторые примеры ограничений размера файлов операционной системы.
Операционная система | Предел размера файла |
---|---|
Win32 с FAT / FAT32 | 2GB / 4GB |
Win32 с NTFS | 2 ТБ (возможно, больше) |
Linux 2.2-Intel 32-bit | 2 ГБ (LFS: 4 ГБ) |
Linux 2.4+ | (с использованием файловой системы ext3) 4 ТБ |
Солярис 9/10 | 16TB |
Mac OS X с HFS + | 2TB |
Для получения актуальной информации, проверьте документацию вашей операционной системы.
Ограничения на количество столбцов таблицы MySQL и размер строки
Вы можете создать максимум 4096 столбцов в таблице, но эффективный максимум может быть меньше для данной таблицы. Точное число зависит от нескольких взаимодействующих факторов.
- Вы можете создать максимум 4096 столбцов в таблице, но эффективный максимум может быть меньше для данной таблицы. Точное число зависит от нескольких взаимодействующих факторов.
- Отдельные механизмы хранения могут накладывать дополнительные ограничения, ограничивающие количество столбцов таблицы. Например, InnoDB разрешает до 1000 столбцов.
- Каждая таблица имеет максимальный размер строки 65 535 байт.
- Механизмы хранения могут накладывать дополнительные ограничения на этот предел, уменьшая эффективный максимальный размер строки.
MySQL DESCRIBE заявление
Оператор MySQL DESCRIBE используется для отображения структуры созданной таблицы.
Синтаксис:
DESCRIBE [имя_таблицы];
Следующая инструкция отобразит структуру данной таблицы.
DESCRIBE publisher;
Пример вывода:
MySQL> ОПИСАТЬ издателя; + ---------------- + ------------- + ------ + ----- + ----- ------- + ------- + | Поле | Тип | Null | Ключ | По умолчанию | Extra | + ---------------- + ------------- + ------ + ----- + ----- ------- + ------- + | pub_id | varchar (8) | НЕТ | PRI | | | | pub_name | Варчар (50) | НЕТ | | | | | pub_city | Варчар (25) | НЕТ | | | | | страна | Варчар (25) | НЕТ | | | | | country_office | Варчар (25) | НЕТ | | | | | no_of_branch | int (3) | НЕТ | | 0 | | | есть | дата | НЕТ | | 0000-00-00 | | + ---------------- + ------------- + ------ + ----- + ----- ------- + ------- + 7 рядов в наборе (0,00 сек)
PHP скрипт
<?php
include('dbopen.php');
$sql = "DESCRIBE publisher";
$result = MySQL_query($sql);
echo "<table>";
echo "<h2>Structure of publisher table : </h2>";
echo "<table border='1' style='border-collapse: collapse;border-color: silver;'>";
echo "<tr style='font-weight: bold;'>";
echo "<td width='100' align='center'>Field</td>";
echo "<td width='100' align='center'>Type</td>";
echo "<td width='100' align='center'>Null</td>";
echo "<td width='100' align='center'>key</td>";
echo "<td width='100' align='center'>Default</td>";
echo "<td width='100' align='center'>Extra</td>";
echo "</tr>";
while($row = MySQL_fetch_array($result))
{
echo "<tr>";
echo "<td align='center'>" . $row['Field'] . "</td>";
echo "<td align='center'>" . $row['Type'] . "</td>";
echo "<td align='center'>" . $row['Null'] . "</td>";
echo "<td align='center'>" . $row['key'] . "</td>";
echo "<td align='center'>" . $row['Default'] . "</td>";
echo "<td align='center'>" . $row['Extra'] . "</td>";
echo "</tr>";
}
echo "</table>";
?>
Примеры: MySQL CREATE TABLE
Следующий оператор создаст таблицу 'NewPublisher', в которой есть следующие столбцы:
CREATE TABLE publisher(
pub_id varchar(8),
pub_name varchar(50),
pub_city varchar(25),
country varchar(25),
country_office varchar(25)
no_of_branch int(3),
estd date);
PHP скрипт
<?php
include('dbopen.php');
$result = MySQL_query("CREATE TABLE NewPublisher(
pub_id varchar(8),
pub_name varchar(50),
pub_city varchar(25),
country varchar(25),
country_office varchar(25),
no_of_branch int(3),
estd date)");
$sql1 = "SHOW TABLES FROM bookinfo";
$result1 = MySQL_query($sql1);
while($row1=MySQL_fetch_array($result1))
{
echo "<table>";
echo "<tr>";
echo "<td align='center'>" . $row1['Tables_in_bookinfo'] . "</td>";
echo "</tr>";
echo "</table>";
}
?>
MySQL CREATE TABLE, когда не существует
Ключевые слова IF NOT EXISTS используются для предотвращения возникновения ошибки, если таблица существует. Ключевые слова IF NOT EXISTS не будут проверять, имеет ли существующая таблица ту же структуру, которая указана в операторе CREATE TABLE. Следующий оператор создает таблицу newauthor, если таблица 'newauthor' не существует со следующим именем столбца, типом, длиной и значением по умолчанию -
CREATE TABLE IF NOT EXISTS newauthor
(aut_id varchar(8),
aut_name varchar(50),
country varchar(25),
home_city varchar(25) NULL);
MySQL CREATE с LIKE или копировать структуру таблицы
MySQL позволяет вам создать таблицу, идентичную другой, используя LIKE. Следующая инструкция MySQL создаст таблицу author_copy, структура которой идентична таблице author.
Пример таблицы: автор
CREATE TABLE author_copy LIKE author;
MySQL CREATE TABLE с помощью SELECT или скопировать таблицу
MySQL AS SELECT позволяет вам копировать данные (выборочные или итоговые) или структуру таблицы в новую таблицу. Следующая инструкция MySQL создаст новую таблицу author_copy с той же структурой и данными таблицы author.
CREATE TABLE author_copy
AS SELECT *
FROM author;
MySQL CHARACTER SET в CREATE TABLE
MySQL использует таблицы CHARACTER SET и COLLATION в качестве значений по умолчанию для определений столбцов, если набор символов указан при определении столбца. Следующая инструкция MySQL создаст таблицу «mytale1» с использованием таблиц CHARACTER SET и COLLATION.
CREATE TABLE mytable1 (col1 VARCHAR(20) CHARACTER SET utf8,
col2 TEXT CHARACTER SET latin1 COLLATE latin1_general_cs );
MySQL CREATE TABLE с набором двоичных символов
При создании таблицы в MySQL с использованием двоичного файла CHARACTER SET вы можете определить, что набор символов для столбца будет двоичным. Следующая инструкция MySQL создаст таблицу 'mytale2', используя CHARACTER SET в качестве двоичного файла.
CREATE TABLE mytable2 ( col1 VARCHAR(10) CHARACTER SET binary,
col2 TEXT CHARACTER SET binary,
col3 ENUM('a','b','c') CHARACTER SET binary );
MySQL CREATE TABLE с набором BLOB-символов
При создании таблицы в MySQL, используя BLOB после имени столбца, вы можете определить, что набор символов для столбца будет BLOB. Следующая инструкция MySQL создаст таблицу «mytale3» с использованием двоичного файла CHARACTER SET и BLOB.
CREATE TABLE mytable3
(col1 VARBINARY(10), col2 BLOB,
col3 ENUM('a','b','c') CHARACTER SET binary );
MySQL CREATE TABLE с типом данных ENUM
При создании таблицы в MySQL, используя ENUM после имени столбца, вы можете указать, что набор символов для столбца будет перечисляться. Следующая инструкция MySQL создаст таблицу «testtable» с использованием типа данных ENUM.
CREATE TABLE testtable(book_lang ENUM('english', 'german','french') );
MySQL CREATE TABLE с определенным типом данных
При создании таблицы в MySQL с использованием определенного имени типа данных, следующего за именем столбца, вы можете определить набор символов для столбца. Следующая инструкция MySQL создаст таблицу 'testtable', используя указанный тип данных.
CREATE TABLE testtable ( string1 VARCHAR(4), string2 CHAR(4));
Смотрите также: MySQL DROP таблица
Предыдущий: Базы данных MySQL
Далее: загрузка данных в таблицу и использование ограничителя строки
Новый контент: Composer: менеджер зависимостей для PHP , R программирования