在shell脚本中建一个数据库表

#!/bin/bash

HOSTNAME="192.168.1.224" #数据库Server信息
PORT="3306"
USERNAME="root"
PASSWORD=""

DBNAME="test_db_name" #要创建的数据库的库名称
TABLENAME="test_table_name" #要创建的数据库的表的名称

MYSQL_CMD="mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD}"
echo ${MYSQL_CMD}

echo "create database ${DBNAME}"

create_db_sql="create database IF NOT EXISTS ${DBNAME}"
echo ${create_db_sql} | ${MYSQL_CMD} #创建数据库
if [ $? -ne 0 ] #判断是否创建成功
then
echo "create databases ${DBNAME} failed ..."
exit 1
fi

echo "create table ${TABLENAME}"

create_table_sql="create table ${TABLENAME}(name char(6) NOT NULL,id int default 0)ENGINE=MyISAM DEFAULT CHARSET=latin1"
echo ${create_table_sql} | ${MYSQL_CMD} ${DBNAME} #在给定的DB上,创建表
if [ $? -ne 0 ] #判断是否创建成功
then
echo "create table ${DBNAME}.${TABLENAME} fail ..."
fi
直接在Linux自带的数据库sqlplus里面建用create table这个会
我想在shell脚本中建,然后只要执行shell脚本,数据库表就建成了
在这个程序上做修改,把建库的那部分删掉,只留下建表的,但一直都没调试通,哪位高手给修改下啊,万分感激啊
上面这个程序是mysql的,我要的是oracle中的

第1个回答  推荐于2018-04-07
ORACLE 用SQLPLUS 连接数据库
sqlplus user/password@SERVICE_NAME
然后直接运行创建创建数据库的脚本文件即可本回答被网友采纳
第2个回答  2012-04-16
首先把创建表的语句写入sql文件,即/tmp/aaa.sql
mysqlpath="/usr/bin/mysql -u用户名 -p密码 --default-character=utf8 " #mysql的存放路径
然后: sed -e /tmp/aaa.sql | $mysql -D 数据库名

OK
相似回答