在shell开发中,很多时候我们需要操作mysql数据库(比如:查询数据、导出数据等),但是我们又无法进入mysql命令行的环境,就需要在shell环境中模拟mysql的环境,使用mysql相关命令,本文总结几种shell操作mysql的方法,供大家参考。
方案1
- mysql-uuser-ppasswd-e"insertLogTablevalues(...)"
方案2
- CREATETABLE`user`(
- `id`varchar(36)NOTNULLCOMMENT'主键',
- `username`varchar(50)NOTNULLCOMMENT'用户名',
- `password`varchar(50)NOTNULLCOMMENT'用户密码',
- `createdate`dateNOTNULLCOMMENT'创建时间',
- `age`int(11)NOTNULLCOMMENT'年龄',
- PRIMARYKEY(`id`)
- )ENGINE=MyISAMDEFAULTCHARSET=utf8COMMENT='用户信息表';
- DROPTABLEIFEXISTS`visit_log`;
- CREATETABLE`visit_log`(
- `id`varchar(36)charactersetutf8NOTNULL,
- `type`int(11)NOTNULL,
- `content`textcharactersetutf8NOTNULL,
- `createdate`dateNOTNULL,
- PRIMARYKEY(`id`)
- )ENGINE=MyISAMDEFAULTCHARSET=latin1COMMENT='访问日志';
- usechbdb;
- sourceupdate.sql
- catupdate_mysql.sh|mysql--user=root-ppassword
方案3
- #!/bin/bash
- mysql-u*-h*-p*<<EOF
- YourSQLscript.
- EOF
- #!/bin/bash
- mysql-uroot-ppassword<<EOF
- usechbdb;
- CREATETABLEuser(
- idvarchar(36)NOTNULLCOMMENT'主键',
- usernamevarchar(50)NOTNULLCOMMENT'用户名',
- passwordvarchar(50)NOTNULLCOMMENT'用户密码',
- createdatedateNOTNULLCOMMENT'创建时间',
- ageint(11)NOTNULLCOMMENT'年龄',
- PRIMARYKEY(`id`)
- )ENGINE=MyISAMDEFAULTCHARSET=utf8COMMENT='用户信息表';
方案4
- mysql-uroot-ppassword<update.sql