使用 mysql -e 参数可以执行各种 sql 的各种操作语句。不用在mysql的提示符下运行mysql,即可以在shell中操作mysql的方法。
格式:mysql -hhostname -Pport -uusername -ppassword -e “”
#!/bin/bash
HOSTNAME='192.168.111.84' #数据库信息PORT='3306'
USERNAME='root'
PASSWORD=''
DBNAME='test_db_test' #数据库名称TABLENAME='test_table_test' #数据库中表的名称
#也可以写 HOSTNAME='localhost',端口号 PORT可以不设定
#创建数据库create_db_sql='create database IF NOT EXISTS ${DBNAME}'
mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} -e'${create_db_sql}'
注意:-p${PASSWORD}中间不能有空格
#创建表create_table_sql='create table IF NOT EXISTS ${TABLENAME} ( name varchar(20), id int(11) default 0 )'
mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} -D ${DBNAME} -e '${create_db_sql}'
#插入数据insert_sql='insert into ${TABLENAME} values('billchen',2)'
mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME}-e'${insert_sql}'
#查询select_sql='select * from ${TABLENAME}'
mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME}-e'${select_sql}'
#更新数据update_sql='update ${TABLENAME} set id=3'
mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME} -e'${update_sql}'
mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME} -e'${select_sql}'
#删除数据delete_sql='delete from ${TABLENAME}'
mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME} -e '${delete_sql}'
mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME} -e '${select_sql}'
示例: