如何使用Shell脚本创建和插入数据库?

问题描述

我正在尝试编写将创建数据库的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;"