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} <
执行结果:

使用-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文件名


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部