シェルスクリプト操作のMySQLデータベースは、MySQL -eパラメータを使用してSQL(削除、追加、削除、作成、変更、チェック)、およびその他の操作のさまざまを実行することができます
シェルで動作することができるMySQLのプロンプト、すなわちMySQLの方法でMySQLを実行することなく、MySQLの-hhostname -Pport -Uusername -Ppassword -e関連MySQLのSQL文。
#!/ binに/ bashの
HOSTNAME = "192.168.111.84" #データベース情報
PORT = "3306"
USERNAME = "ルート"
PASSWORD = ""
DBNAME = "test_db_test" #データベース名
、テーブルTABLENAMEの名前= "test_table_test" #データベース
#创建数据库
create_db_sql = "NOT存在する場合、データベースを作成$ {DBNAME}"
のMySQL -h $ {HOSTNAME} -P $ {PORT} -u $ {USERNAME} -p $ {PASSWORD} -e "$ {create_db_sqlを}"
#创建表
create_table_sql = "$ {TABLENAME}(名前はvarchar(20)、IDのINT(11)デフォルト0)が存在しない場合、テーブルを作成する"
MySQLの-h $ {HOSTNAME} -P $ {PORT} -u $ {USERNAME}を-p $ {PASSWORD} $ {DBNAME} -e "$ {} create_table_sql"
#插入数据
insert_sql = "$ {TABLENAME}値( 'billchen'、2)への挿入"
$ {PASSWORD} $ {DBNAME} -p MySQLの-h $ {HOSTNAME} -P $ {PORT} -u $ {USERNAME} -e "$ {} insert_sql"
#查询
select_sql = "$ {TABLENAME} SELECT * FROM"
のMySQL -h $ {HOSTNAME} -P $ {PORT} -u $ {USERNAME} $ {PASSWORD} $ {DBNAME} -e "$ {select_sql}" -p
#更新数据
update_sql = "更新$ {TABLENAME}セットID = 3"
のMySQL -h $ {HOSTNAME} -P $ {PORT} -u $ {USERNAME} $ {PASSWORD} $ {DBNAME} -e「$ {-p update_sql}」
のMySQL -h $ {HOSTNAME} -P $ {PORT} -u $ {USERNAME} $ {PASSWORD} $ {DBNAME} -e -p "$ {select_sql}"
#删除数据
delete_sql = "$ {TABLENAME}から削除"
のMySQL -h $ {HOSTNAME} -P $ {PORT} -u $ {USERNAME} $ {PASSWORD} $ {DBNAME} -e "$ {delete_sql}" -p
MySQLの-h $ {HOSTNAME} -P $ {PORT} -u $ {USERNAME} $ {PASSWORD} $ {DBNAME} -e "$ {select_sql}" -p
PROCESSLISTを表示私は最終的に解決する方法を知っている質問をフィルタリングする方法
mysqlの-uroot -e -pパスワードは、 'show PROCESSLIST \ G';
mysqlの-uroot -e 'ショーPROCESSLIST \ G' | grepの 'INFO' |はgrep -v "NULL" | awkの-F ":" '{$ 2印刷}' |並べ替え| uniqの-c |ソート-rn;(図であり、どのようなステートメントが実行され、マージソートを行うれる:)
シェルで動作することができるMySQLのプロンプト、すなわちMySQLの方法でMySQLを実行することなく、MySQLの-hhostname -Pport -Uusername -Ppassword -e関連MySQLのSQL文。
#!/ binに/ bashの
HOSTNAME = "192.168.111.84" #データベース情報
PORT = "3306"
USERNAME = "ルート"
PASSWORD = ""
DBNAME = "test_db_test" #データベース名
、テーブルTABLENAMEの名前= "test_table_test" #データベース
#创建数据库
create_db_sql = "NOT存在する場合、データベースを作成$ {DBNAME}"
のMySQL -h $ {HOSTNAME} -P $ {PORT} -u $ {USERNAME} -p $ {PASSWORD} -e "$ {create_db_sqlを}"
#创建表
create_table_sql = "$ {TABLENAME}(名前はvarchar(20)、IDのINT(11)デフォルト0)が存在しない場合、テーブルを作成する"
MySQLの-h $ {HOSTNAME} -P $ {PORT} -u $ {USERNAME}を-p $ {PASSWORD} $ {DBNAME} -e "$ {} create_table_sql"
#插入数据
insert_sql = "$ {TABLENAME}値( 'billchen'、2)への挿入"
$ {PASSWORD} $ {DBNAME} -p MySQLの-h $ {HOSTNAME} -P $ {PORT} -u $ {USERNAME} -e "$ {} insert_sql"
#查询
select_sql = "$ {TABLENAME} SELECT * FROM"
のMySQL -h $ {HOSTNAME} -P $ {PORT} -u $ {USERNAME} $ {PASSWORD} $ {DBNAME} -e "$ {select_sql}" -p
#更新数据
update_sql = "更新$ {TABLENAME}セットID = 3"
のMySQL -h $ {HOSTNAME} -P $ {PORT} -u $ {USERNAME} $ {PASSWORD} $ {DBNAME} -e「$ {-p update_sql}」
のMySQL -h $ {HOSTNAME} -P $ {PORT} -u $ {USERNAME} $ {PASSWORD} $ {DBNAME} -e -p "$ {select_sql}"
#删除数据
delete_sql = "$ {TABLENAME}から削除"
のMySQL -h $ {HOSTNAME} -P $ {PORT} -u $ {USERNAME} $ {PASSWORD} $ {DBNAME} -e "$ {delete_sql}" -p
MySQLの-h $ {HOSTNAME} -P $ {PORT} -u $ {USERNAME} $ {PASSWORD} $ {DBNAME} -e "$ {select_sql}" -p
PROCESSLISTを表示私は最終的に解決する方法を知っている質問をフィルタリングする方法
mysqlの-uroot -e -pパスワードは、 'show PROCESSLIST \ G';
mysqlの-uroot -e 'ショーPROCESSLIST \ G' | grepの 'INFO' |はgrep -v "NULL" | awkの-F ":" '{$ 2印刷}' |並べ替え| uniqの-c |ソート-rn;(図であり、どのようなステートメントが実行され、マージソートを行うれる:)