建立表空間
1create
tablespace qnhouse 2--
表空間檔案路徑
3 datafile '
e:\qnhost\qnhouse.dbf'4
--表空間檔案大小
5 size 100m;
建立使用者
1create
user
qnhouse2--
登入密碼
3 identified by
qnhouse4--
預設的表空間
5default tablespace qnhouse;
為使用者授權
1--resource:擁有resource許可權的使用者只可以建立實體,不可以建立資料庫結構。2--
connect:擁有connect許可權的使用者只可以登入oracle,不可以建立實體,不可以建立資料庫結構。
3grant connect,resource to qnhouse;
建表與約束
1--區域表
2create
table
district3(
4 id number
notnull
,5 name varchar2(50) not
null,6
--約束7--
主鍵約束
8constraint pk_district_id primary
key(id)9);
1011
--街道表
12create
table
street13(
14 id number
notnull
,15 name varchar2(50
),16 district_id number, --
區域id
17--
約束18
constraint pk_street_id primary
key(id),
19--
外來鍵約束
20constraint fk_street_district_id foreign
key (district_id) references
district(id)
21);
2223
--戶型表
24create
table
housetype25(
26 id number
,27 name varchar2(50
),28
--約束
29constraint pk_housetype_id primary
key(id)
30);
3132
--使用者表
33create
table
users34(
35 id number
notnull
,36 name varchar2(50
),37 password varchar2(50
),38 telephone varchar2(15
),39 username varchar2(50
),40
--預設值
41 isadmin varchar2(5) default
0not
null,42
--約束
43constraint pk_users_id primary
key(id),
44--
唯一約束
45constraint uq_users_name unique
(name),
46--
檢查約束,密碼不能少於6位
47constraint ck_users_password check (length(password)>=6)
48);
4950
--房屋資訊表
51create
table
house52(
53 id number,54
user_id
number, --
使用者id
55 type_id number, --
戶型id
56 title nvarchar2(50
),57 description nvarchar2(2000
),58 price number,59
pubdate date,
60 floorage number
,61 contact varchar2(100
),62 street_id number, --
街道id
63--
約束64
constraint pk_house_id primary
key(id),
65constraint fk_house_user_id foreign
key (user_id) references
users(id),
66constraint fk_house_type_id foreign
key (type_id) references
housetype (id),
67constraint fk_house_street_id foreign
key (street_id) references
street(id)
68 );
序列
1--序列
2create
sequence seq_qnhouse3--
遞增值4 increment by15
--開始值
6 start with
1000;
自增觸發器
1--使用者主鍵自增
2create
orreplace
trigger
tri_users_id
3 before insert
onusers
4for
each row
5begin6--
用序列的值填到主鍵
7select seq_qnhost.nextval into :new.id from
dual;
8end;9
/
常用oracle sql語句
建立表空間 alter tablespace nm offline drop tablespace nm including contents and datafiles drop user nmcascade create tablespace nm datafile 1 size 500m au...
Oracle SQL語句優化
1,建表時 1 建立主鍵 2 建立索引 3 如果表資料量很大考慮建立分割槽 4 可以使用number型別的就不適用varchar2,這是因為引擎在處理查詢和連線時會逐個比較字串中每乙個字元,而對於數字型而言只需要比較一次就夠了。2,建立索引注意事項 1 首先應考慮在 where 及 order by...
oracle sql 複雜語句
1.oracle行轉列,pivot函式和unpivot函式 2.start with connect by prior 遞迴查詢用法 樹形結構的資料 例如組織機構樹 3.資料誤刪恢復 select from 表名稱 as of timestamp to timestamp 2020 05 07 08...