在linux下,我们可以通过sqlite3 打开db,通过执行sql来修改数据库内容。但有时,我们会遇到需要在shell脚本中去修改数据库的内容。
下面记录一下我的实现过程
- 创建数据库
touch test.db
- 将要执行的sql放在sql脚本中,命名为test.sql
CREATE TABLE COMPANY(
ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL
);
- 在脚本中调用sql脚本
# !/bin/bash
sqlite3 -init test.sql test.db << CMD
.exit
CMD
其中,-init 参数可以读取/处理sql脚本文件,执行sqlite3会进入到sqlite的命令行,通过<<将两个CMD中间的.exit命令重定向给sqlite3,退出sqlite命令行。
执行shell脚本,就可以完成创建表的工作。