MySQL СОЗДАТЬ ТАБЛИЦУ

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" "; echo" "; echo" "; echo" "; echo" "; while ($ row = MySQL_fetch_array ($ result)) {echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo "";} echo "
Поле Тип Null key По умолчанию Extra
". $ row ['Поле']. "". $ row ['Тип']. "". $ row ['Null']. "". $ row ['ключ']. "". $ row ['По умолчанию']. "". $ row ['Extra']. "
";?>

Примеры: 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 ""; echo ""; echo "
". $ row1 ['Tables_in_bookinfo']. "
";}?>

Просмотреть пример в браузере

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

Оцените статью
nanomode.ru
Добавить комментарий