建立表
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;
約束非空約束 |主鍵約束|外來鍵約束|唯一約束|檢查約束
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』
mysql em mysql和orcal學習筆記
最近學習了一下資料庫mysql和orcal,遇到的一些問題,有的上網找到了答案,有的做了測試才弄明白。這裡作為學習筆記,記錄下來備忘。1.mysql的表的字段型別和占用的長度。數值型別 tinyint 1 位元組 smallint 2 個位元組 mediumint 3 個位元組 int 4 個位元組...
Orcal資料庫複習筆記
eg select from emp where deptno 10 eg select ename from emp where ename like a sql中的轉義字元用 escape 關鍵字後面跟上 使用的字元 經實驗 中字元可以為任意字元,數字和字母也可以,但必須能能是1個字元 eg s...
orcal入門詳解
1 安裝成功後進入dos介面操作 在進行以下操作時,需啟動oracle服務。a 進入sql介面 開始 執行 cmd 輸入sqlplus 回車 提示輸入正確的使用者名稱和密碼 b 開始 所有程式 oracle的 執行sql命令 直接採用conn 使用者名稱 密碼 進入 使用者名稱 預設的是 sys,s...