如何在Linux的shell中先删除数据库再创建数据库

笑羽酣天 2010-06-22 04:20:21
十万火急
...全文
332 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
笑羽酣天 2010-06-22
  • 打赏
  • 举报
回复
其实开始的是好不判断就退出了嘛,所以想判断下而已。
Linux远程,哪位高手有妙招,指点下啦。
笑羽酣天 2010-06-22
  • 打赏
  • 举报
回复
恩,很好使的,
先判断在删除,最后创建数据库,我又做了把数据导入到数据库的操作,这些在一台机子上都好使了。

很感谢“ecsape”的方法管用的,同时也很感谢"steptodream"
非常感谢各位的大力赐教,小弟真的感激,我一会给你们加分的,

还有最后一个问题:我现在想在A台Linux机子上操作B(Linux)上的Mysql
操作的功能也是刚才的那些,如何做,我试了,不好使。
ecsape 2010-06-22
  • 打赏
  • 举报
回复
其实我也觉得反正都要删,还判断下干嘛,不过楼主既然问了,我也就说下。
ecsape 2010-06-22
  • 打赏
  • 举报
回复
我补充下楼上的:
drop database if exists dbname;
drop table if exists 表名;
steptodream 2010-06-22
  • 打赏
  • 举报
回复
无论有没有都要删除 那你就先来一句删除 再创建不就可以了
但是别写在一起 否则如果不存在 第一句删除就会报错退出
笨办法
#!/bin/sh
mysql -uroot -pmysql << EOF
drop database tigasedb;
EOF
mysql -uroot -pmysql << EOF1
create database tigasedb;
EOF1
steptodream 2010-06-22
  • 打赏
  • 举报
回复
或者把操作的语句写到文件里
比如你的
create database tigasedb;
写到test.sql里
然后这样执行
mysql -uroot -proot < test.sql
笑羽酣天 2010-06-22
  • 打赏
  • 举报
回复
恩,楼上的这个是可以创建数据库了,
我此时还有个问题是,我先在创建前向判断下,是否已经存在了这个数据库,如何存在就删除,然后再创建,如果不存在就直接创建数据库,着如何是好?
winter_sui 2010-06-22
  • 打赏
  • 举报
回复
这样当然不行了。

mysql命令应该有读取文件中的sql并执行的用法。
你看一下mysql命令的帮助。
steptodream 2010-06-22
  • 打赏
  • 举报
回复
这样试试
#!/bin/sh
mysql -uroot -proot << EOF
create database tigasedb;
EOF
笑羽酣天 2010-06-22
  • 打赏
  • 举报
回复
我是这样的:

#!/bin/sh
mysql -uroot -proot;
create database tigasedb;
但执行后是这样的:

[root@localhost opt]# ./Test.sh
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 13
Server version: 5.1.45-community MySQL Community Server (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>
笑羽酣天 2010-06-22
  • 打赏
  • 举报
回复
是Mysql的数据库
笑羽酣天 2010-06-22
  • 打赏
  • 举报
回复
在命令行是可以的,但如何写在shell里,我试了,不行的
lylm 2010-06-22
  • 打赏
  • 举报
回复
什么数据库?如果你能在命令行删除数据库、创建数据库的话,直接写到SHELL里就行了,否则不行

23,116

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧