当前位置:首页 > 问答 > 正文

用Sql Developer帮忙把写好的SQL代码搬到Oracle数据库里,过程和注意点分享

我们得明确一点,SQL Developer是Oracle官方提供的一个免费且功能强大的图形化工具,它就是用来和Oracle数据库打交道的,把你写好的SQL代码搬到数据库里,说白了就是让代码在数据库里运行起来,创建表、插入数据或者查询数据,这个过程看似简单,但有些细节不注意,可能会白忙活一场或者带来麻烦。

第一步:连上数据库是关键

在你运行任何代码之前,你必须先让SQL Developer知道你要连接的是哪个数据库,这就好比你要去朋友家,总得知道地址和门牌号吧,在SQL Developer里,你需要创建一个数据库连接。

打开SQL Developer,在左侧的“连接”面板里,右键点击“连接”,选择“新建连接”,然后会弹出一个窗口,你需要填写几项关键信息:

  • 连接名:这个你随便起,只是为了你自己好识别,测试库”、“生产库”等等。
  • 用户名:就是数据库分配给你的那个账号名。
  • 密码:对应的密码。
  • 连接身份:一般默认选“Default”就行,如果你是管理员,可能会有其他选项。
  • 主机名:数据库服务器所在的机器IP地址或者网络名称,如果数据库就在你本机上,可以填“localhost”或者“127.0.0.1”。
  • 端口:通常是1521,这是Oracle数据库的默认端口,但如果管理员改过,你需要问清楚。
  • 服务名:这是数据库的唯一标识符,这个信息必须正确,最常见的叫法是“ORCL”,但也可能是别的。

填好后,可以点一下“测试”按钮,如果状态显示“成功”,恭喜你,钥匙对了,门打开了,然后保存这个连接,之后你每次打开SQL Developer,直接双击这个连接名就能连上了。

第二步:把代码放进SQL Developer

用Sql Developer帮忙把写好的SQL代码搬到Oracle数据库里,过程和注意点分享

连上数据库后,你就可以开始搬代码了,SQL Developer的主要工作区域就是一个大大的编辑窗口,你直接把写好的SQL代码复制粘贴到这个空白窗口里,你的代码可能是一个很长的脚本,里面包含了很多条SQL语句,比如有创建表的CREATE TABLE,有插入数据的INSERT,也有查询的SELECT。

这里要注意一个非常重要的细节:如何区分多条语句,在SQL Developer里,默认情况下,它一次执行的是当前选中的语句,或者是以分号(;)结尾的一条语句,如果你的脚本里有很多条语句,它们之间都用分号隔开了,你有两种处理方式:

  1. 一条一条执行:你可以用鼠标选中一条完整的语句(包括结尾的分号),然后按键盘上的F9键,或者点击那个绿色的三角箭头图标,执行结果会在下方的“脚本输出”或“查询结果”窗口显示,这样做的好处是稳妥,哪条出错了能立刻知道,适合调试。
  2. 作为一个脚本整体执行:如果你确认所有语句都没问题,想一口气跑完,你可以把所有代码都选中,然后按F5键,或者点击那个看起来像一张纸的“运行脚本”图标,这种方式会按顺序执行所有语句,结果会在“脚本输出”窗口里显示,这种方式效率高,但一旦中间某句出错,后面的就不会执行了。

根据Oracle SQL Developer用户指南中的说明,F9(执行语句)和F5(运行脚本)在处理多语句和输出格式上是有区别的,根据你的需要选择正确的方式很重要。

第三步:运行代码和查看结果

用Sql Developer帮忙把写好的SQL代码搬到Oracle数据库里,过程和注意点分享

点击执行后,你就需要密切关注下方的输出窗口了。

  • 如果一切顺利,你会看到类似“表已创建”、“1 行已插入”这样的成功消息。
  • 如果代码有错误,比如表名写错了、语法不对,窗口会用红色字体显示错误信息,你一定要仔细阅读这个错误信息,它通常会告诉你错误发生在哪一行,以及大概是什么原因,这是你修改代码的最重要依据。

特别是当你执行查询语句(SELECT)时,结果会以表格的形式显示在“查询结果”窗口,非常直观,你可以在这里排序、筛选查看数据。

第四点:特别要注意的几个地方

光是会运行还不够,有些坑你得提前知道:

  1. 事务提交:这是一个很容易被忽略但极其重要的点,当你执行INSERT、UPDATE、DELETE这些会改变数据的语句时,这些修改在刚开始只是“临时”的,你必须进行“提交”(Commit)操作,修改才会被永久地保存到数据库中,你可以在工具栏找到一个绿色的勾选图标(提交),或者直接在执行完修改语句后,在脚本窗口里单独写一行“COMMIT;”并执行它,如果你没有提交就断开了数据库连接,那么你刚才所有的修改都会丢失!反过来,如果你发现改错了,你可以执行“ROLLBACK;”来回滚撤销之前的修改,养成好习惯,做完数据变更想清楚是提交还是回滚。
  2. 代码的兼容性:你写好的SQL代码可能是在别的数据库(比如MySQL)上写的,直接搬到Oracle可能不兼容,比如日期时间的写法、字符串的连接符等,Oracle可能有自己的语法,最好先在Oracle上测试一下关键语句。
  3. 权限问题:你的数据库用户账号可能只有查询权限,没有创建表或者插入数据的权限,如果你在执行创建表语句时报了权限不足的错误,你需要联系数据库管理员(DBA)给你开通相应的权限。
  4. 备份!备份!备份!:尤其是在你要对重要的数据库或者数据表进行大规模修改或删除操作之前,最好能有备份,如果是删除表,可以先用SELECT * FROM 你的表名确认一下是不是真的要删的那张表,或者先把表改名(ALTER TABLE ... RENAME TO ...)而不是直接删除,给自己留个后悔的机会。
  5. 使用工作表保存脚本:你可以把写好的SQL脚本保存在SQL Developer的工作表(Worksheet)里,或者保存成.sql后缀的本地文件,这样以后需要再次使用或修改的时候就方便多了。

用SQL Developer搬移SQL代码的过程就是:先连接数据库,再粘贴代码,然后根据情况选择执行方式(F9或F5),最后密切关注执行结果并处理好事务提交,只要注意了连接信息、语句分隔、事务控制和权限这些问题,整个过程就会变得直接而高效。