mysql sh脚本执行sql语句

目录

mysql shell脚本

sh脚本编码

MYSQL:数据库存储内容输出到文本,再存入数据库

查看生成的文件编码


mysql shell脚本

本地连接及远程链接

#!/bin/bash

#连接MySQL数据库
Host=127.0.0.1
User=user
PASSWORD=password
PORT=3306
DBNAME="appdb"
TABLENAME="resources"
CREATE_DB_SQL="SELECT * FROM ${DBNAME}.${TABLENAME}" 
 
#mysql -h${Host} -port${PORT} -u${User} -p${PASSWORD}   -D${DBNAME} -e"select count(*) from resources"
#mysql -h"127.0.0.1" -port"3306" -uuser -ppassword  -D"appdb" -e"select count(*) from resources"
#本地连接
mysql -h${Host}  -port${PORT}  -u${User} -p${PASSWORD} <<EOF
use ${DBNAME};

SELECT count(*) FROM ${DBNAME}.${TABLENAME};
COMMIT;
EOF

echo "create yes"
执行结果:

使用-e 方式可以直接执行sql语句:

mysql -h${Host}  -P${PORT}  -u${User}  -p${PASSWORD}  -D ${DBNAME}  -e "${CREATE_DB_SQL}"

mysql -uroot -p123456是进入mysql的命令,前面的路径可以改成自己的绝对路径

<< EOF  EOF    中间可以写出任意的mysql脚本

sh脚本编码

在命令行里执行mysql语句,在命令行不识别中文:为了在sh脚本里识别中文,sh脚本要设置如下格式,将文档格式转换为linux,编码转换为ANSI(实际上是GB3212中文)

MYSQL:数据库存储内容输出到文本,再存入数据库

如何对将数据库中的数据输出到文本文件,再将文本文件内容输入数据库?
一、输出到文本
1、进入数据库(已实验这个方法不行

 select * into outfile "d:/output.txt" from 表;

 只是不能覆盖已存在的文件。


2、命令行 执行

  mysql -e "select * from sgbase.LocalUser" > "/home/output.txt"
   
mysql < "C:/query.txt" > "C:/output.txt" 
 mysql -e "select * from 表" 库 > "C:/output.txt"
 mysql -e "select * from 库.表" > "C:/output.txt"

< 表示从输入,> 表示输出到。

查看生成的文件编码


linux命令:file文件名

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值