系统部署或者开发过程中总会遇到一些数据需要先初始化到数据库中。遇到这种情况有多中解决的方法:
1.先把数据录入数据库,备份整个库。
这种方式的优点是方便,缺点是数据库表太多,调整的几率比较大,数据维护比较难。
2.把库结构和初始化数据分别备份出来,调整库表只需要备份库表结构。初始化数据可以不动。
。。。。
以上两种方式都是开发部署人员来维护,可是遇到不懂数据库的,没有数据库管理工具软件的机器就比较麻烦。我们老板就不懂数据库,但是他在给用户展示产品的时候又需要自己初始化化一些数据。于是想到用BAT文件来执行那些初始化语句。
test.bat文件内容:
mysql --user=root --password=123456 test
test.sql文件的内容:
update user set english_name='bat test' where id='e605f35d-cf28-4ee9-abb8-812fe539c37a';
然后将bat文件发送到桌面快捷方式上,老板想要初始化的时候只要点一下就可以了,比较方便。
发现有个更详细的,来自:http://everlive.iteye.com/blog/222633
bat文件执行.sql文件
批处理文件.bat写法
- @echo off
- set errorlevel=0
- //修改为mysql安装路径
- set path_home_mysql="E:\tools\2008\MySql5.0\"
- set path_bin_mysql=%path_home_mysql%bin\
- //修改为mysql使用的数据名(test)
- set database_mysql=test
- //修改为mysql登陆用户名密码(root,sujian)
- set user_mysql=root
- set password_mysql=sujian
- //修改要执行的.sql文件(testsql.sql)
- %path_bin_mysql%mysql -u%user_mysql% -p%password_mysql% < testsql.sql
testsql.sql写SQL语句
例:alter table ddd add column ddddd varchar(10);
总结一下:
1.如果是执行数据库insert,update,delete语句的话,需要加入数据库名如:
%path_bin_mysql%mysql -u%user_mysql% -p%password_mysql% % database_mysql %< mytestsql.sql
mytestsql.sql写的SQL语句:
update user set english_name='bat test' where id='e605f35d-cf28-4ee9-abb8-812fe539c37a';
2.如果是执行数据库操作语句如:
%path_bin_mysql%mysql -u%user_mysql% -p%password_mysql% < createtestdb.sql
createtestdb.sql的内容:
create database test;
3.可以将mysql命令改为mysqldump命令就可以导出数据库备份,如:
%path_bin_mysql%mysqldump -u%user_mysql% -p%password_mysql% % database_mysql % > backuptestdb.sql