如何使用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;"

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...