English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Если нам нужно полностью скопировать таблицу данных MySQL, включая структуру таблицы, индексы, значения по умолчанию и т.д. Если использовать толькоCREATE TABLE ... SELECT команда, не может быть реализована.
В этой главе мы расскажем, как полностью скопировать таблицу данных MySQL, шаги следующие:
Использование SHOW CREATE TABLE команда для получения создания таблицы данных (CREATE TABLE) утверждение, которое включает структуру исходной таблицы данных и индексы.
Скопируйте команду SQL, отображаемую следующим образом, измените имя таблицы данных и выполните команду SQL, используя вышеуказанные команды полностью скопировать структуру таблицы данных.
Если вы хотите скопировать содержимое таблицы, вы можете использовать INSERT INTO ... SELECT для выполнения этой операции.
Попробуйте следующий пример для копирования таблицы w3codebox_tbl.
Шаг 1:
Получите полную структуру таблицы.
mysql> SHOW CREATE TABLE w3codebox_tbl \G; *************************** 1. строка *************************** Таблица: w3codebox_tbl Создание таблицы: CREATE TABLE `w3codebox_tbl` ( `w3codebox_id` int(11) NOT NULL auto_increment, `w3codebox_title` varchar(100) NOT NULL default '', `w3codebox_author` varchar(40) NOT NULL default '', `submission_date` date default NULL, Основной ключ (`w3codebox_id`), Уникальный ключ `AUTHOR_INDEX` (`w3codebox_author`) ) ENGINE=InnoDB 1 строка в наборе (0.00 сек) ОШИБКА: Не указан запрос
Шаг 2:
Измените имя таблицы в SQL-запросе и выполните запрос.
mysql> CREATE TABLE `clone_tbl` ( -> `w3codebox_id` int(11) NOT NULL auto_increment, -> `w3codebox_title` varchar(100) NOT NULL default '', -> `w3codebox_author` varchar(40) NOT NULL default '', -> `submission_date` date default NULL, -> Основной ключ (`w3codebox_id`), -> Уникальный ключ `AUTHOR_INDEX` (`w3codebox_author`) -> ENGINE=InnoDB; Запрос выполнен успешно, 0 строк изменено (1.80 сек)
Шаг три:
После выполнения второго шага, вы создадите новую клонированную таблицу clone_tbl в базе данных. Если вы хотите скопировать данные таблицы, вы можете использовать INSERT INTO... SELECT для выполнения этой операции.
mysql> INSERT INTO clone_tbl (w3codebox_id, -> w3codebox_title, -> w3codebox_author, -> submission_date) -> SELECT w3codebox_id,w3codebox_title, -> w3codebox_author, submission_date -> FROM w3codebox_tbl; Запрос OK, 3 строки изменены (0.07 sec) Записи: 3 Дубликаты: 0 Предупреждения: 0
После выполнения указанных шагов, будет полностью скопировано содержимое таблицы, включая структуру и данные таблицы.