问题描述
我正在尝试编写将创建数据库的Shell脚本。在另一个脚本中,我想执行一些Linux命令,然后将输出插入数据库。我有一个想法,但是可以用python吗?哪个更容易?
解决方法
在python中创建一个简单的数据库非常容易:
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",user="yourusername",password="yourpassword"
)
mycursor = mydb.cursor()
mycursor.execute("CREATE DATABASE mydatabase")
然后您可以创建一个表,例如:
mycursor.execute("CREATE TABLE customers (name VARCHAR(255),address VARCHAR(255))")
最后插入新表:
sql = "INSERT INTO customers (name,address) VALUES (%s,%s)"
val = ("John","Highway 21")
mycursor.execute(sql,val)
mydb.commit()
(比较https://www.w3schools.com/python/python_mysql_create_db.asp)
,这在Shell中要容易得多。
创建数据库:
sed -E 's/(.{14})(.{7})(.{2})(.)(.{3})(.{13})(.)(.{8})(.+)/\1,\2,\3,\4,\5,\6,\7,\8,\9/; s/(.+,.{16})(.{3})(.*)/\1,\3/' file
确认:
$ command="CREATE DATABASE IF NOT EXISTS test_db;"
$ mysql -uroot -p<PASSWORD_HERE> <<< $command
$ mysql -uroot -p<PASSWORD_HERE> <<< "show databases;"