shell脚本操作mysql数据库
shell操作mysql(mariadb)数据库是通过mysql命令通过参数去执⾏语句,是命令⾏的集合。
先看看怎么简单查询mariadb⾥⾯的表单吧。mariadb_link.sh是连接数据库的共同⽂件,在数据库操作中调⽤这个.sh⽂件,同时这个⽂件可以不具有执⾏权限。
mariadb_link.sh
脚本⾥⾯通过. ./调⽤mariadb_link.sh(两个点号间有空格),查询records表单⾥⾯的数据。
select.sh
其他的功能就是替换select.sh⾥⾯的sql语句和mysql执⾏语句,笔记就不⼀⼀尝试了。shell脚本可以调试使⽤,在具体运⽤中笔者是使⽤php来操作,apache服务器来对外提供服务。
#创建表
create_table_sql="create table IF NOT EXISTS ${TABLENAME} (name varchar(20), id int(11) default 0)"
mysql -h$HOSTNAME -P$PORT -u$USER -p$PASSWD -D${DBNAME} -e "${create_table_sql}"
#插⼊数据
insert_sql="insert into ${TABLENAME} values('billchen',2)"
mysql -h$HOSTNAME -P$PORT -u$USER -p$PASSWD -D${DBNAME} -e  "${insert_sql}"
#更新数据
update_sql="update ${TABLENAME} set id=3"
mysql -h$HOSTNAME -P$PORT -u$USER -p$PASSWD -D${DBNAME} -e "${update_sql}"
mysql -h$HOSTNAME -P$PORT -u$USER -p$PASSWD -D${DBNAME} -e "${select_sql}"
#删除数据
delete_sql="delete from ${TABLENAME}"
mysql -h$HOSTNAME -P$PORT -u$USER -p$PASSWD -D${DBNAME} -e "${delete_sql}"
mysql -h$HOSTNAME -P$PORT -u$USER -p$PASSWD -D${DBNAME} -e "${select_sql}"
#导⼊sql⽂件
mysql -h$HOSTNAME -P$PORT -u$USER -p$PASSWD $DBNAME < expert.sql
mysql -h$HOSTNAME -P$PORT -u$USER -p$PASSWD $DBNAME < topic.sql
mysql -h$HOSTNAME -P$PORT -u$USER -p$PASSWD $DBNAME < institution.sql
#导出sql⽂件
mysqldump -h$HOSTNAME -P$PORT -u$USER -p$PASSWD $DBNAME > all.sql
#导出数据库的某个表
mysqldump -h$HOSTNAME -P$PORT -u$USER -p$PASSWD $DBNAME --table $TABLENAME  > table.sql # 导出数据库(只导结构,不要数据)-d
mysqldump -h$HOSTNAME -P$PORT -u$USER -p$PASSWD -d $DBNAME > nodata_db.sql
# 导出数据库(只导数据,不要结构)-t
mysqldump -h$HOSTNAME -P$PORT -u$USER -p$PASSWD -t $DBNAME > onlydata_db.sql
#转换数据库格式编码
iconv -t utf-8 -c topic.sql > topic_utf8.sql
#修改mysql表的格式
php远程连接mysql数据库mysql -h$HOSTNAME -P$PORT -u$USER -p$PASSWD -D${DBNAME} -e "alter table $TABLENAME convert to character set utf8mb4;"

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。