[本文出處:http://blog.csdn.net/u012377333/article/details/47006087](http://blog.csdn.net/u012377333/article/details/47006087)
接上篇介紹[《基于CentOS的Mysql學習補充二--使用Shell創建數據庫》](http://blog.csdn.net/u012377333/article/details/47001007),本文繼續探索關于Shell和MySQL的結合使用,我不知道當一個數據庫設計完成之后如何快速的創建設計好的數據庫表和添加相應基本數據,我目前知道的就是使用Shell和SQL腳本來達到我的目的--快速的、多次的、可重復利用的創建數據庫表。
創建一個數據庫表的SQL腳本:
~~~
/************************************************************
#Author: chisj
#Date: 2015.7.22
#Describe: Create Database 'SmartCare' Table 'sct_Province'
*************************************************************/
USE SmartCare;
DROP TABLE IF EXISTS `sct_Province`;
CREATE TABLE `sct_Province`(
`ProvinceID` int(11) unsigned NOT NULL AUTO_INCREMENT,
`ProvinceCode` varchar(11) DEFAULT NULL,
`ParentID` varchar(11) DEFAULT NULL,
`ProvinceName` varchar(50) DEFAULT NULL,
`Level` tinyint(1) DEFAULT NULL,
PRIMARY KEY (`ProvinceID`)
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
~~~
執行指定目錄下所有的SQL腳本(指定目錄,多個SQL腳本)的Shell腳本:
~~~
#!/bin/bash
#Author: chisj
#Time: 2015.7.22
#Describe: Create Database Table
#The username of mysql database
USER="root"
#The password of mysql database
PASS="dragonwake"
#The datebase name will be created
DATABASE="SmartCare"
LOCATION=${PWD}
CREATE_TABLE_SCT=create_table_sct_
for table_name in `ls ${LOCATION}/${CREATE_TABLE_SCT}*`
do
mysql -u $USER -p$PASS << EOF > /dev/null
SOURCE ${table_name};
EOF
if [ $? -eq 0 ]; then
echo "Create Table ${table_name} Success!"
fi
done
~~~
其實關于Shell批量創建數據表的方法很多,之前又看到過,可惜沒有記住0.0,可見記錄很重要喲
所以我還是按照我的思路重新弄了一遍:首先寫好創建數據表的SQL腳本是必要的,可以將所有的都寫在一個里面(個人覺得不好),也可以按照一個表寫一個SQL腳本(目前我市采用這種方法),然后就是在指定目錄下面按照指定SQL腳本名進行遍歷,找到一個創建數據庫表SQL腳本,然后就執行一次。
同樣給出CSDN的下載地址:[Shell創建MySQL數據表](http://download.csdn.net/detail/u012377333/8923639)