当前位置: > shell编程 >

CentOS下使用Shell批量创建数据库表

时间:2015-07-23 01:00来源:blog.csdn.net 作者:一枪尽骚丶魂 举报 点击:

本文继续探索关于Shell和MySQL的结合使用,我不知道当一个数据库设计完成之后如何快速的创建设计好的数据库表和添加相应基本数据,我目前知道的就是使用Shell和SQL脚本来达到我的目的--快速的、多次的、可重复利用的创建数据库表。

创建一个数据库表的SQL脚本:

 

[cpp] view plaincopy
 
  1. /************************************************************ 
  2. #Author:    chisj 
  3. #Date:      2015.7.22 
  4. #Describe:  Create Database 'SmartCare' Table 'sct_Province' 
  5. *************************************************************/  
  6.   
  7. USE SmartCare;  
  8.   
  9. DROP TABLE IF EXISTS `sct_Province`;  
  10.   
  11. CREATE TABLE `sct_Province`(  
  12.     `ProvinceID` int(11) unsigned NOT NULL AUTO_INCREMENT,  
  13.     `ProvinceCode` varchar(11) DEFAULT NULL,  
  14.     `ParentID` varchar(11) DEFAULT NULL,  
  15.     `ProvinceName` varchar(50) DEFAULT NULL,  
  16.     `Level` tinyint(1) DEFAULT NULL,  
  17.     PRIMARY KEY (`ProvinceID`)  
  18. ) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;  


 


执行指定目录下所有的SQL脚本(指定目录,多个SQL脚本)的Shell脚本:

 

 

[plain] view plaincopy
 
  1. #!/bin/bash  
  2.   
  3. #Author: chisj  
  4. #Time: 2015.7.22  
  5. #Describe: Create Database Table  
  6.   
  7. #The username of mysql database  
  8. USER="root"  
  9.   
  10. #The password of mysql database  
  11. PASS="dragonwake"  
  12.   
  13. #The datebase name will be created  
  14. DATABASE="SmartCare"  
  15.   
  16. LOCATION=${PWD}  
  17. CREATE_TABLE_SCT=create_table_sct_  
  18.   
  19. for table_name in `ls ${LOCATION}/${CREATE_TABLE_SCT}*`  
  20. do  
  21.   
  22. mysql -u $USER -p$PASS << EOF > /dev/null  
  23.   
  24. SOURCE ${table_name};  
  25.   
  26. EOF  
  27.   
  28. if [ $? -eq 0 ]; then  
  29.       
  30.     echo "Create Table ${table_name} Success!"  
  31.       
  32. fi  
  33.   
  34. done  
其实关于Shell批量创建数据表的方法很多,之前又看到过,可惜没有记住0.0,可见记录很重要哟

 

所以我还是按照我的思路重新弄了一遍:首先写好创建数据表的SQL脚本是必要的,可以将所有的都写在一个里面(个人觉得不好),也可以按照一个表写一个SQL脚本(目前我市采用这种方法),然后就是在指定目录下面按照指定SQL脚本名进行遍历,找到一个创建数据库表SQL脚本,然后就执行一次。

 

同样给出CSDN的下载地址:Shell创建MySQL数据表

------分隔线----------------------------
发表评论
为了和诣的生活,我关闭了评论页面,请大家到QQ群里交流吧:348944156,也欢迎关注本站微信公众号:centoscn
栏目分类