Oracle数据库学习笔记4——PL/SQL基础2

在PL/SQL中的数据操纵语言

插入语句——INSERT

INSERT语句用于向数据库的表插入一行,由VALUES给定该行各列的值。
语法格式:

INSERT INTO <表名>[(<列名1>,<列名2>,…n)]
  VALUES(<列值1>,<列值2>,…n)

其中,列值表必须与列名表一一对应,且数据类型相同。
向表的所有列添加数据时,可以省略列名表,但列值表必须与列名表顺序和数据类型一致。

使用PL/SQL语言进行插入、修改和删除后,为将数据的改变保存到数据库中,应使用COMMIT命令进行提交,使用方法如下:

COMMIT

后面的SQL语句都省略COMMIT命令,运行时请自行添加。
注:如果没有用COMMIT,可以使用ROLLBACK撤销

【例】向student表插入表4.1各行数据。

INSERT INTO student VALUES('121001','刘鹏翔','男',TO_DATE('19920825','YYYYMMDD'),'计算机','201205',52);
INSERT INTO student VALUES('121002','李佳慧','女',TO_DATE('19930218','YYYYMMDD'),'计算机','201205',50);
INSERT INTO student VALUES('121004','周仁超','男',TO_DATE('19920926','YYYYMMDD'),'计算机','201205',50);
INSERT INTO student VALUES('124001','林琴','女',TO_DATE('19920321','YYYYMMDD'),'通信','201236',52);
INSERT INTO student VALUES('124002','杨春容','女',TO_DATE('19921204','YYYYMMDD'),'通信','201236',48);
INSERT INTO student VALUES('124003','徐良成','男',TO_DATE('19930515','YYYYMMDD'),'通信','201236',50);

注:TO_DATE函数:把字符型转化为日期型。括号里,前一个是字符,后一个是日期格式

使用SELECT语句查询插入的数据:

SELECT *
  FROM student;

在这里插入图片描述
INSERT语句也用在数据库初始时插入数据

修改语句——UPDATE

UPDATE语句用于修改表中指定记录的列值。

语法格式:

UPDATE <表名>
   SET <列名>={<新值>|<表达式>} [,…n]
   [WHERE <条件表达式>]

其中,在满足WHERE子句条件的行中,将SET子句指定的各列的列值设置为SET指定的新值;
如果省略WHERE子句,则更新所有行的指定列值。

【例1】(有WHERE子句条件)
在employee表中将刘松涛的员工号改为1021,员工地址改为东大街34号。

UPDATE employee
  SET eid='1021', address='东大街34号'
  WHERE ename='刘松涛';

【例5.19】(省略WHERE子句)
在student表中,将所有学生的学分增加2分。

UPDATE student
  SET tc=tc+2;

删除语句——DELETE、TRANCATE TABLE

1. DELETE语句

DELETE语句用于删除表中的一行或多行记录,它的基本语法格式如下:

语法格式:

DELETE FROM <表名>
   [WHERE <条件表达式>]

该语句的功能为从指定的表或中删除满足WHERE子句条件行,若省略WHERE子句,则删除所有行。

【例】在employee表中,删除员工号为1021的行。

DELETE FROM employee
   WHERE eid='1021';
2.TRANCATE TABLE语句

功能:删除一个表里的全部记录,释放表的存储空间,但此操作不可回退

语法格式:

TRUNCATE TABLE <表名> 

注:如果用DELETE语句,删错了可以用ROLLBACK撤销,用TRANCATE TABLE语句不能撤销

发布了102 篇原创文章 · 获赞 2 · 访问量 3753
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 技术黑板 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览