注:本文转载自网络

Shell是每一个UNIX系统都有的工具,他功能强大,有很多系统启动程序是用Shell来写的.

在这里,我们利用Shell程序来操作MySQL数据库.

约定: MySQL管理用户为root, 密码为secret.

# vi mysql_opt.sh

#!/bin/sh

#

# 调用方法: mysql_opt $db_name "SQL语句"

sql_user=root

sql_pass=secret

sql_opt="-u$sql_user -p$sql_pass -s"

mysql_opt() {

db_name=$1

sql_lan=$2

mysql $sql_opt <<

EOF

USE

$db_name;

$sql_lan;

QUIT

EOF

}

#

# The file mysql_opt.sh ends here!

这样,就能通过调用mysql_opt函数来对MySQL数据库进行操作.

例: 要查找数据库test_db中test_table表的所有数据

# vi select.sh

#!/bin/sh

#

. ./mysql_opt.sh

echo "Query..."

data=`mysql_opt test_db "SELECT * FROM test_table WHERE 1"`

echo $data

echo "Done!"

#

# The file select.sh ends here!

[root@kevin bin]# ./mysql -u root -p111111 -e "use mysql;select

host,user,password from user"; +-----------+------+-------------------------------------------+

|

host | user |

password |

+-----------+------+-------------------------------------------+

| localhost | root

| *FD571203974BA9AFE270FE62151AE967ECA5E0AA

|

| kevin.com | root

| |

| 127.0.0.1 | root

| |

| localhost

| | |

| kevin.com

| | |

+-----------+------+-------------------------------------------+

****************************************

#!/bin/bash

/usr/local/mysql-5.1.32/bin/mysql -u root -p111111 -e "use

mysql;select host,user,password from user";

exit 0;

****************************************

如果需要导出mysql的记录到文本文件:

/usr/local/mysql-5.1.32/bin/mysql -u root -p111111 -e "use

mysql;select host,user,password from user into outfile

'/home/mysql/aa.txt';"

mysql -u $user -p$password -e "create database test;"

我知道的有如下两种方式可以在shell中访问操作mysql数据库

1. mysql -uusername -ppasswd -e "command;command"

[root@localhost ~]# mysql -uroot -p123456 -e "select user,host from

mysql.user"

+------+-----------------------+

| user |

host |

+------+-----------------------+

| root |

% |

| root |

127.0.0.1 |

| php |

localhost |

| root |

localhost |

| root |

localhost.localdomain |

+------+-----------------------+

请看下面这段文字:(引自mysql参考手册)

对mysql偶尔有用的另一个选项是-e或--execute选项,可用来将SQL语句传递给服务器。该语句必须

用引号引起来(单引号或双引号)。(然而,如果想要在查询中将值引起来,则对于查询应使用双引号

,查询中引用的值应使用单引号)。当使用该选项时,语句被执行,然后mysql立即退出命令外壳。

例如,你可以用下面的命令获得用户账户列表:

shell> mysql -u root -p -e "SELECT User, Host

FROM User" mysql

请注意mysql数据库名作为一个独立的参量传递。然而,相同的查询可能已经使用mysql -u root -p

-e "SELECT User,Host FROM mysql.User"从外壳中执行。

可以按这种方式传递多个SQL语句,用分号隔开:

shell> mysql -u root -p --execute="SELECT Name

FROM Country WHERE Name LIKE

'AU%';SELECT COUNT(*) FROM City" world

2. 如果sql语句比较多,可使用如下方式:

[root@localhost ~]# mysql -uroot -p123456

<< EOF

> use mysql;

> select user,host from user;

> EOF

user host

root %

root 127.0.0.1

php localhost

root localhost

root localhost.localdomain

从查询结果中可以看出,两者的输出结果格式不一样,前一种方式保留了mysql的输出格式。

另外,与此篇文章有关的shell 重定向知识,可以查阅ABS guide第16章节“I/O重定向”和第17章节“Here

Documents”

重定向示意:

mysql -uroot -p123qwe

>"a.txt"

自动登录mysql(root:root,passwd:123456),查询test库,test1表里的user=aa的记录.

#!/bin/sh

mysql -uroot -p123456

select * from testaa while

a=10000; ###1000 not usr single quote mark,because a is int type,only char

type need single quote mark.

EOF

mysql 导出shell_shell操作mysql,Shell操作MySQL并导出文本文件相关推荐

  1. 写一个清空Mysql数据库数据的脚本Shell

    写一个清空Mysql数据库数据的脚本Shell 服务器安装部署mysql8.0.2,需要有 mysqldump 命令 #!/usr/bin/bash# mysql -e cmd 可以用shell操作m ...

  2. mysql增量备份二进制日志,mysql增量备份二进制日志shell脚本

    mysql增量备份二进制日志shell脚本 mysql增量备份二进制日志shell exit?0 echo?"?"?>>$log_file echo?"End ...

  3. shell编程系列23--shell操作数据库实战之mysql命令参数详解

    shell编程系列23--shell操作数据库实战之mysql命令参数详解mysql命令参数详解-u 用户名-p 用户密码-h 服务器ip地址-D 连接的数据库-N 不输出列信息-B 使用tab键代替 ...

  4. mysql边备份边导入么_MySQL 怎么导入导出操作

    mysql 如何导入导出操作 1.MySQL 如何导入导出个别需要数据记录? – 先导出数据所在的表结构: mysql> show create table CHARBASE into outf ...

  5. linux下的shell操作mysql

    (1)MySQL的启动 重启了一次服务器后,使用> mysql -u root -p登陆是出现下面的错误: ERROR 2002 (HY000): Can't connect to local ...

  6. 使用Shell对MySQL指定的库进行SQL语句批量插入操作

    需求:   某环境MySQL数据库中有1000个以yz_xxx开头命名的库,要求:在所有以yz_xxx开头命名的库中插入指定的SQL语句. 解决一:   使用Navicat Mysql工具连接到MyS ...

  7. shell 登录mysql 然后quit_MySQL 数据库简单操作

    对于想要从事或爱好mysql相关工作的童鞋们,有必要掌握在命令行下对mysql实现一些简单的操作.本文从描述了如何登录到mysql数据库服务器,如何在mysql提示符下发布命令,创建数据库,以及执行一 ...

  8. linux shell操作mysql,Linux shell操作mysql数据库的方法

    摘要 腾兴网为您分享:Linux shell操作mysql数据库的方法,鱼乐贝贝,宜信,嘻嘻动漫,西餐菜谱等软件知识,以及包装效果图,德州人社,evasi0n.com,ios迅雷,民革e家,动态表情, ...

  9. mysql word_mysql导出word的表结构操作

    mysql导出word的表结构操作 1.首先准备好mysql的相关插件mysql-connector-odbc和DBExportDoc 百度网盘地址: 2安装驱动 打开DBExportDoc V1.0 ...

最新文章

  1. 服务器 kvm 进入系统,服务器CAT5 KVM切换器系统
  2. 转:并口编程参考资料
  3. mysql js 命令行登录_mysqlsh 命令行模式与密码保存-爱可生
  4. ssl提高组周六模拟赛【2019.3.2】
  5. Java中的低GC:使用原语而不是包装器
  6. mysql怎样dao出数据库_mysql怎么导出数据库?
  7. Spring Cloud Eureka 属性配置中文说明文档
  8. 【英语学习】【Level 08】U01 Let's Read L6 Person of the year
  9. Matlab 散点 拟合 曲率,有数据点,希望得到一条拟合曲线,再求出这条曲线的曲率,求助!...
  10. ubuntu linux网关不通,Ubuntu 8.04不能上网等问题的解决
  11. 面向接口编程在Java web 三层架构的应用与使用工厂模式解决问题
  12. 计算机考试怎么做word,word怎么做弧形文字
  13. 51ditu:地图基础知识
  14. Mac安装boost
  15. oenwrt 进不了bios_J1900在openwrt不能正常重启的BIOS选项说明
  16. windowsMobile 注册表136个操作
  17. 未来教育计算机一级上网题每次都是零分,计算机一级MS模拟上网题为什么总是0分??!!...
  18. USB转串口驱动应用于macbook
  19. 榆熙电商:商家如何做好店铺运营?
  20. Problem G: 打印字母菱形图案

热门文章

  1. 机器学习 之 十大算法
  2. MVC项目中使用百度地图
  3. 图像变换——(DFT、DCT变换,IDFT、IDCT重建)
  4. win10系统无法连接xp工作组计算机,xp系统无法访问win10系统的共享文件怎么办
  5. 在Excel中对彩票号码行进行排序
  6. 资源链接整合(不保证一直存在,持续更新)
  7. 佛说爱情 佛说前世 佛说缘分(佛语人生.完整版)
  8. 【神界原罪2】终于debug到了经验地址,出生地即可一刀成佛
  9. 3S基础知识:MapInfo自定义符号详解
  10. 暗黑地牢modfiles.txt文件生成工具