参考文章:shell脚本操作MYSQL(1)
shell操作mysql主要有两种方式:
- 直接链接数据库并且执行sql。
- 不执行sql,而是连接数据库,使用<
直接执行
# 执行sql脚本sql="source /root/test.sql"# 创建数据库sql="create database IF NOT EXISTS ${DBNAME};"# 创建表sql="create table IF NOT EXISTS ${TABLENAME} ( name varchar(20), id int(11) default 0 )"# 插入数据sql="insert into ${TABLENAME} values('billchen',2)"# 查询数据sql="select * from ${TABLENAME}"# 更新数据sql="update ${TABLENAME} set id=3"# 删除数据sql="delete from ${TABLENAME}"mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} -e "${sql}"
通过EOF执行
PORTAL_META_SQL="update apolloportaldb.serverconfig set value=${META} where \`key\`='apollo.portal.meta.servers';"#Shell中通常将EOF与 << 结合使用,表示后续的输入作为子命令或子Shell的输入,直到遇到EOF为止,再返#回到主调Shell。可以把EOF替换成其他东西,意思是把内容当作标准输入传给程序mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD}<
注意点
通过 shell 操作 mysql ,有一些需要注意的点。
- 条件可直接拼接在sql后。
- 字段值需要引号。
- 与mysql关键字同名时,需要使用 \ 转义。
EOF
CONDITION='a = 1 and b = 2'COLUMNVALUE='21314'mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD}<
来源地址:https://blog.csdn.net/tlqwanttolearnit/article/details/128631810