使用shell操作数据库
2015-10-21 tech linux shell mysql 5 mins 1773 字
我一般都是用phpmyadmin连接MySQL。偶尔使用shell登陆MySQL时,一些命令常常忘记,于是记录一些MySQL基础的连接操作命令。
交互式
mysql --version // MySQL版本
mysql -uroot -p // 登陆,随后输入密码。
mysql> show database;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
+--------------------+
3 rows in set (0.00 sec)
mysql> use kelu
Database changed
mysql> show tables;
+----------------+
| Tables_in_kelu |
+----------------+
| vpn_chargeRec |
| vpn_online |
| vpn_record |
| vpn_subAccount |
| vpn_user |
+----------------+
5 rows in set (0.00 sec)
mysql> source xxx.sql
脚本
首先,定义一些基本的配置。
#!/bin/bash
HOSTNAME="127.0.0.1"
PORT="3306"
USERNAME="root"
PASSWORD="root"
DBNAME="mydb"
TABLENAME="test"
接着就是基本的CURD操作.
创建数据库
create_db_sql="create database IF NOT EXISTS ${DBNAME}"
mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} -e "${create_db_sql}"
创建表
create_table_sql="create table IF NOT EXISTS ${TABLENAME} ( name varchar(20), id int(11) default 0 )"
mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME} -e "${create_table_sql}"
插入数据
insert_sql="insert into ${TABLENAME} (username,starttime) values('$PEERNAME','$STARTTIME')"
mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME} -e "${insert_sql}"
查询数据
select_sql="select id,starttime from ${TABLENAMEPRE} where username='$PEERNAME' AND IFACE='$PPP_IFACE' AND TTY='$PPP_TTY'"
result=`mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME} -e "${select_sql}"`
更新数据
update_sql="update ${TABLENAME} set id=3"
mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME} -e "${update_sql}"
删除数据
delete_sql="delete from ${TABLENAMEPRE} where id='$idPre'"
mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME} -e "${delete_sql}"