初學oracle筆記 3

2021-09-20 09:29:52 字數 1688 閱讀 2752

使用子查詢的方式建立表

create table 表名 as 查詢語句

注意:只會複製表結構和表中的資料,不會有列的約束

新增列alter table 表名 add 列名 varchar(10);

修改列名

alter table 表名 rename column 舊列名 to 新列名

修改列 modify

刪除列 drop

約束列名 varchar(10) check (gender in (『男』,『女』))

這個在mysql是可以寫的,但是mysql直接忽略了檢查約束。

強制刪除表

先刪除外來鍵關聯表的外來鍵約束,然後再刪除自己(不建議使用)

drop table 表名 cascade constraint

使用子查詢插入資料

insert into 表名 查詢語句

insert into 表名 select * from 表名2 where no = 1;

更新資料

update 表名 set 列名 = 列的值

刪除資料

delete from 表名

delete和truncate的區別

delete

truncate

dmlddl

逐條刪除

先刪除表再建立表

支援事務操作

不支援事務操作,執行效率要高

檢視:是對查詢結果的乙個封裝

檢視裡面所以的資料,都是來自於它查詢的那張表,檢視本身不儲存任何資料

1.能夠封裝複雜的查詢結果

2.遮蔽表中的細節

語法:create view 檢視的名稱 as 查詢語句

建立乙個檢視:

create or replace view view_test1 as select ename,job,mgr from emp;

select * from view_test1;

注意:通常不要通過檢視去修改,檢視建立的時候,通常要加上with read only( 唯讀)

檢視可封裝複雜的查詢語句

同義詞create synonym yuangong for view_test1;

序列:生成類似於auto_increment 這種id自動增長 1,2,3,4,5。。。

auto_increment 是mysql的

語法:create sequence 序列的名稱

start with 從幾開始

increment by 每次增長多少

maxvalue 最大時 | nomaxvalue

minvalue 最小值 | nominvalue

cycle | nocycle 是否迴圈 1,2,3,1,2,3

cache 快取的數量3 | nocache

建立乙個1,3,5,7,9.。。。30

create sequence seq_test1

start with 1

increment by 2

maxvalue 30

cycle

cache 10;

select seq_test1.nextval from dual;

select seq_test1.currval from dual;

序列用的最多的一種寫法

create sequence seq_test2;

Oracle 初學筆記

1 sql語句的分類 資料定義語言 ddl ddl語句可以定義資料庫物件,以及產生對oracle資料字典的更新。ddl語句可以建立 修改和刪除各種物件,例如表 檢視 儲存過程 資料庫觸發器 資料庫鏈結以及資料庫中幾十種其他的物件。資料操縱語言 dml dml使用insert update delet...

Oracle學習筆記 初學

2002年註冊甲骨文公司 基於cs架構 資料庫的例項 資料庫 通常的資料庫只有資料庫的概念 而oracle有資料庫例項的概念 資料庫儲存了 資料檔案 控制檔案 日誌檔案 我們將這些靜態的檔案都稱之為資料庫,而這些檔案的產生和維護 通常都是由例項來完成 例項會載入這些檔案,然後在具體的記憶體裡 由後台...

JS初學筆記(3)

js物件屬性 一切事物皆物件 字串物件 length 返回長度 indexof a 返回第乙個字串出現的位置,沒有就是 1 replace a,b 替換 返回的修改後的字串,不會修改原字串 search a 返回的也是位置.var str hello world document.write str...