Как импортировать одну таблицу в базу данных mysql с помощью командной строки
145
Я успешно импортировал базу данных с помощью командной строки, но теперь моя проблема заключается в том, как импортировать одну таблицу с ее данными в существующую базу данных с помощью командной строки.
Это создаст файл с именем example.sqlпо указанному пути и напишет команду create tablesql для создания таблицы tableName.
Импортировать данные в таблицу
mysql -u username -p databasename < path/example.sql
Для этой команды требуется файл sql, содержащий данные в виде insertоператоров для таблицы tableName. Все insertоператоры будут выполнены, и данные будут загружены.
Для импорта не нужно использовать дамп mysql. mysql -u username -p databasename tableName <path / example.sql Он должен делать вашу работу
Прабхакар Ундурти
8
tableNameИмя не требуется для всех версий MySQL и выдает ошибки, поэтому вам может понадобиться , чтобы пропустить его!
mchar
1
Я получал синтаксическую ошибку, пока не понял, что выполняю ее в bash, а не в mysql.
Christia
2
Это сработает, только если у меня есть доступ к базе данных, из которой я могу экспортировать определенную таблицу. Однако, если у меня есть полный дамп базы данных, и я хочу выбрать таблицу (таблицы) для импорта, это решение не сработает. Связанный пост Могу ли я восстановить одну таблицу из полного файла mysql mysqldump? решает эту проблему.
Все эти параметры подходят, если у вас есть возможность повторно экспортировать данные.
Но если вам нужно использовать существующий файл SQL и использовать из него определенную таблицу, тогда этот сценарий perl в блоге TimeSheet позволит вам извлечь таблицу в отдельный файл SQL, а затем импортировать его.
Исходная ссылка мертва, поэтому хорошо, что кто-то разместил ее вместо автора, Джареда Чейни, на GitHub в этой ссылке .
Вам не нужно указывать имя таблицы в командной строке, так как в экспортированном файле SQL есть соответствующий вызов для создания таблицы. Все, что вам нужно, это mysql -u your_user_name -p database_name < test.sql.
Майкл Де Сильва,
1
Вот пример из экспортированной таблицы: `22 DROP TABLE IF EXISTS account_product_prices; 23 / *! 40101 SET @saved_cs_client = @@ character_set_client /; 24 / ! 40101 SET character_set_client = utf8 * /; 25 СОЗДАТЬ ТАБЛИЦУ account_product_prices(`
Это будет комбинация EXPORT INTO OUTFILEиLOAD DATA INFILE
Вам нужно экспортировать эту единственную таблицу с помощью EXPORT INTO OUTFILE, это приведет к экспорту данных таблицы в файл. Вы можете импортировать эту конкретную таблицу, используяLOAD DATA INFILE
вы можете сделать это в команде mysql вместо команды linux.
1. войдите в свой mysql.
2. выполните команду mysql: use DATABASE_NAME; SET autocommit=0 ; source ABSOLUTE_PATH/TABLE_SQL_FILE.sql ; COMMIT ;
Хотя этот фрагмент кода приветствуется и может оказать некоторую помощь, его можно было бы значительно улучшить, если бы он включал объяснение того, как и почему это решает проблему. Помните, что вы отвечаете на вопрос будущих читателей, а не только человеку, который задает его сейчас! Пожалуйста , измените свой ответ , чтобы добавить объяснение, и дать указание о том , что применять ограничения и допущения.
Тоби Спейт
1
Если вы находитесь в pwd дампа SQL и вам нужна таблица из него, сделайте следующее:
sed -n '/-- Table structure for table `'TableNameTo_GrabHere'`/,/-- Table/{ /^--.*$/d;p }' dump_file_to_extract_from.sql > table_name_here.sql
Затем просто импортируйте таблицу, которую вы извлекли из приведенного выше, в необходимую базу данных.
Чтобы импортировать таблицу в базу данных, если таблица уже существует, добавьте эту строку в свой файл sql DROP TABLE IF EXIST 'table_name'и запустите команду mysql -u username -p database_name < import_sql_file.sql. Перед выполнением команды проверьте путь к файлу sql.
Ответы:
Linux:
В командной строке
поместите свою таблицу в example.sql
Импорт / экспорт для одной таблицы:
Схема экспорта таблицы
Это создаст файл с именем
example.sql
по указанному пути и напишет командуcreate table
sql для создания таблицыtableName
.Импортировать данные в таблицу
Для этой команды требуется файл sql, содержащий данные в виде
insert
операторов для таблицыtableName
. Всеinsert
операторы будут выполнены, и данные будут загружены.источник
tableName
Имя не требуется для всех версий MySQL и выдает ошибки, поэтому вам может понадобиться , чтобы пропустить его!Экспорт:
mysqldump --user=root databasename > whole.database.sql mysqldump --user=root databasename onlySingleTableName > single.table.sql
Импорт :
Вся база данных :
mysql --user=root wholedatabase < whole.database.sql
Единый стол :
mysql --user=root databasename < single.table.sql
источник
Все эти параметры подходят, если у вас есть возможность повторно экспортировать данные.
Но если вам нужно использовать существующий файл SQL и использовать из него определенную таблицу, тогда этот сценарий perl в блоге TimeSheet позволит вам извлечь таблицу в отдельный файл SQL, а затем импортировать его.
Исходная ссылка мертва, поэтому хорошо, что кто-то разместил ее вместо автора, Джареда Чейни, на GitHub в этой ссылке .
источник
Импорт единой таблицы
Чтобы импортировать одну таблицу в существующую базу данных, вы должны использовать следующую команду:
Примечание. Лучше использовать полный путь к sql-файлу tableName.sql.
источник
Командная строка
Импорт / экспорт для одной таблицы:
Экспорт схемы таблицы
Это создаст файл с именем test.sql и создаст команду table sql для создания таблицы table_name.
Импорт данных в таблицу
Убедитесь, что ваш файл test.sql находится в том же каталоге, если нет, перейдите по пути и запустите команду.
источник
mysql -u your_user_name -p database_name < test.sql
.account_product_prices
; 23 / *! 40101 SET @saved_cs_client = @@ character_set_client /; 24 / ! 40101 SET character_set_client = utf8 * /; 25 СОЗДАТЬ ТАБЛИЦУaccount_product_prices
(`Работает корректно ...
обратите внимание, что файл .sql определяет вашу текущую базу данных.
источник
Прежде всего, войдите в свою базу данных и проверьте, недоступна ли таблица базы данных, которую вы хотите импортировать, в вашей базе данных.
Если он доступен, удалите таблицу с помощью команды. В противном случае при импорте таблицы будет выдана ошибка.
DROP TABLE Table_Name;
Затем перейдите в папку, в которой у вас есть
.sql
файл для импорта, и выполните следующую команду с вашего терминалаТерминал попросит вас ввести пароль. Введите его и проверьте базу данных.
источник
Мы можем импортировать одну таблицу с помощью CMD, как показано ниже:
источник
если у вас уже есть нужная таблица в вашей базе данных, сначала удалите ее, а затем выполните команду ниже:
источник
С сервера на локальный (экспорт)
С локального на сервер (импорт)
источник
Также его работа. В командной форме
источник
Это будет комбинация
EXPORT INTO OUTFILE
иLOAD DATA INFILE
Вам нужно экспортировать эту единственную таблицу с помощью
EXPORT INTO OUTFILE
, это приведет к экспорту данных таблицы в файл. Вы можете импортировать эту конкретную таблицу, используяLOAD DATA INFILE
Обратитесь к doc1 , doc2
источник
вы можете сделать это в команде mysql вместо команды linux.
1. войдите в свой mysql.
2. выполните команду mysql:
use DATABASE_NAME;
SET autocommit=0 ; source ABSOLUTE_PATH/TABLE_SQL_FILE.sql ; COMMIT ;
источник
источник
Если вы находитесь в pwd дампа SQL и вам нужна таблица из него, сделайте следующее:
sed -n '/-- Table structure for table `'TableNameTo_GrabHere'`/,/-- Table/{ /^--.*$/d;p }' dump_file_to_extract_from.sql > table_name_here.sql
Затем просто импортируйте таблицу, которую вы извлекли из приведенного выше, в необходимую базу данных.
источник
источник
Использование временной базы данных может быть решением в зависимости от размера базы данных.
mysql -u [username] -p -e "create database tempdb" mysql -u [username] -p tempdb < db.sql mysqldump -u [username] -p tempdb _table_to_import_ > table_to_import.sql mysql -u [username] -p maindb < table_to_import.sql
источник
Чтобы импортировать таблицу в базу данных, если таблица уже существует, добавьте эту строку в свой файл sql
DROP TABLE IF EXIST 'table_name'
и запустите командуmysql -u username -p database_name < import_sql_file.sql
. Перед выполнением команды проверьте путь к файлу sql.источник