====== MySQL Client ====== *[[https://examples.javacodegeeks.com/enterprise-java/sql-enterprise-java/mysql-command-line-tutorial/|MySQL Command Line Tutorial]] * [[database:mysql:mycli|mycli]] : 더 좋은 CLI ===== SQL File load ===== mysql -u 사용자명 -p -e "source 덤프파일명.sql" DB이름 ===== Pipe로 쿼리 로드 ===== [[http://stackoverflow.com/questions/6150675/how-to-feed-mysql-queries-from-bash|linux - How to feed mysql queries from bash]] echo "select 1" | mysql -u ... -p ... mysql --host=localhost --user=user --password=password << END -- queries END mysql --host=localhost --user=user --password=password < commands.sql ===== table name 자동완성 ===== * ''my.cnf'' 설정 파일에 다음을 추가하거나 [mysql] auto-rehash * 명령행에서 ''--auto-rehash'' 옵션을 주거나 mysql --auto-rehash -u root -p * ''mysql'' cli 안에서 다음 명령 이후 부터는 ''Tab''키로 테이블 명 자동완성이 된다. mysql> \# ===== 결과를 Local TSV 파일로 저장하기 ===== * https://stackoverflow.com/a/35086235 * ''%%--batch%%'' : 결과를 tab 구분자로 출력한다. * ''%%--raw%%'' : ''\n'', ''\t'', ''\0'' 같은 문자열 이스케이핑을 하지 않는다. mysql -udemo_user -p -h127.0.0.1 --port=3306 \ --default-character-set=utf8mb4 --database=demo_database \ --batch --raw < /tmp/demo_sql_query.sql > /tmp/demo_csv_export.tsv ===== 참조 ===== * [[https://medium.com/daangn/mysql-command-line-interface-21de489e7db5|MySQL Command Line Interface. 요즘은 세상의 모든 컴퓨터 화면이 그래픽 인터페이스로 바뀐 것 처럼…]]