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.anxorj.tw防采集請勿采集本網。

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.anxorj.tw請勿采集。

免責聲明 - 關于我們 - 聯系我們 - 廣告聯系 - 友情鏈接 - 幫助中心 - 頻道導航
Copyright © 2017 www.anxorj.tw All Rights Reserved
陕西快乐10分下载