簡單的oracle sql 語句

2022-03-08 16:41:04 字數 3559 閱讀 2402

建立表空間

1

create

tablespace qnhouse 2--

表空間檔案路徑

3 datafile '

e:\qnhost\qnhouse.dbf'4

--表空間檔案大小

5 size 100m;

建立使用者

1

create

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...