shell中执行mysql语句
1. 使用-e进行参数传递,适合简单的命令,如
```shell
mysql -uuser -ppasswd -e "create database db"
```
必要时候请添加上-d -h等参数
2. 使用EOF进行传递,适合比较复杂的语句,比较创建表等;
```shell
mysql -uuser -ppasswd <<EOF
use db;
create table tablename(
id varchar(36) NOT NULL,
col1 int default 1,
......
PRIMARY KEY (id)
)ENGINE=MYISAM;
EOF
```
需要注意的是:表名,列名还有主键中的``号要去掉,不然会提示没有这个变量的错误;
3. 参数传递
```shell
MYSQLCMD="mysql -hhost -uuser -ppasswd db"
CODE="SELECT * FROM table"
echo "${CODE}" | ${MYSQLCMD}
```
4. 使用导入的方法:
首先把sql语句创建到sql文本里面,如创建touch test.sql
create table `tablename`(
`id` varchar(36) NOT NULL,
`col1` int default 1,
......
PRIMARY KEY (`id`
)ENGINE=MYISAM;
令建一个test.sh脚本执行
use db;
source test.sql;
然后执行命令
cat test.sh | mysql -uuser -ppasswd
或者直接用命令导入:
mysql -uuser -ppasswd < test.sql
浙公网安备 33010602011771号