CREATE TABLE
MySQL CREATE TABLE используется для создания таблицы в базе данных.
MySQL представляет каждую таблицу в формате таблицы .frm (определение ) в каталоге базы данных. Механизм хранения может также создавать другие файлы для таблицы. Механизм хранения создает файлы данных и индексные файлы. Таблица для этих файлов выглядит следующим образом
File | Цель |
---|---|
table_name.frm | Файл (определение) формата таблицы. |
table_name.MYD | Файл данных. |
table_name.MYI | Индексный файл. |
Версия: MySQL 5.6
Содержание:
- Синтаксис создания таблиц MySQL
- Ограничения на размер таблицы MySQL
- Ограничения на количество столбцов таблицы MySQL и размер строки
- Оператор MySQL DESCRIBE
- Различные примеры: MySQL CREATE TABLE
Синтаксис :
СОЗДАТЬ [ВРЕМЕННУЮ] ТАБЛИЦУ [ЕСЛИ НЕ СУЩЕСТВУЕТ] tbl_name (create_definition, ...) [table_options] [partition_options]
Или
СОЗДАТЬ [ВРЕМЕННУЮ] ТАБЛИЦУ [ЕСЛИ НЕ СУЩЕСТВУЕТ] имя_таблицы [(create_definition, ...)] [table_options] [partition_options] select_statement
Или
СОЗДАТЬ [ВРЕМЕННУЮ] ТАБЛИЦУ [ЕСЛИ НЕ СУЩЕСТВУЕТ] имя_таблицы {LIKE old_tbl_name | (КАК old_tbl_name)} create_definition: col_name определение_столбца | [ОГРАНИЧЕНИЕ [символ]] ПЕРВИЧНЫЙ КЛЮЧ [index_type] (index_col_name, ...) [index_option] ... | {ИНДЕКС | КЛЮЧ} [имя_индекса] [тип_индекса] (имя_столбца_индекса, ...) [параметр_индекса] ... | [ОГРАНИЧЕНИЕ [символ]] УНИКАЛЬНЫЙ [ИНДЕКС | КЛЮЧ] [имя_индекса] [тип_индекса] (имя_колонки_индекса, ...) [параметр_индекса] ... | {FULLTEXT | SPATIAL} [ИНДЕКС | КЛЮЧ] [имя_индекса] (имя_колебания_индекса, ...) [параметр_индекса] ... | [ОГРАНИЧЕНИЕ [символ]] ИНОСТРАННЫЙ КЛЮЧ [index_name] (index_col_name, ... ) reference_definition | ПРОВЕРИТЬ (выражение) определение_столбца: тип_данных [NOT NULL | NULL] [DEFAULT default_value] [AUTO_INCREMENT] [UNIQUE [KEY] | [ОСНОВНОЙ] КЛЮЧ] [КОММЕНТАРИЙ 'строка'] [COLUMN_FORMAT {FIXED | DYNAMIC | DEFAULT}] [STORAGE {DISK | MEMORY | DEFAULT}] [reference_definition] data_type: BIT [(длина)] | TINYINT [(длина)] [НЕ ПОДПИСАНО] [ZEROFILL] | SMALLINT [(длина)] [НЕ ПОДПИСАНО] [ZEROFILL] | MEDIUMINT [(длина)] [НЕ ПОДПИСАНО] [ZEROFILL] | INT [(длина)] [НЕ ПОДПИСАНО] [ZEROFILL] | ЦЕЛОЕ [(длина)] [НЕ ПОДПИСАНО] [ZEROFILL] | BIGINT [(длина)] [НЕ ПОДПИСАНО] [ZEROFILL] | REAL [(длина, десятичные числа)] [UNSIGNED] [ZEROFILL] | ДВОЙНОЙ [(длина, десятичные числа)] [НЕ ПОДПИСАНО] [ZEROFILL] | FLOAT [(длина, десятичные числа)] [НЕ ПОДПИСАНО] [ZEROFILL] | DECIMAL [(длина [, десятичные знаки])] [UNSIGNED] [ZEROFILL] | ЧИСЛО [(длина [, десятичные знаки])] [НЕ ПОДПИСАНО] [ZEROFILL] | ДАТА | ВРЕМЯ | TIMESTAMP | СРОК | ГОД | СИМВОЛ [(длина)] [НАБОР СИМВОЛОВ charset_name] [COLLATE collation_name] | VARCHAR (длина) [CHARACTER SET charset_name] [COLLATE collation_name] | ДВОИЧНЫЙ [(длина)] | VARBINARY (длина) | TINYBLOB | BLOB | MEDIUMBLOB | LONGBLOB | TINYTEXT [BINARY] [CHARACTER SET charset_name] [COLLATE collation_name] | ТЕКСТ [ДВОИЧНЫЙ] [НАБОР СИМВОЛОВ charset_name] [COLLATE collation_name] | СРЕДНИЙ ТЕКСТ [ДВОИЧНЫЙ] [НАБОР СИМВОЛОВ charset_name] [COLLATE collation_name] | LONGTEXT [BINARY] [CHARACTER SET charset_name] [COLLATE collation_name] | ENUM (значение1, значение2, значение3, ...) [НАБОР СИМВОЛОВ charset_name] [COLLATE collation_name] | SET (значение1, значение2, значение3, ...) [CHARACTER SET charset_name] [COLLATE collation_name] | пространственный_типindex_col_name: col_name [(длина)] [ASC | DESC] index_type: USING {BTREE | HASH} параметр_индекса: KEY_BLOCK_SIZE [=] значение | index_type | WITH PARSER имя_парсера | КОММЕНТАРИЙ 'строка определение_ссылки: ССЫЛКИ имя_таблицы (имя_индекса, ...) [СООТВЕТСТВИЕ ПОЛНОМ | ЧАСТИЧНЫЙ МАТЧ | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option] reference_option: RESTRICT | КАСКАД | SET NULL | НЕТ ДЕЙСТВИЯ table_options: table_option [[,] table_option] ... table_option: ENGINE [=] имя_двигателя | AUTO_INCREMENT [=] значение | AVG_ROW_LENGTH [=] значение | [ПО УМОЛЧАНИЮ] НАБОР СИМВОЛОВ [=] charset_name | КОНТРОЛЬНАЯ СУММА [=] {0 | 1} | [ПО УМОЛЧАНИЮ] COLLATE [=] collation_name | КОММЕНТАРИЙ [=] 'строка' | ПОДКЛЮЧЕНИЕ [=] 'connect_string' | DATA DIRECTORY [=] 'абсолютный путь к каталогу' | DELAY_KEY_WRITE [=] {0 | 1} | ИНДЕКС КАТАЛОГ [=] 'абсолютный путь к каталогу' | INSERT_METHOD [=] {НЕТ | ПЕРВЫЙ | ПОСЛЕДНИЙ} | 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 [=] {DEFAULT | 0 | 1} | STATS_SAMPLE_PAGES [=] значение | TABLESPACE имя_табличного пространства [STORAGE {DISK | MEMORY | DEFAULT}] | СОЮЗ [=] (имя_таблицы [, имя_таблицы] ... ) partition_options: РАЗДЕЛЕНИЕ ПО {[ЛИНЕЙНОМ] ХЕШУ (выражение) | [ЛИНЕЙНЫЙ] КЛЮЧ [АЛГОРИТМ = {1 | 2}] (список_столбцов) | ДИАПАЗОН {(выражение) | COLUMNS (column_list)} | СПИСОК {(выражение) | COLUMNS (column_list)}} [PARTITIONS num] [ПОДРАЗДЕЛЕНИЕ ПО {[LINEAR] HASH (expr) | [ЛИНЕЙНЫЙ] КЛЮЧ [АЛГОРИТМ = {1 | 2}] (список_столбцов)} [ПОДРАЗДЕЛЕНИЯ число]] [(определение_раздела [, определение_раздела] ...)] определение_раздела: РАЗДЕЛ имя_раздела [ЗНАЧЕНИЯ {МЕНЬШЕ {(выражение | список_значений) | MAXVALUE} | IN (список_значений)}] [[STORAGE] ENGINE [=] имя_двигателя] [COMMENT [=] 'comment_text'] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] имя_табличного_пространства] [NODEGROUP [=] node_group_id] [(subpartition_definition [, subpartition_definition] ...)] subpartition_definition: ENGINE_INAGE [ENGINE] КОММЕНТАРИЙ [=] 'comment_text'] [DATA DIRECTORY [=] 'data_dir'] [INDEX DIRECTORY [=] 'index_dir'] [MAX_ROWS [=] max_number_of_rows] [MIN_ROWS [=] min_number_of_rows] [TABLESPACE [=] имя_табличного_пространства] NODEGROUP [=] node_group_id] select_statement: [IGNORE | REPLACE] [AS] SELECT ... (Некоторый допустимый оператор выбора)
Аргументы
Имя | Описание |
---|---|
TEMPORARY | ВРЕМЕННОЕ ключевое слово может использоваться для создания таблицы. Таблица TEMPORARY видна только текущему соединению и автоматически удаляется при закрытии соединения. Для создания временных таблиц необходимо иметь привилегию CREATE TEMPORARY TABLES. |
IF NOT EXISTS | Ключевые слова IF NOT EXISTS предотвращает возникновение ошибки, если таблица существует. |
tbl_name | имя таблицы |
LIKE | Ключевое слово LIKE используется для создания пустой таблицы на основе определения другой таблицы, включая любые атрибуты столбцов и индексы, определенные в исходной таблице. Если исходная таблица является ВРЕМЕННАЯ таблица, CREATE TABLE … LIKE не сохраняет TEMPORARY. LIKE работает только для базовых таблиц, а не для представлений. |
create_ определение:
Имя | Описание |
---|---|
CONSTRAINT | CONSTRAINT используется для определения правил, разрешающих или ограничивающих то, какие значения могут храниться в столбцах. |
PRIMARY KEY | ПЕРВИЧНЫЙ КЛЮЧ — это уникальный индекс, в котором все ключевые столбцы должны быть определены как NOT NULL. Если не объявить, MySQL объявляет их неявно. В таблице может быть только один ПЕРВИЧНЫЙ КЛЮЧ. |
ИНДЕКС | KEY | KEY обычно является синонимом INDEX |
UNIQUE | УНИКАЛЬНЫЙ индекс создает ограничение, в котором все значения в индексе должны быть разными. Ошибка возникает при попытке добавить новую строку со значением ключа, которое соответствует существующей строке.. |
FULLTEXT | Индексы FULLTEXT, используются для полнотекстового поиска. Только механизм хранения MyISAM поддерживает индексы FULLTEXT. Их можно создать только из столбцов CHAR, VARCHAR и TEXT. Индексирование всегда происходит по всему столбцу; индексирование префикса столбца не поддерживается, и любая длина префикса игнорируется, если указана. |
SPATIAL | ПРОСТРАНСТВЕННЫЕ индексы могут быть созданы на пространственных типы данных. Пространственные типы поддерживаются только для таблиц MyISAM, а индексированные столбцы должны быть объявлены как NOT NULL. |
FOREIGN KEY | InnoDB и NDB таблицы поддерживают проверку ограничений внешнего ключа. Столбцы указанной таблицы всегда должны иметь явное имя. Функции ON DELETE и ON UPDATE для внешних ключей. |
CHECK | Для других механизмов хранения MySQL Server анализирует и игнорирует Синтаксис FOREIGN KEY и REFERENCES в операторах CREATE TABLE, отличных от движка InnoDB и NDB. Предложение CHECK анализируется, но игнорируется всеми механизмами хранения. |
column_definition: data_type:
Имя | Описание |
---|---|
НЕ NULL | NULL | Если не указано ни NULL, ни NOT NULL, столбец обрабатывается так, как указано значение NULL. |
DEFAULT | DEFAULT не применяется к типам BLOB или TEXT. |
AUTO_INCREMENT | AUTO_INCREMENT применяется только к целочисленным типам и типам с плавающей запятой. Когда вы вставляете значение NULL или 0 в индексированный столбец AUTO_INCREMENT, столбец устанавливается на следующее значение последовательности, и это значение + 1, где значение — это наибольшее значение для столбца, находящегося в данный момент в таблице. Последовательности AUTO_INCREMENT начинаются с 1. В таблице может быть только один столбец AUTO_INCREMENT, он должен быть проиндексирован и не может иметь значения DEFAULT. Столбец AUTO_INCREMENT работает правильно, только если он содержит только положительные значения. Для таблиц MyISAM можно указать дополнительный столбец AUTO_INCREMENT в ключе с несколькими столбцами. |
КОММЕНТАРИЙ | Комментарий для столбца можно указать с помощью параметра КОММЕНТАРИЙ длиной до 1024 символов. |
COLUMN_FORMAT | В MySQL Cluster формат хранения данных может быть указан для отдельных столбцов таблиц NDB с помощью COLUMN_FORMAT. Значение по умолчанию для COLUMN_FORMAT для таблиц NDB — DEFAULT. Ключевое слово COLUMN_FORMAT поддерживается только в сборке MySQLd, поставляемой с MySQL Cluster; он не распознается ни в одной другой версии MySQL. |
STORAGE | Для таблиц NDB можно указать, столбец хранится на диске или в памяти с помощью предложения STORAGE. Причины STORAGE DISK столбец может быть сохранен на диске, а STORAGE MEMORY вызывает использование хранилища в памяти. STORAGE DEFAULT эквивалентен STORAGE MEMORY для таблиц NDB.. Предложение STORAGE не влияет на таблицы, использующие механизмы хранения, отличные от NDB. |
index_col_name:
Имя | Описание |
---|---|
col_name | Имя столбца |
length | Длина столбца |
ASC | Порядок сортировки по возрастанию. |
DESC | Порядок сортировки по убыванию. |
Имя | Описание |
---|---|
ИСПОЛЬЗОВАНИЕ | Некоторые механизмы хранения позволяют укажите объявление типа индекса во время создания индекса, а синтаксис для спецификатора index_type — USING type_name. До MySQL 5.1.10 USING можно было указывать только перед списком столбцов индекса. |
Имя | Описание |
---|---|
KEY_BLOCK_SIZE | В случае InnoDB сжатая таблица, размер которой может быть указан в килобайтах (необязательно) для использования для страниц. Значение 0 указывает размер сжатой страницы по умолчанию. |
WITH PARSER | Предложение WITH PARSER можно указать как параметр index_option значение, чтобы связать плагин синтаксического анализатора с индексом, когда операции полнотекстового индексирования и поиска требуют особой обработки. Предложение WITH PARSER действительно только для индексов FULLTEXT. |
reference _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 | Если установлено значение CHECKSUM значение 1, MySQL поддерживает текущую контрольную сумму для всех строк, т.е. MySQL обновляет таблицу автоматически по мере ее изменения. Хотя это немного замедляет обновление таблицы, но также упрощает поиск поврежденных таблиц.. |
COLLATE | Укажите параметры сортировки по умолчанию для таблицы. |
CONNECTION | Строка подключения для FEDERATED таблицы. |
DATA DIRECTORY | Используя предложение DATA DIRECTORY, нужно понимать, что то место, где механизм хранения InnoDB помещает файл табличного пространства .ibd для новой таблицы. |
DELAY_KEY_WRITE | Установите значение 1, если необходимо отложить обновление ключей для таблицы до закрытия таблицы. |
INDEX DIRECTORY | Во время создания таблиц 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 | 2 ГБ/4 ГБ |
Win32 с NTFS | 2 ТБ (возможно больше) |
Linux 2.2-Intel 32-разрядный | 2 ГБ (LFS: 4 ГБ ) |
Linux 2.4+ | (с использованием файловой системы ext3) 4 ТБ |
Solaris 9/10 | 16 ТБ |
Mac OS X с HFS + | 2 ТБ |
Для получения актуальной информации проверьте документацию вашей операционной системы.
Ограничения на количество столбцов таблицы MySQL и размер строки
Вы можете создать максимум 4096 столбцов в таблице, но эффективный максимум может быть меньше для данной таблицы. Точное количество зависит от нескольких взаимодействующих факторов.
- Вы можете создать максимум 4096 столбцов в таблице, но эффективный максимум может быть меньше для данной таблицы. Точное количество зависит от нескольких взаимодействующих факторов.
- Отдельные механизмы хранения могут налагать дополнительные ограничения, ограничивающие количество столбцов таблицы. Например, InnoDB допускает до 1000 столбцов.
- Каждая таблица имеет максимальный размер строки 65 535 байт.
- Механизмы хранения могут накладывать дополнительные ограничения на этот предел, уменьшая эффективный максимальный размер строки.
Оператор MySQL DESCRIBE
Оператор MySQL DESCRIBE используется для отображения структуры созданная таблица.
Синтаксис:
DESCRIBE [table_name];
Следующий оператор отобразит структуру данной таблицы.
DESCRIBE publisher;
Пример вывода:
MySQL> DESCRIBE publisher; + - -------------- + ------------- + ------ + ----- + -------- ---- + ------- + | Поле | Тип | Null | Ключ | По умолчанию | Дополнительно | + ---------------- + ------------- + ------ + ----- + --- --------- + ------- + | pub_id | варчар (8) | НЕТ | PRI | | | | pub_name | варчар (50) | НЕТ | | | | | pub_city | варчар (25) | НЕТ | | | | | страна | варчар (25) | НЕТ | | | | | country_office | варчар (25) | НЕТ | | | | | no_of_branch | int (3) | НЕТ | | 0 | | | estd | дата | НЕТ | | 0000-00-00 | | + ---------------- + ------------- + ------ + ----- + ----- ------- + ------- + 7 строк в наборе (0,00 сек)
PHP-скрипт
phpinclude ('dbopen.php'); $ sql = "DESCRIBE publisher"; $ result = MySQL_query ($ sql); echo ""; echo " Структура таблица издателя:
"; echo" "; echo" "; echo" Поле "; echo" Тип "; echo" Null "; echo" key "; echo" По умолчанию "; echo" Extra "; echo" "; while ($ row = MySQL_fetch_array ($ result)) {echo ""; echo "". $ row ['Поле']. " "; echo "". $ row ['Тип']. " "; echo "". $ row ['Null']. " "; echo "". $ row ['ключ']. " "; echo "". $ row ['По умолчанию']. " "; echo "". $ row ['Extra']. " "; echo " ";} echo "
";?> Примеры: MySQL CREATE TABLE
Следующий оператор создаст таблицу NewPublisher со столбцами следующего вида:
CREATE TABLE publisher (pub_id varchar (8) , pub_name varchar (50), pub_city varchar (25), country varchar (25), country_officevarchar (25) no_of_branchint (3), estddate);
PHP скрипт
phpinclude ('dbopen. php '); $ result = MySQL_query ("СОЗДАТЬ ТАБЛИЦУ NewPublisher (pub_id varchar (8), pub_name varchar (50), pub_city varchar (25), country varchar (25), country_officevarchar (25), no_of_branch int (3), estd date) "); $ sql1 =" ПОКАЗАТЬ ТАБЛИЦЫ ИЗ bookinfo "; $ result1 = MySQL_query ($ sql1); while ($ row1 = MySQL_fetch_array ($ result1)) {echo" "; echo" "; echo "". $ row1 ['Tables_in_bookinfo']. " "; echo " "; echo "
";}?>
Просмотреть пример в браузере
MySQL CREATE TABLE when not EXISTS
Ключевые слова IF NOT EXISTS используются для предотвращения возникновения ошибки, если таблица существует. Ключевые слова IF NOT EXISTS не проверяют, имеет ли существующая таблица ту же структуру, которая указана оператором CREATE TABLE. Следующий оператор создает таблицу newauthor, если таблица newauthor не существует со следующими именем столбца, типом, длиной и значением по умолчанию -
CREATE TABLE IF NOT EXISTS newauthor ( aut_id varchar (8), aut_name varchar (50), varchar страны (25), home_city varchar (25) NULL);
MySQL СОЗДАТЬ с LIKE или скопировать структуру таблицы
MySQL позволяет создать таблицу, идентичную другой, с помощью используя LIKE. Следующий оператор MySQL создаст таблицу author_copy, структура которой идентична таблице author.
Пример таблицы: author
СОЗДАТЬ ТАБЛИЦУ author_copy LIKE author;
MySQL СОЗДАТЬ ТАБЛИЦУ с помощью 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 with BINARY CHARACTER SET
При создании таблицы в MySQL используя CHARACTER SET binary, вы можете определить, что набор символов для столбца будет двоичным. Следующий оператор MySQL создаст таблицу mytale2, используя CHARACTER SET как двоичный.
СОЗДАТЬ ТАБЛИЦУ mytable2 (col1 VARCHAR (10) CHARACTER SET двоичный, col2 TEXT CHARACTER SET двоичный, col3 ENUM ('a', 'b', 'c') CHARACTER SET двоичный);
MySQL CREATE TABLE with BLOB CHARACTER SET
При создании таблицы в MySQL с использованием BLOB после столбца name, вы можете определить, что набор символов для столбца будет BLOB. Следующий оператор MySQL создаст таблицу mytale3, используя двоичный файл CHARACTER SET и BLOB.
СОЗДАТЬ ТАБЛИЦУ mytable3 (col1 VARBINARY (10), col2 BLOB, col3 ENUM ('a', 'b', 'c') CHARACTER SET двоичный);
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 table