在平时的mysql应用中,总会碰到导入数据,导出数据,当然有很多方法,这篇文章,主要介绍应用mysqldump命令进行数据导入导出,希望对大家有所帮助。
一、mysql导入文件或数据或执行相关SQL
mysql -h主机地址 -u用户名 -p用户密码
1. 文件形式。(shell命令行)
mysql -u root -p dbname < filename.sql2. 直接放在命令行(shell命令行)执行一个sql
mysql -hhostname -uusername -p dbname -e 'select * from tbname limit 1'执行后命令行会提示输入数据库密码。:)
3. 把SQL作为一个输入给MYSQL(shell命令行)
echo 'select id from dbname.tbname where id = 1;' | mysql -hhostname -ureadonly -preadonly dbname > xxxx.sql4. 进入mysql数据库(数据库中执行SQL文件)
>source xxx.sql二、导出库表(mysqldump)
mysqldump -u用户名 -p密码 -h主机 数据库 a -w “sql条件” –lock-all-tables > 路径
mysqldump -hhostname -uusername -p dbname tbname>xxxx.sql** 按指定条件导出数据库表内容。(-w选项 –where)
mysqldump -hhostname -uusername-p dbname tbname -w'id >= 1 and id<= 10000'--skip-lock-tables > xxxx.sql或
mysqldump -hhostname -uusername -p dbname tbname --where='unit_id >= 1 and unit_id <= 10000'> ~/xxxx.sqlmysqldump导出库表详细举例
1. 导出整个数据库
mysqldump -u 用户名 -p数据库名 > 导出的文件名
>mysqldump -u breezelark-p mydb > mydb.sql2. 导出一个表(包括数据结构及数据)
mysqldump -u 用户名 -p数据库名 表名> 导出的文件名
mysqldump -u lingxi -p mydb mytb> mytb.sql3. 导出一个数据库结构(无数据只有结构)
mysqldump -u lingxi -p -d --add-drop-table mydb >mydb.sql-d 没有数据–add-drop-table 在每个create语句之前增加一个drop table
当然大家可以mysqldump –help查看帮助了解更多更详细的参数说明呵呵!