使用shell脚本操作Mysql数据库练习_添加100名用户
练习
前提:授权tom@192.168.%.%对hidb数据库上的students表有所有访问权限;然后通过tom用户完成以下操作;
- 将birthdate字段改为age;
- 向students中插入100行数据;
- 用户名为stu1-stu100;性别随机为M或者F;年龄为18-100之间的随机数;
- 以性别为分组,显示每组的平均年龄;
- 显示年龄大于40的用户;
#!/bin/bash get_gender() { gender=('M' 'F') index=$[$RANDOM%2] echo ${gender[$index]} } get_age() { rand_age=$[$RANDOM%82] if [ $rand_age -lt 18 ];then let rand_age=$rand_age+18 fi echo $rand_age } HOSTNAME="192.168.60.129" USERNAME="tom" PASSWORD="123456" main() { declare -i i=1 while [ $i -le 100 ];do name="user$i" gen=$(get_gender) age=$(get_age) let i=$i+1 INSERT_SQL="INSERT INTO hidb.students (name,gender,age) VALUES ('$name','$gen',$age);" mysql -u${USERNAME} -h${HOSTNAME} -p${PASSWORD} -e "${INSERT_SQL}" done } main以性别为分组,显示每组的平均年龄; MariaDB [hidb]> select avg(age) AS avg_age,gender from students GROUP BY gender; 显示年龄大于40的用户; MariaDB [hidb]> select * from students where age>40;
#!/bin/bash get_gender() { gender=('M' 'F') index=$[$RANDOM%2] echo ${gender[$index]} } get_age() { rand_age=$[$RANDOM%82] if [ $rand_age -lt 18 ];then let rand_age=$rand_age+18 fi echo $rand_age } HOSTNAME="192.168.60.129" USERNAME="tom" PASSWORD="123456" main() { declare -i i=1 while [ $i -le 1 ];do name="user$i" gen=$(get_gender) age=$(get_age) let i=$i+1 INSERT_SQL="INSERT INTO hidb.students (name,gender,age) VALUES ('$name','$gen',$age);" GROUP_SQL="select avg(age) AS avg_age,gender from hidb.students GROUP BY gender;" SELECT_SQL="select * from hidb.students where age>40;" mysql -u${USERNAME} -h${HOSTNAME} -p${PASSWORD} -e "${SELECT_SQL}" done } main