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

Oracle里那些数据操作和控制语言的具体步骤怎么弄,慢慢讲给你听

数据操作语言——和表格里的数据打交道

数据操作语言,说白了就是往表格里添新行、改已有的数据、看不想要的数据,对应的三个关键词是 INSERT(插入)、UPDATE(更新)和 DELETE(删除),还有一个最重要的 SELECT(查询),它是用来查看数据的。

添加新数据

想象一下,你有一个记录员工信息的表格,里面有工号、姓名、部门这些栏目,现在要新来一位员工,你得给他加一行记录。

  • 步骤:
    • 想清楚要填什么: 你得知道新员工的工号、姓名和部门分别是什么,工号是 1001,姓名是‘张三’,部门是‘销售部’,注意,在 Oracle 里,文字内容通常要用单引号包起来。
    • 写命令: 打开你能操作 Oracle 的工具(SQL*Plus 或 SQL Developer),写下这样的命令:
      INSERT INTO 员工表 (工号, 姓名, 部门) VALUES (1001, '张三', '销售部');

      这里,INSERT INTO 员工表 表示要往“员工表”里插数据,括号里的 (工号, 姓名, 部门) 是指定你要往哪几个栏目里填值,后面的 VALUES 括号里,就是按顺序对应前面的栏目,写上具体的值。

    • 执行并确认: 写完命令后,执行它,如果系统提示“已创建 1 行”,那就说明成功了,为了确认,你可以用下面要讲的查询语句 SELECT * FROM 员工表; 看看是不是多了一行张三的记录。

查看数据

这是你最常用的操作,就是看看表格里都有什么。

Oracle里那些数据操作和控制语言的具体步骤怎么弄,慢慢讲给你听

  • 步骤:
    • 最简单的查看: 如果你想看“员工表”里所有栏目的所有数据,命令非常简单:
      SELECT * FROM 员工表;

      这个星号 就代表“所有栏目”。

    • 有选择地查看: 如果表格很大,你只关心某些栏目,比如只想看所有人的姓名和部门,可以这样:
      SELECT 姓名, 部门 FROM 员工表;
    • 带条件地查看: 如果你只想看销售部的员工,可以加上 WHERE 条件:
      SELECT * FROM 员工表 WHERE 部门 = '销售部';

修改已有数据

张三从销售部调到了市场部,你需要更新他的信息。

  • 步骤:
    • 写命令要特别小心: 修改数据的命令是 UPDATE最重要的一点是,千万不能忘了加 WHERE 条件! 否则你会把表格里所有人的部门都改成市场部。
    • 正确做法:
      UPDATE 员工表 SET 部门 = '市场部' WHERE 工号 = 1001;

      这句命令的意思是:更新员工表,设置部门为‘市场部’,但是只针对工号等于 1001 的那一行。WHERE 条件就像是一个筛选器,帮你精确定位要修改的行。

    • 执行并确认: 执行后,同样用 SELECT 语句检查一下张三的部门是不是已经改过来了。

删除数据

Oracle里那些数据操作和控制语言的具体步骤怎么弄,慢慢讲给你听

张三离职了,需要把他的记录从表里删掉。

  • 步骤:
    • 和修改一样,要格外小心: 命令是 DELETE同样,忘记 WHERE 条件将是灾难性的,它会清空整个表格!
    • 正确做法:
      DELETE FROM 员工表 WHERE 工号 = 1001;

      这句命令的意思是:从员工表中删除那些工号等于 1001 的行,因为工号是唯一的,所以只会删除张三那一行。

    • 执行并确认: 执行后,查询一下表格,确认张三的记录已经不见了。

第二部分:数据控制语言——管理谁能做什么

数据控制语言,就像是给这个共享笔记本设定权限,你作为笔记本的主人,可以决定谁只能看,谁能修改,谁能添加新页。

授予权限

Oracle里那些数据操作和控制语言的具体步骤怎么弄,慢慢讲给你听

你想让你的同事李四也能查看“员工表”,但不能修改。

  • 步骤:
    • 使用 GRANT 命令: 你需要有足够的权限(比如是管理员或者这个表的主人)才能给别人授权。
    • 授予查询权限:
      GRANT SELECT ON 员工表 TO 李四;

      这句命令的意思是:把对“员工表”的查询权力授予用户“李四”,现在李四就可以执行 SELECT * FROM 员工表; 了。

    • 授予更多权限: 如果你还想让李四能插入、修改数据,可以这样:
      GRANT INSERT, UPDATE ON 员工表 TO 李四;

      多个权限之间用逗号隔开,甚至可以用 ALL 授予所有权限(要非常谨慎)。

收回权限

后来你觉得让李四看员工表不合适了,需要把权限收回来。

  • 步骤:
    • 使用 REVOKE 命令: 这是 GRANT 的反操作。
    • 收回权限:
      REVOKE SELECT ON 员工表 FROM 李四;

      这样,李四就再也无法查询这张表了。

最后的重要提醒

  • 事务的概念: 在 Oracle 里,你执行的 INSERTUPDATEDELETE 操作,在最终执行 COMMIT(提交)命令之前,都只是临时的,你可以用 ROLLBACK(回滚)命令取消所有这些临时操作,让数据恢复到操作前的状态,这就像是一个“撤销”按钮,但一旦执行了 COMMIT,更改就永久生效了,不能再回滚,所以对于重要的修改,操作前要谨慎。
  • 安全第一: 再次强调,进行 UPDATEDELETE 时,永远记得加上 WHERE 条件,除非你真的想更新或清空整个表。

希望这些一步一步的解释,能让你对 Oracle 里这些基本操作有个直观的理解,它们就像一套组合拳,帮你管理和维护好数据库里的数据。