[SQL] 배쉬 스크립트는 MySQL의 값을 삽입
SQL배쉬 스크립트는 MySQL의 값을 삽입
내 MySQL 서버 및 삽입에 연결하는 txt 파일에서 일부 valuse 그 떠들썩한 파티 스크립트를 만들고 싶어. 나는이 아래를 작성했습니다 :
#!/bin/bash
echo "INSERT INTO test (IP,MAC,SERVER) VALUES ('cat test.txt');" | mysql -uroot -ptest test;
그러나 나는 다음과 같은 오류를 수신하고 있습니다 :
나는 오류 내 txt 파일에있는 가정,하지만, 난 여전히 성공의 희망을 많은 변화를 시도하지하고했습니다.
이 같은 내 txt 파일의 외모 :
해결법
-
==============================
1.이거 한번 해봐:
이거 한번 해봐:
#!/bin/bash inputfile="test.txt" cat $inputfile | while read ip mac server; do echo "INSERT INTO test (IP,MAC,SERVER) VALUES ('$ip', '$mac', '$server');" done | mysql -uroot -ptest test;
파일을 스트리밍이 방법 당신은뿐만 아니라 MySQL의 명령 실행을 참조하십시오.
-
==============================
2.추가하는 많은 행이 가정, 당신은 아마 DATA INFILE 문이 아니라 INSERT를 LOAD 필요가있다. 소스 파일은 서버에 있어야한다,하지만 여기 경우 것 같다.
추가하는 많은 행이 가정, 당신은 아마 DATA INFILE 문이 아니라 INSERT를 LOAD 필요가있다. 소스 파일은 서버에 있어야한다,하지만 여기 경우 것 같다.
뭐 그런 :
#!/bin/bash mysql -uroot -ptest test << EOF LOAD DATA INFILE 'test.txt' INTO TABLE tbl_name FIELDS TERMINATED BY ' '; EOF
LOAD DATA INFILE을 사용하면 문서를 읽고 발견 할 수 많은 옵션이 있습니다.
-
==============================
3.당신은 당신이 오류 메시지가 이유가 그래서 3 개 개의 매개 변수 (IP, MAC 및 서버)를 필요로하는 INSERT 문에서 데이터베이스의 String로서 값 "고양이있는 test.txt"를 삽입하려고합니다.
당신은 당신이 오류 메시지가 이유가 그래서 3 개 개의 매개 변수 (IP, MAC 및 서버)를 필요로하는 INSERT 문에서 데이터베이스의 String로서 값 "고양이있는 test.txt"를 삽입하려고합니다.
당신은 작성하면 다음과 같을 것이다 쿼리에이를 사용하여 먼저 텍스트 파일을 읽고 IP, MAC 및 서버 값을 추출해야합니다
#!/bin/bash echo "INSERT INTO test (IP,MAC,SERVER) VALUES ('10.16.54.29', '00:f8:e5:33:22:3f', 'marsara');" | mysql -uroot -ptest test;
-
==============================
4.나는 이것을 사용하고 작동 :
나는 이것을 사용하고 작동 :
mysql -uroot -proot < infile
또는 먼저 데이터베이스를 선택
./mysql -uroot -proot db_name < infile
또는 클립 보드에 전체 SQL을 복사하여 붙여 넣기
pbpaste > temp_infile && mysql -uroot -proot < temp_infile && rm temp_infile
from https://stackoverflow.com/questions/17997558/bash-script-to-insert-values-in-mysql by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 업데이트 쿼리 내에서 SELECT를 사용하여 (0) | 2020.05.12 |
---|---|
[SQL] 사용 된 SELECT 문은 열을 다른 수 있습니다 (REDUX를!) (0) | 2020.05.12 |
[SQL] PHP에서 날짜 형식으로 ISO8601를 변환하는 방법 (0) | 2020.05.12 |
[SQL] MySQL은 : LAST_INSERT_ID ()는 0을 반환 (0) | 2020.05.12 |
[SQL] MySQL의 대량로드 명령 줄 도구 (0) | 2020.05.12 |