1:首先打開(kāi)oracle,在左側(cè)中右擊選擇新建表。
目前成都創(chuàng)新互聯(lián)公司已為1000+的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁(yè)空間、網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計(jì)、敘州網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
2:然后選擇添加數(shù)據(jù),添加完一組數(shù)據(jù)之后,緊接著還可以添加一組數(shù)據(jù),把自己要填寫(xiě)的數(shù)據(jù)都上傳之后就可以了。
3:點(diǎn)擊另存為,這個(gè)時(shí)候會(huì)出現(xiàn)一個(gè)窗口,出入文件的名字,點(diǎn)擊確定即可。
4:在表的下方就會(huì)出現(xiàn)一個(gè)名為Class的表,這個(gè)時(shí)候就已經(jīng)創(chuàng)建好了,如果不行,可以按照上述步驟重新操作,看看是不是哪里出現(xiàn)了問(wèn)題。
oracle 數(shù)據(jù)庫(kù)可以將查詢的結(jié)果創(chuàng)建成新表,方法如下:
工具/原料
數(shù)據(jù)庫(kù)? ?數(shù)據(jù)庫(kù)管理工具? ? 電腦
方法/步驟
1、首先,打開(kāi)數(shù)據(jù)庫(kù)管理工具進(jìn)入界面,并連接到目標(biāo)數(shù)據(jù)庫(kù)本例是用的PL/SQL Developer。
2、從菜單中開(kāi)啟新的查詢窗口,依次點(diǎn)擊 file----new ----sql windows 。
3、輸入查詢語(yǔ)句:SELECT T.*,T.ROWID FROM G_XX_REPAIR T,執(zhí)行。
4、單擊“Edit date”使其變?yōu)槲存i定狀態(tài),將數(shù)據(jù)復(fù)制粘貼到創(chuàng)建的新表即可。
1.create user username identified by password;//建用戶名和密碼oracle ,oracle
2.grant connect,resource,dba to username;//授權(quán) grant connect,resource,dba,sysdba to username;
3.connect username/password//進(jìn)入。
4.select table_name,column_name from user_tab_columns where table_name='TABLE_NAME';//查詢表中的表名,字段名等等。 最后的table_name要大寫(xiě)。
5. 如何執(zhí)行腳本SQL文件? SQL@PATH/filename.sql;
7.查詢用戶下的所有表 select distinct table_name from user_tab_columns; ===僅顯示一列表名。
8.如何搜索出前N條記錄?
select * from tablename where rownumn;--足矣。(--是注釋用的標(biāo)記)
9.查找用戶下的所有表:select * from tab; --查詢?cè)撚脩粝碌乃斜砑耙晥D(顯示表名tname, 類型tabname和clusterid)
2、顯示當(dāng)前連接用戶
SQL show user –不能用在sql窗口 只能用在command命令窗口。
3、查看系統(tǒng)擁有哪些用戶
SQL select * from all_users;
4、新建用戶并授權(quán)
SQL create user a identified by a;(默認(rèn)建在SYSTEM表空間下)
SQL grant connect,resource to a;
5、連接到新用戶
SQL conn a/a –或者是connect a/a
6、查詢當(dāng)前用戶下所有對(duì)象
SQL select * from tab; --table或是view
7、建立第一個(gè)表
SQL create table a(a number);
8、查詢表結(jié)構(gòu)
SQL desc a
9、插入新記錄
SQL insert into a values(1);
10、查詢記錄
SQL select * from a;
11、更改記錄
SQL update a set a=2;
12、刪除記錄
SQL delete from a;
13、回滾
SQL roll;
SQL rollback;
14、提交
SQL commit;
select * from
(select t.*,dense_rank() over (order by cardkind) rank from cardkind t)
where rank = 2;
46. 如何在字符串里加回車?
select 'Welcome to visit'||chr(10)||'' from dual ; --‘||chr(10)||’作為換行符
53. 如何使select語(yǔ)句使查詢結(jié)果自動(dòng)生成序號(hào)?
select rownum COL from table; --主要就是oracle中引入了rownum
54. 如何知道數(shù)據(jù)褲中某個(gè)表所在的tablespace?
select tablespace_name from user_tables where table_name='TEST'; --table_name名稱要大寫(xiě)。
select * from user_tables中有個(gè)字段TABLESPACE_NAME,(oracle);
select * from dba_segments where …;
55. 怎么可以快速做一個(gè)和原表一樣的備份表?
create table new_table as (select * from old_table);
59. 請(qǐng)問(wèn)如何修改一張表的主鍵?
alter table aaa drop constraint aaa_key ;
alter table aaa add constraint aaa_key primary key(a1,b1) ;
60. 改變數(shù)據(jù)文件的大小?
用 ALTER DATABASE .... DATAFILE .... ;
手工改變數(shù)據(jù)文件的大小,對(duì)于原來(lái)的 數(shù)據(jù)文件有沒(méi)有損害。
61. 怎樣查看ORACLE中有哪些程序在運(yùn)行之中?
查看v$session表
62. 怎么可以看到數(shù)據(jù)庫(kù)有多少個(gè)tablespace?
select * from dba_tablespaces;
1、create user userName identified by password;
2、grant select any table to userName; --授予查詢?nèi)魏伪?/p>
3、grant select any dictionary to userName;--授予 查詢?nèi)魏巫值?/p>
執(zhí)行上面三步就行了,那么這個(gè)用戶就只有查詢權(quán)限,其他的權(quán)限都沒(méi)有?。?/p>
延展閱讀:
oracle
甲骨文公司,全稱甲骨文股份有限公司(甲骨文軟件系統(tǒng)有限公司),是全球最大的企業(yè)級(jí)軟件公司,總部位于美國(guó)加利福尼亞州的紅木灘。1989年正式進(jìn)入中國(guó)市場(chǎng)。2013年,甲骨文已超越?IBM?,成為繼?Microsoft?后全球第二大軟件公司。
Oracle中的臨時(shí)表用法匯總
說(shuō)明:下文中的一些說(shuō)明和示例代碼摘自CSDN,恕不一一指明出處,在此一并對(duì)相關(guān)作者表示感謝! 如果作者有異議,請(qǐng)來(lái)信說(shuō)明
1 語(yǔ)法 在Oracle中,可以創(chuàng)建以下兩種臨時(shí)表:
1) 會(huì)話特有的臨時(shí)表
CREATE GLOBAL TEMPORARY TABLE_NAME (column specification )
ON COMMIT PRESERVE ROWS;
2) 事務(wù)特有的臨時(shí)表
CREATE GLOBAL TEMPORARY TABLE_NAME (column specification )
ON COMMIT DELETE ROWS;
CREATE GLOBAL TEMPORARY TABLE MyTempTable
所建的臨時(shí)表雖然是存在的,但是如果insert 一條記錄然后用別的連接登上去select,記錄是空的。
--ON COMMIT DELETE ROWS 說(shuō)明臨時(shí)表是事務(wù)指定,每次提交后ORACLE將截?cái)啾恚▌h除全部行)
--ON COMMIT PRESERVE ROWS 說(shuō)明臨時(shí)表是會(huì)話指定,當(dāng)中斷會(huì)話時(shí)ORACLE將截?cái)啾怼?/p>
2 動(dòng)態(tài)創(chuàng)建
create or replace procedure pro_temp(v_col1 varchar2,v_col2 varchar2) as
v_num number;
begin
select count(*) into v_num from user_tables where table_name='T_TEMP';
--create temporary table
if v_num1 then
execute immediate 'CREATE GLOBAL TEMPORARY TABLE T_TEMP (
COL1 VARCHAR2(10),
COL2 VARCHAR2(10)
) ON COMMIT delete ROWS';
end if;
--insert data
execute immediate 'insert into t_temp values('''||v_col1||''','''||v_col2||''')';
execute immediate 'select col1 from t_temp' into v_num;
dbms_output.put_line(v_num);
execute immediate 'delete from t_temp';
commit;
execute immediate 'drop table t_temp';
end pro_temp;
測(cè)試:
15:23:54 SQL set serveroutput on
15:24:01 SQL exec pro_temp('11','22');
11
PL/SQL 過(guò)程已成功完成。
已用時(shí)間: 00: 00: 00.79
15:24:08 SQL desc t_temp;
ERROR:
ORA-04043: 對(duì)象 t_temp 不存在
3 特性和性能(與普通表和視圖的比較) 臨時(shí)表只在當(dāng)前連接內(nèi)有效臨時(shí)表不建立索引,
所以如果數(shù)據(jù)量比較大或進(jìn)行多次查詢時(shí),不推薦使用數(shù)據(jù)處理比較復(fù)雜的時(shí)候時(shí)表快,
反之視圖快點(diǎn)在僅僅查詢數(shù)據(jù)的時(shí)候建議用游標(biāo): open cursor for 'sql clause';
臨時(shí)表的創(chuàng)建
創(chuàng)建Oracle臨時(shí)表,可以有兩種類型的臨時(shí)表:會(huì)話級(jí)的臨時(shí)表和事務(wù)級(jí)的臨時(shí)表。
1)會(huì)話級(jí)的臨時(shí)表因?yàn)檫@這個(gè)臨時(shí)表中的數(shù)據(jù)和你的當(dāng)前會(huì)話有關(guān)系,當(dāng)你當(dāng)前SESSION不退出的情況下,臨時(shí)表中的數(shù)據(jù)就還存在,而當(dāng)你退出當(dāng)前SESSION的時(shí)候,臨時(shí)表中的數(shù)據(jù)就全部沒(méi)有了,當(dāng)然這個(gè)時(shí)候你如果以另外一個(gè)SESSION登陸的時(shí)候是看不到另外一個(gè)SESSION中插入到臨時(shí)表中的數(shù)據(jù)的。即兩個(gè)不同的SESSION所插入的數(shù)據(jù)是互不相干的。當(dāng)某一個(gè)SESSION退出之后臨時(shí)表中的數(shù)據(jù)就被截?cái)啵╰runcate table,即數(shù)據(jù)清空)了。會(huì)話級(jí)的臨時(shí)表創(chuàng)建方法:Create Global Temporary Table Table_Name(Col1 Type1,Col2 Type2...) On Commit Preserve Rows;舉例create global temporary table Student(Stu_id Number(5),Class_id Number(5),Stu_Name Varchar2(8),Stu_Memo varchar2(200)) on Commit Preserve Rows ;
2)事務(wù)級(jí)臨時(shí)表是指該臨時(shí)表與事務(wù)相關(guān),當(dāng)進(jìn)行事務(wù)提交或者事務(wù)回滾的時(shí)候,臨時(shí)表中的數(shù)據(jù)將自行被截?cái)?,其他的?nèi)容和會(huì)話級(jí)的臨時(shí)表的一致(包括退出SESSION的時(shí)候,事務(wù)級(jí)的臨時(shí)表也會(huì)被自動(dòng)截?cái)啵J聞?wù)級(jí)臨時(shí)表的創(chuàng)建方法:Create Global Temporary Table Table_Name(Col1 Type1,Col2 Type2...) On Commit Delete Rows;舉例:create global temporary table Classes(Class_id Number(5),Class_Name Varchar2(8),Class_Memo varchar2(200)) on Commit delete Rows ;
3)、兩種不通類型的臨時(shí)表的區(qū)別:語(yǔ)法上,會(huì)話級(jí)臨時(shí)表采用on commit preserve rows而事務(wù)級(jí)則采用on commit delete rows;用法上,會(huì)話級(jí)別只有當(dāng)會(huì)話結(jié)束臨時(shí)表中的數(shù)據(jù)才會(huì)被截?cái)?,而且事?wù)級(jí)臨時(shí)表則不管是commit、rollback或者是會(huì)話結(jié)束,臨時(shí)表中的數(shù)據(jù)都將被截?cái)唷?/p>
例子:
1)、會(huì)話級(jí)(Session關(guān)閉掉之后數(shù)據(jù)就沒(méi)有了,當(dāng)Commit的時(shí)候則數(shù)據(jù)還在,當(dāng)Rollback的時(shí)候則數(shù)據(jù)也是一樣被回滾):
insert into student(stu_id,class_id,stu_name,stu_memo) values(1,1,'張三','福建');
insert into student(stu_id,class_id,stu_name,stu_memo) values(2,1,'劉德華','福州');
insert into student(stu_id,class_id,stu_name,stu_memo) values(3,2,'S.H.E','廈門(mén)');
SQL select *from student ;
STU_ID CLASS_ID STU_NAME STU_MEMO
------ -------- -------- --------------------------------------------------------------------------------
1 1 張三 福建
2 1 劉德華 福州
3 2 S.H.E 廈門(mén)
4 2 張惠妹 廈門(mén)
SQL commit;
Commit complete
SQL select * from student ;
STU_ID CLASS_ID STU_NAME STU_MEMO
------ -------- -------- --------------------------------------------------------------------------------
1 1 張三 福建
2 1 劉德華 福州
3 2 S.H.E 廈門(mén)
4 2 張惠妹 廈門(mén)
SQLinsert into student(stu_id,class_id,stu_name,stu_memo) values(4,2,'張惠妹','廈門(mén)');
1 row inserted
SQL select * from student ;
STU_ID CLASS_ID STU_NAME STU_MEMO
------ -------- -------- --------------------------------------------------------------------------------
1 1 張三 福建
2 1 劉德華 福州
3 2 S.H.E 廈門(mén)
4 2 張惠妹 廈門(mén)
4 2 張惠妹 廈門(mén)
SQL rollback ;
Rollback complete
SQL select * from student ;
STU_ID CLASS_ID STU_NAME STU_MEMO
------ -------- -------- --------------------------------------------------------------------------------
1 1 張三 福建
2 1 劉德華 福州
3 2 S.H.E 廈門(mén)
4 2 張惠妹 廈門(mén)
SQL
2)、事務(wù)級(jí)(Commit之后就刪除數(shù)據(jù)):本例子將采用以下的數(shù)據(jù):
insert into classes(Class_id,Class_Name,Class_Memo) values(1,'計(jì)算機(jī)','9608');
insert into classes(Class_id,Class_Name,Class_Memo) values(2,'經(jīng)濟(jì)信息','9602');
insert into classes(Class_id,Class_Name,Class_Memo) values(3,'經(jīng)濟(jì)信息','9603');
在一個(gè)SESSION中(比如SQLPLUS登陸)插入上面3條記錄,然后再以另外一個(gè)SESSION(用SQLPLUS再登陸一次)登陸,當(dāng)你select * from classes;的時(shí)候,classes表是空的,而你再第一次登陸的SQLPLUS中select的時(shí)候可以查詢到,這個(gè)時(shí)候你沒(méi)有進(jìn)行commit或者rollback之前你可以對(duì)剛才插入的3條記錄進(jìn)行update、delete等操作,當(dāng)你進(jìn)行commit或者rollback的時(shí)候,這個(gè)時(shí)候由于你的表是事務(wù)級(jí)的臨時(shí)表,那么在插入數(shù)據(jù)的session也看不到數(shù)據(jù)了,這個(gè)時(shí)候數(shù)據(jù)就已經(jīng)被截?cái)嗔恕?/p>
運(yùn)行結(jié)果如下:
SQL insert into classes(Class_id,Class_Name,Class_Memo) values(1,'計(jì)算機(jī)','9608');
1 row inserted
SQL insert into classes(Class_id,Class_Name,Class_Memo) values(2,'經(jīng)濟(jì)信息','9602');
1 row inserted
SQL insert into classes(Class_id,Class_Name,Class_Memo) values(3,'經(jīng)濟(jì)信息','9603');
1 row inserted
SQL update classes set class_memo ='' where class_id=3 ;
1 row updated
SQL select * from classes ;
CLASS_ID CLASS_NAME CLASS_MEMO
-------- ---------- --------------------------------------------------------------------------------
1 計(jì)算機(jī) 9608
2 經(jīng)濟(jì)信息 9602
3 經(jīng)濟(jì)信息
SQL delete from classes where class_id=3 ;
1 row deleted
SQL select * from classes ;
CLASS_ID CLASS_NAME CLASS_MEMO
-------- ---------- --------------------------------------------------------------------------------
1 計(jì)算機(jī) 9608
2 經(jīng)濟(jì)信息 9602
SQL commit;
Commit complete
SQL select *from classes ;
CLASS_ID CLASS_NAME CLASS_MEMO
-------- ---------- --------------------------------------------------------------------------------
SQL
再重復(fù)插入一次,然后rollback。
SQL Rollback ;
Rollback complete
SQL select * from classes ;
CLASS_ID CLASS_NAME CLASS_MEMO
-------- ---------- --------------------------------------------------------------------------------
SQL
臨時(shí)表的應(yīng)用
1)、當(dāng)某一個(gè)SQL語(yǔ)句關(guān)聯(lián)的表在2張及以上,并且和一些小表關(guān)聯(lián)??梢圆捎脤⒋蟊磉M(jìn)行分拆并且得到比較小的結(jié)果集合存放在臨時(shí)表中。
2)、程序執(zhí)行過(guò)程中可能需要存放一些臨時(shí)的數(shù)據(jù),這些數(shù)據(jù)在整個(gè)程序的會(huì)話過(guò)程中都需要用的等等。
5、注意事項(xiàng):
1)、臨時(shí)表的索引以及對(duì)表的修改、刪除等和正常的表是一致的。
2)、Oracle的臨時(shí)表是Oracle8i才支持的功能特性,如果你的Oracle版本比較低的話,那么就可能沒(méi)有辦法用到了,如果你的Oracle版本是8i的話,你還需要把$ORACLE_HOME/admin/${ORACLE_SID}/pfile目錄下的initORACLE_SID.ora初始參數(shù)配置文件的compatible修改為compatible = "8.1.0",我的服務(wù)器上就是這樣子配置的。當(dāng)然也可以修改為compatible = "8.1.6"