7.Shell脚本语言-数据库处理

1.数据库基本操作

1.安装
2.连接:

weixiao$: mysql -u root -p
weixiao:Enter password:输入密码

3.退出数据库:

mysql> exit

4.显示所有数据库:

mysql> show databases

5.进入数据库:

mysql> use db_test

6.删除数据库:

mysql> drop database db_test

7.创建数据库:

mysql> crate database db_test

2.数据库表操作:

1.创建表:

mysql> creat table t_student(s_id int(4) not null primary key, s_name char(20),s_sex int(4) not null default '0')

2.显示表:

mysql> show tables

3.插入表数据

mysql> inset into t_studeng values(0,'jack',0);

4.查询表数据

mysql> select * from t_student where s_id = 0;

5.更新表数据

mysql> update t_student set s_sex = 1 where s_name = 'jack'

  1. 删除表数据

mysql> delete from t_student where s_id = 1;

3.使用shell操作数据库

1.登录数据库

#!/bin/bash
MYSQL=$(which mysql)
$MYSQL -u root -p
  1. 显示数据库列表,使用 -e + sql语句
//  使用 -e 'sql语句'

#!/bin/bash
MYSQL=$(which mysql)
$MYSQL -u root -p -e 'show databases'

3.查询数据库表,使用-e方式

#!/bin/bash
MYSQL=$(which mysql)
$MYSQL db_20171108 -u root -p -e 'select * from t_student'

  • 注意,前边要加上数据库名称。

3.查询数据库表,使用 重定向方式

#!/bin/bash
MYSQL=$(which mysql)

$MYSQL db_20171108 -u root -p << JAR
select * from t_student;
JAR

4.插入表数据

#!/bin/bash
MYSQL=$(which mysql)

$MYSQL db_20171108 -u root -p << JAR
insert into t_student values(3, 'Ricky',0);
JAR

5.插入表数据,使用参数传递方式

#!/bin/bash
MYSQL=$(which mysql)

#不等于某个长度-> "-ne"
if [ $# -ne 3 ] 
    then 
        echo "参数个数不对,必需是3个参数"
    else
        #插入数据
        $MYSQL db_20171108 -u root -p << JAR
        insert into t_student values($1, '$2', $3);
        JAR

        #执行状态
        if [ $? -eq 0 ]
        then
               echo "插入成功"
        else
            echo "插入失败"
        fi
    fi
  1. 批量导入数据到数据库
#!/bin/bash
#定义域分隔符用于分割字符串
IFS=','
MYSQL=$(which mysql)

while read id name sex
do 
      $MYSQL db_test -u root <
4.对于每次操作数据库都需要输入密码问题

解决方案: 1.修改mysql的配置文件。 2.执行命令的时候去掉-p

  • 在mysql安装目录下找到一个mysql配置文件,my-default.cnf。文件目录为 /usr/local/mysql-xxx/support-files/
  • 拷贝到桌面,添加默认密码,将名称改为my.cnf
  • 将my.cnf 文件拷贝到mysql数据库执行目录。 查看目录命令:weixiao$ mysql —help -verbose | grep -B1 -i "my.cnf"
  • 重启mysql即可

你可能感兴趣的:(7.Shell脚本语言-数据库处理)