`
雪馨25
  • 浏览: 125697 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

oracle简单学习总结(五)——数据操作(增删改)

阅读更多

一、插入数据

1.1 建表

CREATE TABLE AZJuserInfor(
id int NOT NULL primary key,
name varchar(50) NULL,
birthday date NOT NULL,
age int NOT NULL,
sex int NOT NULL
);

1.2 插入数据

INSERT INTO 表名[(字段列表)] VALUES ( 表达式列表);

insert into AZJuserInfor values (1,'张三',to_date('2012-02-13','yyyy:MM:dd'),0,1);
insert into AZJuserInfor values (2,'李四',to_date('2001-05-13','yyyy:MM:dd'),11,0);
insert into AZJuserInfor values (3,'王五',to_date('2001-08-03','yyyy:MM:dd'),11,0);

说明:

1、插入字段的值的类型要和字段的类型一一对应。

2、字符串类型的字段值必须用单引号括起来,例如:'张三'。字符串类型的字段值超过定义的长度会出错

3、如果要插入表的全部字段,则表名后的字段列表可以省略。

4、其他没有插入的字段,系统会填写为表的默认值。如果在表的创建时没有说明默认值,则将插入NULL值。

5、日期类型的字段值也要用单引号括起来,如'10-1月-03'。日期型的数据默认格式为DD-MON-YY,默认的世纪为当前的世纪,默认的时间为午夜12点。如果指定的世纪不是本世纪或时间不是午夜12点,则必须使用TO_DATE系统函数对字符串进行转换。

1.3 复制数据

CREATE TABLE AZJuserInfor2 AS SELECT id,name,birthday FROM AZJuserInfor WHERE id>1;

说明: CREATE命令用来根据已经存在的表创建新表

1.4 序列

使用INSERT语句时,可以通过序列来填写某些数值型或字符型的列。序列是一个要预先定义的有序的数值序列, 应该先建立一个序列,然后在插入语句中使用

CREATE SEQUENCE abc INCREMENT BY 1 START WITH
4
MAXVALUE 99999 CYCLE NOCACHE;

说明: CREATE SEQUENCE 序列名称 INCREMENT BY 间隔值 START WITH 初始值 MAXVALUE 最大值 CYCLE NOCACHE;

1.4.1 使用序列

说明: 插入时使用序列来填充id,使用abc.nextval可获得序列中的下一个值。后边两个记录来自序列,并且是递增的。

二、修改数据

2.1 修改数据

修改数据的语句UPDATE对表中指定字段的数据进行修改,一般需要通过添加WHERE条件来限定要进行修改的行,如果不添加WHERE条件,将对所有的行进行修改。

UPDATE 表名 SET 字段名1=表达式1, 字段名2=表达式2, ... WHERE 条件;

说明:

1、如果修改的值没有赋值或定义,将把原来字段的内容清为NULL。

2、若修改值的长度超过定义的长度,则会出错。

3、省略WHERE条件,否则将会修改表的所有行。

2.2 根据其他表修改数据

UPDATE 表名 SET (字段名1, 字段名2, ...) = SELECT (字段名1, 字段名2, ...) FROM 另外的表名 WHERE 条件;

例:azjuserinfor2表根据azjuserinfor表修改

三、删除数据

DELETE FROM 表名 WHERE 条件;

说明: 要从表中删除满足条件的记录,WHERE条件一般不能省略,如果省略就会删除表的全部数据。

说明: 删除记录并不能释放Oracle中被占用的数据块表空间,它只是把那些被删除的数据块标成unused。如果确实要删除一个大表里的全部记录, 可以用TRUNCATE 命令,它可以释放占用的数据块表空间,语法为:

TRUNCATE TABLE 表名;
此命令和不带WHERE条件的DELETE语句功能类似,不同的是,DELETE命令进行的删除可以撤销,但此命令进行的删除不可撤销。

注意:TRUNCATE TABLE命令用来删除表的全部数据而不是删除表,表依旧存在。

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics