데이터베이스에 연결하고 쿼리를 실행하는 쉘 스크립트

데이터베이스에 연결하고 쿼리를 실행하는 쉘 스크립트
#!bin/bash
Query="update table_name set colume ='i' where column_name is NOT NUll"

mysql -u username -p password mysql  <<EOF
$query;
EOF

위 스크립트가 작동하지 않습니다

답변1

MySQL 문서는 매우 깨끗합니다.

#!bin/bash
query="update table_name set colume ='i' where column_name is NOT NUll"
mysql -u username -ppassword mysql -e "$query";

-e옵션을 사용하면 mysql 서버에 임의의 쿼리를 보낼 수 있습니다.

-p와 사이에는 공백이 없습니다 . 이는 CLI password의 의도적인 구문입니다.mysql

답변2

위 스크립트는 셸 구문이 대소문자를 구분하고 Query변수를 정의한 다음 query확장하는 데 사용했기 때문에 작동하지 않습니다.

그렇지 않은 경우 이를 수행하는 올바른 방법은 @Kondybas의 답변을 참조하세요.

관련 정보