2012-08-17 64 views
1

我有一個SQL數據庫,我想用腳本填充表。下面的源代碼顯示了我迄今所做的:用腳本填充Sql表

#!/bin/tcsh 
    mysql -h dbs1 -D my_devel -u USER --password=XYZ 
    insert into my_table (col_id, type, file, result, signature) values (***,'###','+++','$$$','...'); 
    exit 

據我傳遞的參數「*」,「#」,「+」,「$」和「」通過python中定義的方法。

但不知何故,這不適合我。有人能告訴我爲什麼,或者建議一種替代方法嗎?

+3

爲什麼不使用python直接連接到mysql? – 2012-08-17 07:57:50

回答

0

這似乎爲我工作的罰款:

#!/bin/tcsh 

# count-rows.csh 

mysql -h 127.0.0.1 -D tpcw -u root <<EOF 
select count(*) from $1; 
exit 
EOF 

您需要發送的命令執行到mysql實用程序的標準輸入。有幾種方法可以做到這一點,但使用here document可能是最簡單的方法。

也就是說,如果你的數據來自Python程序,你應該看看使用合適的MySQL connector for Python。你應該看到一個明確的性能提升,但更重要的是你將能夠正確處理任何錯誤。

0

擴展Martijn的評論,連接到MySQL數據庫最簡單的方法之一是使用python-mysqldb