导出 数据库表 结构(不导出数据)

mysqldump -h主机名 -P端口号 -u用户名 -p密码 -d 数据库名 表名 > ./xxxx.sql

导出数据库中指定表的结构

导出 数据库 结构(不导出数据)

mysqldump -h主机名 -P端口号 -u用户名 -p密码 -d 数据库名 > ./xxx.sql

导出该数据库下的所有表结构

导出 数据库表 结构(导出数据 不加 -d)

mysqldump -h主机名 -P端口号 -u用户名 -p密码 数据库名 表名 > ./xxxx.sql

导出 数据库 结构(导出数据 不加 -d)

mysqldump -h主机名 -P端口号 -u用户名 -p密码 数据库名 > ./xxx.sql

导出 数据库 多个表 结构(导出数据 不加 -d)

mysqldump -h主机名 -P端口号 -u用户名 -p密码 数据库名 表名1 表名2 表名3> ./xxx.sql

全量导入数据库

到处的是.sql文件,直接在mysql下执行即可,不过导入的是数据表而不是库,所以导入前需要自己选择一个db;

use my_database;

source /home/mydir/xxx.sql;

也可以在mysql命令行直接选择具体数据库进行导入:

mysql -uroot -pmypassword database_name < dumpfile.sql

mysql查询结果导出/输出/写入到文件

方法一:直接执行命令:mysql> select count(1) from table  into outfile '/tmp/test.xls';

Query OK, 31 rows affected (0.00 sec)

在目录/tmp/下会产生文件test.xls

遇到的问题:mysql> select count(1) from table   into outfile '/data/test.xls';报错:ERROR 1 (HY000): Can't create/write to file '/data/test.xls' (Errcode: 13)可能原因:mysql没有向/data/下写的权限

方法二:查询都自动写入文件:mysql> pager cat > /tmp/test.txt ;

PAGER set to 'cat > /tmp/test.txt'之后的所有查询结果都自动写入/tmp/test.txt',并前后覆盖

mysql> select * from table ;30 rows in set (0.59 sec)

在框口不再显示查询结果

方法三:跳出mysql命令行[root@SHNHDX63-146 ~]# mysql -h 127.0.0.1 -u root -p XXXX -P 3306 -e "select * from table"  > /tmp/test/txt