Linux shell 大量建立資料庫/表
Shell 指令碼如下:
# create database and table<br />HOST='localhost'<br />PORT='3306'<br />USER='root'<br />PWD=''<br />DBNAME='top123'<br />TABLENAME='gametop800'</p><p>mysql_login=''<br />mysql_create_db=''<br />mysql_create_table=''</p><p>function mysql_create(){<br /> echo "login mysql $HOST:$PORT ..."<br /> mysql_login="sudo mysql -h $HOST -P $PORT -u $USER" # mysql -h host -P port -u root -p pwd<br /> echo | ${mysql_login}<br /> if [ $? -ne 0 ]; then<br /> echo "login mysql ${HOST}:${PORT} failed.."<br /> exit 1<br /> fi</p><p> echo "create database $DBNAME ..."<br /> mysql_create_db="create database if not exists $DBNAME"<br /> echo ${mysql_create_db} | ${mysql_login}<br /> if [ $? -ne 0 ]; then<br /> echo "create db ${DBNAME} failed.."<br /> exit 1<br /> fi</p><p> echo "create table $TABLENAME ..."<br /> mysql_create_table="create table $TABLENAME(<br /> id char(50) not null,<br /> top int,<br /> name char(100),<br /> category char(50),<br /> rating float,<br /> ratingcount char(20),<br /> download char(30),<br /> price char(20),<br /> publishdate char(20),<br /> version char(40),<br /> filesize char(40),<br /> requireandroid char(40),<br /> contentrating char(40),<br /> country char(10),<br /> dtime datetime not null,<br /> primary key(id, dtime)<br /> )"</p><p> echo ${mysql_create_table} | ${mysql_login} ${DBNAME}<br /> if [ $? -ne 0 ]; then<br /> echo "create table ${TABLENAME} fail..."<br /> exit 1<br /> fi</p><p> echo "create table ${TABLENAME} success!"<br />}
執行指令碼後,結果如下:
MySQL 從常用操作命令:
顯示資料庫
show databases;
切換資料庫
use top123;
顯示資料庫表
show tables;
修改主鍵
alter table gametop800 add primary key(id);
刪除主鍵
alter table gametop800 drop primary key;
添加組合主鍵
alter table gametop800 add primary key(id, dtime);
如果感興趣的話,可以深入綜合運用awk,cut,paste,Regex,資料庫操作等較為複雜的文法,完成MySQL資料庫操作
下面是實現了一個抓取網頁,提取特徵,抽取資訊,結果匯總,批量插入資料庫永久儲存
樣本:
推薦參考:
MySQL 資料庫常用命令小結
Mysql資料類型