一、mysql导入文件或数据或执行相关SQL
mysql -h主机地址 -u用户名 -p用户密码
1. 文件形式。(shell命令行)
1
|
mysql -u root -p dbname < filename.sql
|
2. 直接放在命令行(shell命令行)执行一个sql
1
|
mysql -hhostname -uusername -p dbname -e
'select * from tbname limit 1'
|
执行后命令行会提示输入数据库密码。:)
3. 把SQL作为一个输入给MYSQL(shell命令行)
1
|
echo
'select id from dbname.tbname where id = 1;'
| mysql -hhostname -ureadonly -preadonly dbname > xxxx.sql
|
4. 进入mysql数据库(数据库中执行SQL文件)
1
|
>
source
xxx.sql
|
二、导出库表(mysqldump)
mysqldump -u用户名 -p密码 -h主机 数据库 a -w “sql条件” –lock-all-tables > 路径
1
|
mysqldump -hhostname -uusername -p dbname tbname>xxxx.sql
|
** 按指定条件导出数据库表内容。(-w选项 –where)
1
|
mysqldump -hhostname -uusername-p dbname tbname -w
'id >= 1 and id<= 10000'
--skip-lock-tables > xxxx.sql
|
或
1
|
mysqldump -hhostname -uusername -p dbname tbname --where=
'unit_id >= 1 and unit_id <= 10000'
> ~
/xxxx
.sql
|
mysqldump导出库表详细举例
1. 导出整个数据库
mysqldump -u 用户名 -p数据库名 > 导出的文件名
1
|
>mysqldump -u breezelark-p mydb > mydb.sql
|
2. 导出一个表(包括数据结构及数据)
mysqldump -u 用户名 -p数据库名 表名> 导出的文件名
1
|
mysqldump -u lingxi -p mydb mytb> mytb.sql
|
3. 导出一个数据库结构(无数据只有结构)
1
|
mysqldump -u lingxi -p -d --add-drop-table mydb >mydb.sql
|
-d 没有数据–add-drop-table 在每个create语句之前增加一个drop table