Я ищу синтаксис для сброса всех данных в моей базе данных mysql. Мне не нужна информация в таблице.
Только данные mysqldump
Ответ 1
mysqldump --no-create-info ...
Если вы используете триггеры, вам также необходимо включить --skip-triggers
И если вы используете опцию --databases ...
, вам также необходимо включить --no-create-db
Ответ 2
Это должно работать:
# To export to file (data only)
mysqldump -u [user] -p[pass] --no-create-info mydb > mydb.sql
# To export to file (structure only)
mysqldump -u [user] -p[pass] --no-data mydb > mydb.sql
# To import to database
mysql -u [user] -p[pass] mydb < mydb.sql
ПРИМЕЧАНИЕ. нет пробела между -p
и [pass]
Ответ 3
>> man -k mysqldump [enter in the terminal]
вы найдете ниже объяснение
- no-create-info, -t
Не записывайте инструкции CREATE TABLE, которые заново создают каждую выгруженную таблицу. Примечание. Эта опция не исключает операторов, создающих файл журнала групп или табличных пространств из вывода mysqldump; однако вы можете использовать --no-tablespaces для этой цели.
- no-data, -d
Не записывайте информацию о строках таблицы (то есть не выгружайте таблицу содержание). Это полезно, если вы хотите сбросить только CREATE TABLE для таблицы (например, для создания пустой копии таблицу, загрузив файл дампа).
# To export to file (data only)
mysqldump -t -u [user] -p[pass] -t mydb > mydb_data.sql
# To export to file (structure only)
mysqldump -d -u [user] -p[pass] -d mydb > mydb_structure.sql
Ответ 4
Предлагает использовать следующий фрагмент. Прекрасно работает даже с огромными столами (иначе вы бы открыли дамп в редакторе и не загружали ненужные вещи, верно?)
mysqldump --no-create-info --skip-triggers --extended-insert --lock-tables --quick DB TABLE > dump.sql
Требуется, по крайней мере, mysql 5.x, но кто сейчас запускает старые вещи..:)
Ответ 5
Если вам просто нужны запросы INSERT, используйте следующее:
mysqldump --skip-triggers --compact --no-create-info
Ответ 6
Просто выгрузите данные в разделительный текстовый формат.
Ответ 7
Попробуйте сбросить файл с разделителями.
mysqldump -u [username] -p -t -T/path/to/directory [database] --fields-enclosed-by=\" --fields-terminated-by=,
Ответ 8
При попытке экспортировать данные с использованием принятого ответа я получил сообщение об ошибке:
ERROR 1235 (42000) at line 3367: This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table'
Как упоминалось выше:
mysqldump --no-create-info
Будет экспортировать данные, но он также будет экспортировать созданные триггерные операторы. Если у вас есть своя структура базы данных (которая также включает триггеры) с одной командой, а затем, используя приведенную выше команду для получения данных, вы также должны использовать "-skip-триггеры".
Итак, если вы хотите ТОЛЬКО данные:
mysqldump --no-create-info --skip-triggers