在工作中时可能会遇到Linux服务器上没有我们期望的python3环境,以及相应的库,这个时候如果想操作数据库可以通过编写shell脚本来实现。话不多说,举例说明:
1.首先申明使用的编译器写在文件的第一行:
#!/bin/bash
2.MYSQL=“mysql -h192.168.0.136 -uroot -proot123456–default-character-set=utf8 -A -N”
#这里面有两个参数,-A、-N
#-A的含义是不去预读全部数据表信息,这样可以解决在数据表很多的时候卡死的问题
#-N,很简单,Don’t write column names inresults ,查询结果不显示列名
sql=“select* from mysql.user”
#实际要执行的sql语句
result=“ ( ( (MYSQL-e “$sql”)”
连接数据库并执行sql,将查询结果去掉列名赋值给result
dump_data=./data.user.txt
$dump_data
echo -e"$result" > $dump_data
#echo -e 处理特殊字符
若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:
\a 发出警告声;
\b 删除前一个字符;
\c 最后不加上换行符号;
\f 换行但光标仍旧停留在原来的位置;
\n 换行且光标移至行首;
\r 光标移至行首,但不换行;
\t 插入tab;
$echo -e “a\bdddd”
dddd
$echo -e “a\adddd”//输出同时会发出报警声音
adddd
$echo -e “a\ndddd”//自动换行
a
dddd
>将结果输出到变量(文本data.user.txt)中
#这里要额外注意,echo -e " r e s u l t " > result" > result">dump_data的时候一定要加上双引号,不然导出的数据会挤在一行
不加注释的shell脚本看这里:
#!/bin/bash
MYSQL=“mysql-h192.168.0.136 -uroot -proot123456 --default-character-set=utf8 -A -N”
sql=“select* from mysql.user”
result=“ ( ( (MYSQL-e “$sql”)”
dump_data=./data.user.txt
$dump_data
echo -e"$result" > $dump_data
需要系统的软件开发或者软件测试学习资料,可以私聊!
技术讨论可以加群568230905