Oracle 建立 修改 刪除表等常規操作

2021-08-19 10:39:49 字數 3776 閱讀 1282

建立表

create table test01(

id int not null,

name varchar(8) not null,

gender varchar2(2) not null,

age int not null,

address varchar2(20) default 『位址不詳』 not null,

regdata date

);修改表

alter table test01 add constraint s_id primary key;

alter table test01 add constraint ck_infos_gender check(gender=』男』 or gender=』女』)

alter table test01 add constraint ck_infos_age(age>=0 and age<=50)

alter table 表名 modify 欄位名 default 預設值; //更改字段型別

alter table 表名 add 列名 字段型別; //增加字段型別

alter table 表名 drop column 欄位名; //刪除欄位名

alter table 表名 rename column 列名 to 列名 //修改欄位名

rename 表名 to 表名 //修改表名

刪除表truncate table 表名 //刪除表中的所有資料,速度比delete快很多,截斷表

delete from table 條件//

drop table 表名 //刪除表

插入語句

insert into 表名(值1,值2) values(值1,值2);

修改語句

update 表名 set 字段=值 [修改條件]

查詢語句

帶條件的查詢

where

模糊查詢

like % _

範圍查詢

in對查詢結果進行排序

oeder by desc||asc

case…when

select username,case username when 『aaa』 then 『計算機部門』 when 『bbb』 then 『市場部門』 else 『其他部門』 end as 部門 from users;

select username,case username=』aaa』 then 『計算機部門』 when username=』bbb』 then 『市場部門』 else 『其他部門』 as 部門 from users;

運算子和表示式

算數運算子和比較運算子

distinct 去除多餘的行

column 可以為字段設定別名 比如 column column_name heading new_name

decode 函式的使用 類似於case…when

select username,decode(username,』aaa』,』計算機部門』,』bbb』,』市場部門』,』其他』) as 部門 from users;

複製表create table 表名 as 乙個查詢結果 //複製查詢結果

insert into 表名 值 乙個查詢結果 //新增時查詢

檢視表資訊

desc test01;

建立表空間

永久表空間

create tablespace test1_tablespace datafile 『testfile.dbf』 size 10m;

臨時表空間

create temporary tablespace temptest1_tablespace tempfile 『tempfile.dbf』 size 10m;

desc dba_data_files;

select file_name from dba_data_files where tablespace_name=』test1_tablespace』;

約束非空約束 |主鍵約束|外來鍵約束|唯一約束|檢查約束

not null |primary key|unique|check|

聯合主鍵 constraint pk_id_username primary key(id,username);

檢視資料字典 desc user_constraint

修改表時重新命名 rename constraint a to b;

修改表刪除約束

禁用約束 disable constraint 約束名字;

刪除約束 drop constraint 約束名字; drop primary key;直接刪除主鍵

外來鍵約束

create table typeinfo(typeid varchar2(20) primary key, typename varchar2(20));

create table userinfo_f( id varchar2(10) primary key,username varchar2(20),typeid_new varchar2(10) references typeinfo(typeid));

insert into typeinfo values(1,1);

建立表時設定外來鍵約束

constraint 名字 foregin

create table userinfo_f2 (id varchar2(20) primary key,username varchar2(20),typeid_new varchar2(10),constraint fk_typeid_new foreign key(typeid_new) references typeinfo(typeid));

create table userinfo_f3 (id varchar2(20) primary key,username varchar2(20),typeid_new varchar2(10),constraint fk_typeid_new1 foreign key(typeid_new) references typeinfo(typeid) on delete cascade);

外來鍵約束包含

刪除外來鍵約束

禁用約束 disable constraint 約束名字;

刪除約束 drop constraint 約束名字;

唯一約束 與主鍵區別 唯一約束可以有多個,只能有乙個null

create table userinfo_u( id varchar2(20) primary key,username varchar2(20) unique,userpwd varchar2(20));

建立表時新增約束

constraint 約束名字 unique(列名);

修改表時新增唯一約束 add constraint 約束名字 unique(列名);

檢查約束

create table userinfo_c( id varchar2(20) primary key,username varchar2(20), salary number(5,0) check(salary>50));

constraint ck_salary check(salary>50);

/* 獲取表:*/

select table_name from user_tables; //當前使用者的表

select table_name from all_tables; //所有使用者的表

select table_name from dba_tables; //包括系統表

select table_name from dba_tables where owner=』zfxfzb』

/*

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表的建立修改刪除

表的型別 建立books表 create table books bookid number 6 primary key,booknum varchar2 6 bookname varchar2 60 author varchar 50 publish varchar2 50 bookprice n...