原文鏈接: http://www.reibang.com/p/311e54ec7ba7
作者: shark
基本思路
shell 操作 MySQL 是通過(guò)給
mysql
這個(gè)客戶端程序傳遞相應(yīng)的參數(shù)實(shí)現(xiàn)的
mysql -u用戶 -p'password' db_name -e "sql 語(yǔ)句"
#!/bin/bash
HOSTNAME="localhost" #數(shù)據(jù)庫(kù)信息
PORT="3306"
USERNAME="root"
PASSWORD="QFedu123!"
DBNAME="d1" #數(shù)據(jù)庫(kù)名稱
TABLENAME="t1" #數(shù)據(jù)庫(kù)中表的名稱
exec_mysql="mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD}"
#創(chuàng)建數(shù)據(jù)庫(kù)
create_db_sql="create database IF NOT EXISTS ${DBNAME}"
${exec_mysql} -e "${create_db_sql}"
${exec_mysql} "show databases;"
#創(chuàng)建表
create_table_sql="create table IF NOT EXISTS ${TABLENAME} ( name varchar(20), id int(11) default 0 )"
${exec_mysql} ${DBNAME} -e "${create_table_sql}"
#插入數(shù)據(jù)
insert_sql="insert into ${TABLENAME} values('billchen',2)"
${exec_mysql} ${DBNAME} -e "${insert_sql}"
查詢
查詢時(shí)候可能需要避免不必要的輸出
search_dbs="show databases;"
${exec_mysql} ${DBNAME} -e "${search_dbs}" -N -B
-N
不輸出列名(字段名)
-B
不輸出數(shù)據(jù)之間的邊框豎線 (|
)
輸出格式可以是其他的绍坝,比如
-H
輸出 HTML 格式
隱藏用戶名和密碼
[mysql]
user=root
password='QFedu123!'
mysql --defaults-file=./mysql_pwd -h 172.17.0.2 -e "show databases;" -N -B