创建数据库及数据表的脚本如下:
[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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。