本文出处:http://blog.csdn.net/u012377333/article/details/47006087
接上篇介绍《基于CentOS的Mysql学习补充二--使用Shell创建数据库》,本文继续探索关于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数据表