从bash中读取mysql数据库

创建数据库及数据表的脚本如下:

[root@iZr4s05capgvfej0ntls1zZ ~]# cat create_db.sh #!/bin/bash #文件名:create_db.sh #用途:创建mysql数据库 USER="user" PASS="user" mysql -u $USER -p$PASS <<EOF 2> /dev/null CREATE DATABASES students; EOF [ $? -eq 0 ] && echo Created DB || echo DB already exist mysql -u $USER -p$PASS studente <<EOF 2> /dev/null CREATE TABLE students( id int, name varchar(100), mark int, dept varchar(4) ); EOF [ $? -eq 0 ] && echo Created table students || echo Table students already exist mysql -u $USER -P$PASS students <<EOF DELETE FROM students; EOF

 

将数据插入数据表的脚本如下:

[root@iZr4s05capgvfej0ntls1zZ ~]# cat write_to_db.sh #!/bin/bash #文件名:write_to_db.sh #用途:从csv中读取数据并写入mysqldb USER="user" PASS="user" if [$# -ne 1 ]; then echo $0 DATAFILE echo exit 2 fi data=$1 while read line; do oldIFS=$IFS IFS=, values=($line) values[1]="\"`echo ${values[1]} |tr ‘ ‘ ‘#‘ `\"" values[3]="\"`echo ${values[3]}`\"" query=`echo ${values[@]} | tr # , ` IFS=$oldIFS mysql -u $USER -P$PASS students <<EOF INSERT INFO STUDENTS values($query) EOF done< $data echo Wrote data into DB

 

 

查询数据库的脚本如下:

[root@iZr4s05capgvfej0ntls1zZ ~]# cat read_db.sh #!/bin/bash #文件名:read_db.sh #用途:从数据库中读取数据 USER="user" PASS="user" depts=`mysql -u $USER -p$PASS students <<EOF | tail -n +2 SELECT DISTINCT dept FROM students; EOF` for d in $depts; do echo Department : $d result="`mysql -u $USER -p$PASS students <<EOF SET @I:=0; SELECT @I:@I+1 as rank,name,mark FROM students WHERE dept="$d" ORDER BY mark DESC; EOF`" echo "$result" echo done

 

从bash中读取mysql数据库

上一篇:Linux mount挂载磁盘报错 mount: wrong fs type, bad option, bad superblock on /dev/vdb


下一篇:Python异步操作MongoDB --Motor的使用