Liunx中shell操作Mysql数据库

小鱼儿 2022-12-03 13:14 269阅读 0赞

日常工作中,我们需要对mysql数据库进行查询和修改,如果遇到多数据库,多表时,在mysql的提示符下运行mysql会非常麻烦,为了解决这个问题,我们可以在shell中操作mysql的方法。

shell命令行非交互式的操作数据库的方法:

mysql -hhostname -Pport -uusername -ppassword -e sql语句

  1. #!/bin/bash
  2. HOSTNAME="127.0.0.1" #数据库信息
  3. PORT="3306"
  4. USERNAME="root"
  5. PASSWORD="root"
  6. DBNAME="test_db_test" #数据库名称
  7. TABLENAME="test_table_test" #数据库中表的名称
  8. #创建数据库
  9. create_db_sql="create database IF NOT EXISTS ${DBNAME}"
  10. mysql -h${ HOSTNAME} -P${ PORT} -u${ USERNAME} -p${ PASSWORD} -e "${create_db_sql}"
  11. #创建表
  12. create_table_sql="create table IF NOT EXISTS ${TABLENAME} ( name varchar(20), id int(11) default 0 )"
  13. mysql -h${ HOSTNAME} -P${ PORT} -u${ USERNAME} -p${ PASSWORD} ${ DBNAME} -e "${create_table_sql}"
  14. #插入数据
  15. insert_sql="insert into ${TABLENAME} values('billchen',2)"
  16. mysql -h${ HOSTNAME} -P${ PORT} -u${ USERNAME} -p${ PASSWORD} ${ DBNAME} -e "${insert_sql}"
  17. #查询
  18. select_sql="select * from ${TABLENAME}"
  19. mysql -h${ HOSTNAME} -P${ PORT} -u${ USERNAME} -p${ PASSWORD} ${ DBNAME} -e "${select_sql}"
  20. #更新数据
  21. update_sql="update ${TABLENAME} set id=3"
  22. mysql -h${ HOSTNAME} -P${ PORT} -u${ USERNAME} -p${ PASSWORD} ${ DBNAME} -e "${update_sql}"
  23. mysql -h${ HOSTNAME} -P${ PORT} -u${ USERNAME} -p${ PASSWORD} ${ DBNAME} -e "${select_sql}"
  24. #添加字段
  25. alter_sql="ALTER TABLE table_name ADD field_name field_type"
  26. mysql -h${ HOSTNAME} -P${ PORT} -u${ USERNAME} -p${ PASSWORD} ${ DBNAME} -e "${alter_sql}"
  27. #删除数据
  28. mysql -h${ HOSTNAME} -P${ PORT} -u${ USERNAME} -p${ PASSWORD} ${ DBNAME} -e "${select_sql}"
  29. mysql -h${ HOSTNAME} -P${ PORT} -u${ USERNAME} -p${ PASSWORD} ${ DBNAME} -e "${delete_sql}"
  30. mysql -h${ HOSTNAME} -P${ PORT} -u${ USERNAME} -p${ PASSWORD} ${ DBNAME} -e "${select_sql}"

当我们有多个数据库或者多个表时就可以采用for循环的方式进行操作,

  1. DBNAME_list="db1 db2 db3"
  2. for DBNAME in ${ DBNAME_list}
  3. do
  4. update_sql="update ${TABLENAME} set id=3"
  5. mysql -h${ HOSTNAME} -P${ PORT} -u${ USERNAME} -p${ PASSWORD} ${ DBNAME} -e "${select_sql}"
  6. done

发表评论

表情:
评论列表 (有 0 条评论,269人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Liunxshell操作Mysql数据库

    日常工作中,我们需要对mysql数据库进行查询和修改,如果遇到多数据库,多表时,在mysql的提示符下运行mysql会非常麻烦,为了解决这个问题,我们可以在shell中操作my

    相关 shell操作mysql

    shell操作mysql        在shell开发中,很多时候我们需要操作mysql数据库(比如:查询数据、导出数据等),但是我们又无法进入mysql命令行的环境,

    相关 Liunx shell $()使用

    在bash中,`$( )`与`` ` ` ``(反引号)都是用来作命令替换的。 命令替换与变量替换差不多,都是用来重组命令行的,先完成引号里的命令行,然后将其结果替换出来,