oracle表的建立修改刪除

2021-08-01 14:51:23 字數 2521 閱讀 2212

表的型別

//建立books表

create table books(

bookid number(6) primary key,

booknum varchar2(6),

bookname varchar2(60),

author varchar(50),

publish varchar2(50),

bookprice number(8,2),

category char(10),

booktime date default sysdate

)storage(initial 200k next 200k pctincrease 20 maxextents 15)

tablespace users;

//建立orders表

create table orders(

order_id varchar2(20) constraint o_pk primary key,

order_data date default sysdate,

qty integer,

payterms varchar2(12),

book_id number(6) constraint o_fk references books(bookid)

);//插入資料

insert into books(bookid,booknum,bookname) 

values(books_seq.nextval,'db1006','大型資料庫技術');

//建立回話級臨時表

create global temporary table books_temp1

on commit preserve rows

asselect bookid,booknum,bookname from books;

//建立事務級臨時表

create global temporary table books_temp2

on commit delete rows

asselect bookid,booknum,bookname from books;

//斷開連線 結束會話

disconnect

重新連線後檢視books_temp1 沒有任何資料

修改表//給表books新增兩列

alter table books add(salescount integer,content long); 

//新增虛擬列

alter table orders add(qty_category char(2) as(

case

when qty >= 1000 then '高'

when qty >= 500 then '中'

else '低'

end)); 

alter table orders add(qty_category char(2) as(

case

when qty >= 1000 then '高'

when qty >= 500 then '中'

else '低'

end));

//插入資料

insert into orders(order_id,qty,book_id) values('20120315-dbc',600,10);

insert into orders(order_id,qty,book_id) values('20120316-dbc',600,10);

select * from orders;

//修改表的型別以及長度

alter table orders modify order_id varchar2(25);

//修改列名

alter table orders rename column qty_category to qty_cat;

//刪除列

alter table orders drop column qty_cat;

//刪除列

alter table orders set unused(order_date,qty);

//重新命名表

rename books_temp1 to books_sesst;

alter table books_temp2 rename to books_trant;

//對錶進行結構重組  遷移表空間

alter table orders move;

alter table orders move tablespace demots;

新增注釋

comment on table orders is '訂單資訊表';

comment on table orders.payterms is '訂單資訊表';

comment on table orders.book_id is '訂單資訊表';

select * from user_col_comments where table_name ='orders' and comments is not null;

Oracle(建立 修改 刪除表)

根據rowid獲取某一元組 2 表的建立 1 方式一 create table 2 方式二 當as後面的語句能夠查詢到資料的時候,不僅建立了表的結構而且查詢到的資料也會自動新增到新建立的表內部 查詢表中是否有資料 當as後面的語句不能查詢到資料的時候,只建立表的結構,不會向表中新增資料 3 修改表 ...

oracle 建立表約束,修改,刪除

sql create table goods goodsid char 8 primary key 主鍵 2goodsname varchar2 30 3unitprice number 10 2 check unitprice 0 單價大於04 category varchar2 8 5provi...

建立 修改 刪除ORACLE表空間

建立表空間 create tablespace myfirstspace datafile autoextend on next 5m maxsize unlimited default storage initial 128k next 2m pctincrease 0 sql create ta...