Oracle对字段的增删改方法分享

来源:本网整理

数据库增删改查表示对数据库表的四种操作:增:insert,增加数据删:delete,删除数据改:update,更新数据查:select,查找数据其中,主要的是select操作一、insert基本语法:insert into 表名[(column[,column.])]values(value[,value.])说明:1.插入的数据应该与字段数据类型相同2.数据的大小应该在列规定的范围内,例如,不能讲一个长度为80的字符串加到长度为40的列中3.在values中列出的数据位置必须与被加入的列的排列位置相对应4.字符和日期类型应包含在单引号中5.插入空值,不指定或insert into table value(null)。如下图或者6.如果给表的每列都添加值,则可以不带列名。如insert into 表名 values(列值…)二、update基本语法:update 表名 set 列名=表达式[,表达式…]where 条件说明:1.update语法可以用新值更新原有表行中的旧值,set字句指示要修改哪些列和要给予哪些值2.update用来修改列值将每个人的奖学金提高50%将没有奖学金的人的奖学金改为750,注意null字段的判断三、delete基本语法:delete 表名 where 条件说明:1.如果不使用where子句,将删除表中所有数据2.delete语句不能删除某一列的值(可使用update删除某列的值)3.使用delete语句仅删除记录,不删除表本身。如果要删除表,使用drop table语句4.同insert和update一样,从一个表中删除记录将引起其他表的参照完整性问题,在修改数据库数据时,头脑中应该始终不要忘记这个潜在的问题删除表的几种方法比较:1.delete from 表名;删除所有记录,表结构还在,写日志,可以恢复,删除速度慢2.drop table 表名删除表的结构和数据3.truncate table 表名;删除表中的所有记录,表结构还在,不写日志,无法找回删除的记录,速度快。和delete相比,truncate无法添加where字句四、select基本语法:select[distinct]*|{column1,column2…} from 表名[where {条件}];说明:select指定查询哪些列的数据column指定列名代表查询所有列from指定查询哪张表where是条件distinct可选,指显示结果时,是否剔除重复数据举例:1.查询所有列和查询指定列select*from 表名select列名1,列名2 from 表名注:尽可能返回较少的列2.如何取消重复行select distinct deptno job from emp;重复行:返回的数据完全一样才是重复行例:select sal,job from emp where ename=‘Smith’;引号中的内容区分大小写,SQL语句其他部分不区分大小写特别说明:Oracle的SQL不区分大小写,但是内容区分大小写www.zgxue.com防采集请勿采集本网。

s">

Oracle对字段的增删改方法分享

投稿:daisy 字体:[增加 减小] 类型:转载 时间:2016-08-28 我要评论 这篇文章给大家分享了Oracle对字段的增删改语句,对大家日常操作Oracle非常实用,有需要的可以参考借鉴。 ">

Oracle是目前最流行的数据库之一,功能强大,性能卓越,相对的学习的难度还是不小。本文就是将自己的一些经验总结分享给大家,做个积累,方便自己和其他的学习者。

指定排序 序列提供两个方法,NextVal和CurrVal。顾名思义,NextVal为取序列的下一个值,一次NEXTVAL会增加一次sequence的值;CurrVal为取序列的当前值。例如,插入记录时:insert tablename(id)values

修改字段类型或者长度:

oracle是没有自增字段的类型,可以使用sequence来实现,需要先建立一个sequence,然后再插入数据的时候调用sequence,比如建立以一个test_seq的sequence,使用方式为: select test_seq.nextval

alter table 表名 modify 字段名 字段类型 (字段长度)

不可以,只能通过创建系列来实现 ORACLE SEQUENCE的简单介绍 在oracle中sequence就是所谓的序列号,每次取的时候它会自动增加,一般用在需要按序列号排序的地方。1、Create Sequence 你首先要有

例: 

你可以使用序列+触发器的方法来自己创建id字段的值

alter table table_name modify column_name varchar (10);

创建一个序列,每次插入数据是 指定具体的 序列 create sequence seq minvalue 1 nomaxvalue start with 1 increment by 1 cache 20;一个表tab(ID NUMBER,VAL VARCHAR2(10)) insert into tab

此为标准SQL,对任何数据库都适用 

修改字段名:

alter table 表名 rename column 旧字段名 to 新字段名

例:

alter table table_name rename column old_column to new_column;

增加字段:

alter table 表名 add(字段名 字段类型和长度)

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 columnone_column;

一次删除多个字段,要在括号中,每个字段以,分开。

如下例子:

alter table table_name drop(one_column,two_column,...)

总结

以上就是为大家总结的Oracle对字段增删改语句的全部内容,希望对大家能有所帮助。如果有疑问或者问题可以留言。

package basic;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class JDBC {public void findAll(){try {获得数据库驱动由于长时间不写,驱动名和URL都忘记了,不知道对不对,你应该知道的,自己改一下的哈String url="jdbc:oracle:thin:@localhost:1521:XE;String userName="system;String password="system;Class.forName("oracle.jdbc.driver.OracleDriver");创建连接Connection conn=DriverManager.getConnection(url,userName,password);新建发送sql语句的对象Statement st=conn.createStatement();执行sqlString sql="select*from users;ResultSet rs=st.executeQuery(sql);处理结果while(rs.next()){这个地方就是给你的封装类属性赋值System.out.println("UserName:"+rs.getString(0));}关闭连接rs.close();st.close();conn.close();} catch(ClassNotFoundException e){TODO Auto-generated catch blocke.printStackTrace();} catch(SQLException e){TODO Auto-generated catch blocke.printStackTrace();}}public void delete(){try {步骤还是那六个步骤,前边的两步是一样的String url="jdbc:oracle:thin:@localhost:1521:XE;String userName="system;String password="system;Class.forName("oracle.jdbc.driver.OracleDriver");Connection conn=DriverManager.getConnection(url,userName,password);这里的发送sql语句的对象是PreparedStatement,成为预处理sql对象,因为按条件删除是需要不定值的String sql="delete from users where id=?PreparedStatement ps=conn.prepareStatement(sql);ps.setInt(0,1);int row=ps.executeUpdate();if(row!0){System.out.println("删除成功!}关闭连接rs.close();st.close();conn.close();} catch(ClassNotFoundException e){TODO Auto-generated catch blocke.printStackTrace();} catch(SQLException e){TODO Auto-generated catch blocke.printStackTrace();}}}我只写了查询和删除,添加、修改和删除非常之像,这是因为查询对数据库没有改动,而增删改都对数据库进行了修改,所以这三个非常像…呵呵,你自己看着办吧内容来自www.zgxue.com请勿采集。

免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
Copyright © 2017 www.zgxue.com All Rights Reserved