准备工作,创建一个abc的数据库,并创建一个表结构如下的info表
MariaDB [abc]> desc info;
±——±———±—–±—-±——–±——+
| Field | Type | Null | Key | Default | Extra |
±——±———±—–±—-±——–±——+
| name | char(20) | YES | | NULL | |
| sex | char(4) | YES | | NULL | |
| age | int(11) | YES | | NULL | |
| zw | char(10) | YES | | NULL | |
±——±———±—–±—-±——–±——+
4 rows in set (0.00 sec)
此脚本有待改进,可以将数据库以及表都定义为用户交互(read)的类型,这样可以大大提升用户使用此脚本的方便性,并且可以使此脚本更加具有可用性
#!/bin/bashwhile truedoechoechoecho \" A 添加数据 \"echo \" B 查询数据 \"echo \" Q 退出程序 \"read -p \"请输入操作序号:\" numechoechoif [ -z $num ]thenecho \"您输入的序号为空,请重新输入\"elsewhile truedoif [ $num = \"A\" ]thenwhile truedoread -p \"输入name字段的值:\" name1read -p \"输入sex字段的值:\" sex1read -p \"输入age字段的值:\" age1read -p \"输入zw字段的值:\" zw1if [ -z $name1 ] || [ -z $sex1 ] || [ -z $age1 ] || [ -z $zx1 ]thenecho \"您输入的字段中有空值,请重新输入!\"elsemysql -u root -p123.com -e \"insert into abc.info values (\'$name1\',\'$sex1\',$age1,\'$zw1\')\"breakfidonebreakelif [ $num = \"B\" ]thenwhile truedoread -p \"请输入查询关键字:\" name1if [ -z $name1 ]thenecho \"输入的关键字为空,请重新输入关键字!\"elsemysql -u root -p123.com -e \'select name from abc.info\' | grep \"^$name1\"if [ $? = \"0\" ]thenmysql -u root -p123.com -e \"select * from abc.info where name=\'$name1\'\"breakelseecho \"该关键字查询结果为空,请重新输入!\"echo \"可以提供以下选择\"mysql -u root -p123.com -e \'select name from abc.info\'fifidonebreakelif [ $num = \"Q\" ]thenexit 0elseecho \"您输入的值未在选择范围中,请重新输入\"breakfidonefidone