Oracle数据库的增删改操作介绍
前面的博文介绍了Oracle的简单查询操作,博客地址:http://blog.csdn.net/weixin_36380516/article/details/65935879 这里再对Oracle的更新操作即Oracle的增删改操作进行简单的介绍 首先要掌握对表结构的基本操作。 增加字段: alter table table_name add(one_column varchar2(10)); 一次增加多个字段的话,每个字段直接以,分开。 例如: alter table table_name add(one_column varchar2(10),two_column varchar2(5),....); 删除字段: alter table 表名 drop(字段名) alter table table_name drop(one_column);一次删除多个字段,要在括号中,每个字段以,分开。 例如: alter table table_name drop(one_column,two_column,...) 修改字段名: alter table 表名 rename column 旧字段名 to 新字段名 alter table table_name rename column old_column to new_column; 修改字段类型或者长度: alter table 表名 modify 字段名 字段类型 (字段长度) alter table table_name modify column_name varchar (10); 查看表结构: desc 表名; 对表中数据的操作是重点。 新建一个test表,以此表为例,进行更新操作 create table test( id number,name varchar2(20),age number(2) ); 插入数据操作: 1,insert into表名 values (所有列的值); 2,insert into 表名 (列) values(对应列的值); insert into test values(1,'熊九天',20); insert into test(name,age) values('大熊',20);两种插入操作中,推荐使用第二种。 删除数据操作: delete from 表名 where 条件 delete from test where id = 1;删除所有数据: delete from testdelete方法删除数据,删除的时候会记录日志,commit之前,被删除的数据是可以恢复的,由于删除之前要进行日志的记录,所以这种删除速度较慢。 truncate table 表名; truncate删除方式不会记录日志,属于永久删除,数据不能恢复,删除速度会很快。这种删除不会影响表的结构。 drop table表名; 删除所有数据,连同表的结构,一并删除,数据无法恢复,也不会记录日志,删除速度很快。 修改数据操作: update 表set 列 = 新的值[where 条件] ; 更新满足条件的记录。 update test set name='熊九天2号' where name='熊九天'
Oracle数据库中主要几种数据类型我们应该掌握: varchar2(n):表示定义的是字符串,n表示的是字符串的最大长度 number(n):表示定义为整数,其中n表示的是整数的最大长度 number(n,m):表示最长有n位,小数为最长可以为m位,整数为最长可以有n-m位。 date:表示的是日期时间的数据类型 clob:表示的是大文本字段,最多可以保存4G大小的文字信息 blob:表示的是二进制数据,可以保存文本、文档、音乐、图片、视频等等,最多也是4G的大小 oracle 数据库 数据表的5个约束类型: 1,主键约束:用来唯一标示表中的一个列,一个表中的主键约束只能有一个,但是可以在一个主键约束中包含多个列,也称为联合约束。 2,外键约束:用来约束两个表中列之间的关系。 语法格式: CONSTRAINT constraint_name FOREIGN KEY (column_name) REFERENCE table_name (column_name) ON DELETE CASCADE[语法说明:] CONSTRAINT:创建约束的关键字 FOREIGN KEY:外键约束的关键字 REFERENCE:引用外表的关键词 table_name:需要引用的外表,column_name表示该表的列。 举例:创建BOOKINFO表,带一个外键约束,约束名称为"FK_PUBLISH"。相关列为publish,该外键和PUBLISHINFO表中的publishid列相关联。 create table bookinfo ( bookid int,bookname char,publish varchar2(20),pubdate varchar2(20),price decimal,author char,store int,reader int,remarks varchar2(50),constraint fk_publish foreign key(publish) references publishinfo(publishid) on delete cascade );3,唯一约束:用来唯一标示表中的列。与主键约束不同的是,在一个数据表中可以有多个唯一约束。 语法格式: CONSTRAINT constraint_name UNIQUE(column_name)【语法说明】 UNIQUE:唯一约束的关键词 column_name:唯一约束的名称。 举例:创建BOOKINFO表时,为图书名称(BOOKNAME)列添加唯一约束 create table bookinfo ( bookid int,publish varchar2(20),price decimal,store varchar2(1),reader int,remarks varchar2(50),CONSTRAINT UN_BOOKNAME UNIQUE (bookname) ); 4,检查约束:用来约束表中列的输入值得范围,比如在输入性别时,要求数据库中只能输入男或者女,就可以使用检查约束来约束该列。 语法格式: CONSTRAINT constraint_name CHECK(condition)[语法说明:] CONSTRAINT:关键词 constraint_name:约束名称 condition:约束条件 举例:创建BOOKINFO表时,给图书价格加上一个检查约束,要求图书价格在10元到100元之间。 CREATE TABLE BOOKINFO ( BOOKID INT,BOOKNAME CAHR,PUBLISH VARCHAR2(20),PUBDATE VARCHAR2(20),PRICE DECIMAL,AUTHOR CHAR,STORE VARCHAR2(1),READER INT,REMARKS VARCHAR2(50),CONSTRAINT CK_PRICE CHECK(PRICE>=10 AND PRICE <= 100) ); 5,非空约束:约束该列一定要输入值。 非空约束的概念就是指一个字段上的内容不能为null,如果要制定非空约束,只需要在创建表的时候加上 not null。 举例:在创建BOOKINFO表时,给图书名称加上一个非空约束。 CREATE TABLE BOOKINFO ( BOOKID INT NOT NULL,BOOKNAME CHAR NOT NULL,PRICE DECIMAL,AUTHOR CHAR,STORE VARCHAR2(1),REMAERKS VARCHAR2(50) );这下,我们对表结构的操作,以及对表中数据的操作有了一个大概的认识,同时也了解了Oracle中的几种主要数据类型和五种约束类型。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |