ShellScript读写MySQL数据库

Linux使用shell命令,也可以查询MySQL数据库。某些时候比用php、perl等语言还要方便,在编写一些shell脚本程序时非常有用。

  1. 一个查询例子

    !/bin/bash
    
    # 查询
    echo "SELECT name, age, timediff(now(), reg_date_time) AS member_time, date_format(update_time, '%y-%m-%d %H:%i') AS starttime FROM user WHERE update_time IS NOT NULL "| mysql -u dbuser -ppassword shopdb
    
  2. 增删改的例子

    如果有多个sql语句需要同时执行,可以将sql写到一个文件中,例如batch.sql

    # 将需要执行的sql语句保存到文件中,如/home/demo/batch.sql
    # 注意,每条sql结尾都需要分号。
    #
    #从old_tbl表复制数据到userinfo表
    insert into userinfo (username, creationdate) select username, now() from old_tbl;
    
    # 更新
    update userinfo set groupname='vip' where username= 'Tom';    
    
    #删除  
    delete from userinfo where username = 'test';
    

    然后使用mysql命令:

    #!/bin/sh
    /usr/bin/mysql -D shopdb -u dbuser -ppassword < /home/demo/batch.sql
    
Share Comments
comments powered by Disqus