oracle建立表 修改表 獲取表等使用命令

2021-12-30 08:19:16 字數 3756 閱讀 4507

建立表

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 建立表,刪除表,修改表,查詢表

1,獲取當前使用者下的所有表資訊 select from user tables 1.1,查詢某一張表的字段資訊 select from user tab columns where table name 表名 1.2,查詢某一張表的注釋 select from user tab comments ...

Oracle建立修改表空間

今天在現場發現網路監控系統無論我怎麼配置都無法寫入資料到oracle資料庫中,後來一看錶空間使用率已超過了95 當初500m的表空間沒有設定自動擴充套件以及無大小限制,都是粗心惹的禍啊,下面是建立表空間以及修改表空間大小的sql語句,有興趣的童鞋可以看看。建立表空間 oracle10g 初始大小50...

MySql 表 建立表 刪除表 修改表

一 建立表 建立表語法 create table table name field1 datatype,field2 datatype,field3 datatype character set 字符集 collate 校驗規則 engine 儲存引擎 預設儲存引擎 mysql create tab...