반응형
MySQL 스크립트 명령줄에 매개 변수 전달
명령줄에서 MySQL 스크립트로 매개 변수를 전달하는 옵션이 있습니까?
이 예제의 @start_date와 같은 것:
mysql –uuser_id -ppassword –h mysql-host -A -e
"set @start_date=${start_date}; source ${sql_script};" >${data_file};
여기 인터넷에서 답을 찾았습니다.
기본적으로 다음과 같은 쿼리를 실행한다고 가정합니다.
Select c_id, c_first_name,c_last_name, c_address,last_modified_date
from customer
where last_modified_date >=@start_date and last_modified_date <= @end_date;
다음과 같이 'start_date'와 'end_date'를 전달할 수 있습니다.
/usr/bin/mysql –uuser_id -ppassword –h mysql-host -A \
-e "set @start_date=${start_date}; set @end_date=${end_date};\
source ${sql_script};" > ${data_file}
단답형:
배시:
mysql -u"$mysql_user" -p"$mysql_user_pw" \
-e "set @mysql_db='$mysql_db';source \
00.create-mysql-starter-db.mysql ;" > "$tmp_log_file" 2>&1
mysql:
SET @query = CONCAT('CREATE DATABASE /*!32312 IF NOT EXISTS*/ `'
, @mysql_db , '` /*!40100 DEFAULT CHARACTER SET utf8 */') ;
-- SELECT 'RUNNING THE FOLLOWING query : ' , @query ;
PREPARE stmt FROM @query;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
긴 대답 : 실행 가능한 bash로서의 전체 개념, mysql 앱 :
https://github.com/YordanGeorgiev/mysql-starter
아니면
git clone git@github.com:YordanGeorgiev/mysql-starter.git
"-e" 옵션은 사용된 따옴표에 적합하며, 이중 따옴표를 사용해 보십시오.
mysql –uuser_id -ppassword –h mysql-host -A -e
"set @start_date=\"$start_date\"; source \"$sql_script\";" >\"$data_file\";"
스크립트를 함께 구성하여 미리 정의된 다른 인수를 사용하여 SQL 코드를 실행하면 경우에 따라 bash 코드를 피할 수 있습니다.
예를 들어,
do-something-production.sql
USE mydb-prod;
SET @arg=5;
SOURCE do-something.sql;
do-something-test.sql
:
USE mydb-test;
SET @arg=10;
SOURCE do-something.sql;
do-something.sql
:
UPDATE table SET col = (SELECT @arg);
언급URL : https://stackoverflow.com/questions/10229324/pass-parameter-to-mysql-script-command-line
반응형
'programing' 카테고리의 다른 글
ESLint에서 여러 권장 구성 확장 (0) | 2023.10.17 |
---|---|
JQuery를 사용하여 :before css 선택기의 너비 속성 변경 (0) | 2023.10.17 |
information_schema를 사용합니다.선택 검색에서 열 (0) | 2023.10.17 |
MS SQL 스크립트를 Mysql 및 Oracle로 변환 (0) | 2023.10.17 |
C 프로그래밍 언어용 UML (0) | 2023.10.17 |