要在两台不同的电脑上进行开发,数据库需要统一,由于自己第一次完整的设计表结构,因此多次更改表结构,造成了很多不必要的麻烦,
需要将数据库导出成sql脚本。
命令行下具体用法如下: mysqldump -用户名 -p密码 -d 数据库名 表名 脚本名;
导出数据库名为ssm_web的表结构(其中用户名为root,密码为root,生成的脚本名为db.sql)
1
| mysqldump -u root -proot -d ssm_web>db.sql;
|
导出数据库名为ssm_web某张表(test)结构
1
| mysqldump -u root -proot -d ssm_web test>test.sql;
|
导出数据库名为ssm_web所有表结构及表数据(不加-d)
1
| mysqldump -u root -proot ssm_web>e:\lucifer\ssm_web.sql
|
导出数据库名为ssm_web某张表(test)结构及表数据(不加-d)
1
| mysqldump -u root -proot ssm_web test>test.sql;
|
导入脚本
1 2 3 4 5 6 7
| MySQL> select now(); +---------------------+ | now() | +---------------------+ | 2013-09-18 13:55:45 | +---------------------+ 1 row in set (0.00 sec)
|
执行编写好的sql脚本
1 2 3 4 5 6 7
| mysql> source H:/1.sql +---------------------+ | now() | +---------------------+ | 2013-09-18 13:54:04 | +---------------------+ 1 row in set (0.00 sec)
|
select …into outfile 方式执行sql
1 2 3 4 5 6 7 8 9 10
| mysql> select now() into outfile 'h:/data/2.sql'; Query OK, 1 row affected (0.00 sec) 4.使用mysql命令执行 H:>mysql -uaHmin -p -e "select now()" Enter passworH: **** +---------------------+ | now() | +---------------------+ | 2013-09-18 13:57:09 | +---------------------+
|
mysql命令执行sql,并将查询结果保存到文本中
- 执行简单sql,如果sql很长,这种方式就不是很适合了。
1
| mysql -uaHmin -proot test -e "select now()" -N >H:/work/target1.txt
|
- 执行复杂sql,可以将复杂的sql事先编辑好,存放到文本中在执行。
1
| H:> mysql -uroot -pmypwH -h127.0.0.1 -p3306 test < H:/work/source.sql > H:/work/target.txt
|
将最后一种执行方式加上操作系统的定时任务,就可以在mysql中实现定时执行sql,并保存执行结果的目的了。