標籤:
Connected to Oracle Database 11g Enterprise Edition Release 11.2.0.1.0
Connected as [email protected] AS SYSDBA
SQL>
SQL> --建立使用者
SQL> create user LPA identified by liPeng1;
User created
SQL> --給使用者授予dba許可權
SQL> grant dba to LPA;
Grant succeeded
SQL> --建立使用資料表空間
SQL> create tablespace liPeng11
2 datafile ‘E:\oracle11\liPeng1.dbf‘
3 size 1500M
4 autoextend on next 5M maxsize 3000M;
Tablespace created
SQL> --授予使用者使用資料表空間的許可權
SQL> alter user LPA quota unlimited on liPeng11;
User altered
SQL> --切換到LPA使用者
SQL> conn LPA/liPeng1 @liPeng as sysdba;
Connected to Oracle Database 11g Enterprise Edition Release 11.2.0.1.0
Connected as [email protected] AS SYSDBA
SQL> --建立學生表,其中包括學號、姓名、年齡、性別、地址、電話
SQL> create table student111111 (
2 mpo char(4) primary key, --給mpo設定為主鍵,其唯一且不為空白
3 name varchar2(30),
4 age number(2),
5 sex char(2) default ‘男‘ check (sex in (‘男‘,‘女‘)), --設定性別在男,女選擇,且預設為男
6 address varchar2(30),
7 telephone number(11) unique --設定手機號碼不唯一
8 );
Table created
SQL> --建立學生選課表,其中包括學號、課程名稱
SQL> create table chooseclass11111 (
2 mpo char(4) references student111111(mpo), --設定mpo為外鍵
3 classname varchar2(20) primary key
4 );
Table created
SQL> --建立課程表,其中包括課程名稱、星期
SQL> create table myclass1111 (
2 classname varchar2(20) references chooseclass11111(classname),
3 dat char(6)
4 );
Table created
SQL> --給各表插入元素
SQL> insert into student111111 values(‘0001‘,‘liPeng1‘,23,‘男‘,‘Kroea‘,‘13558755474‘);
1 row inserted
SQL> insert into student111111 values(‘0002‘,‘CHENGJUNYUN‘,23,‘男‘,‘China‘,‘13532755474‘);
1 row inserted
SQL> insert into student111111 values(‘0003‘,‘LIUJIXIANG‘,23,‘男‘,‘Died‘,‘13558732474‘);
1 row inserted
SQL> insert into student111111 values(‘0004‘,‘LIJING‘,23,‘女‘,‘Japane‘,‘13558752474‘);
1 row inserted
SQL> insert into student111111 values(‘0005‘,‘LIJINGYONG‘,23,‘男‘,‘China‘,‘13553755474‘);
1 row inserted
SQL> insert into student111111 values(‘0006‘,‘LIYAN‘,23,‘女‘,‘China‘,‘13558115474‘);
1 row inserted
SQL> insert into chooseclass11111 values(‘0001‘,‘數學‘);
1 row inserted
SQL> insert into chooseclass11111 values(‘0002‘,‘英語‘);
1 row inserted
SQL> insert into chooseclass11111 values(‘0003‘,‘JAVA‘);
1 row inserted
SQL> insert into chooseclass11111 values(‘0004‘,‘C#‘);
1 row inserted
SQL> insert into chooseclass11111 values(‘0005‘,‘資料採礦‘);
1 row inserted
SQL> insert into chooseclass11111 values(‘0006‘,‘ORACLE‘);
1 row inserted
SQL> insert into myclass1111 values(‘數學‘,‘星期二‘);
1 row inserted
SQL> insert into myclass1111 values(‘英語‘,‘星期四‘);
1 row inserted
SQL> insert into myclass1111 values(‘JAVA‘,‘星期七‘);
1 row inserted
SQL> insert into myclass1111 values(‘C#‘,‘星期三‘);
1 row inserted
SQL> insert into myclass1111 values(‘資料採礦‘,‘星期二‘);
1 row inserted
SQL> insert into myclass1111 values(‘ORACLE‘,‘星期五‘);
1 row inserted
SQL> --列印出各表的情況
SQL> select * from student111111;
MPO NAME AGE SEX ADDRESS TELEPHONE
---- ------------------------------ --- --- ------------------------------ ------------
0001 liPeng1 23 男 Kroea 13558755474
0002 CHENGJUNYUN 23 男 China 13532755474
0003 LIUJIXIANG 23 男 Died 13558732474
0004 LIJING 23 女 Japane 13558752474
0005 LIJINGYONG 23 男 China 13553755474
0006 LIYAN 23 女 China 13558115474
6 rows selected
SQL> select * from chooseclass11111;
MPO CLASSNAME
---- --------------------
0001 數學
0002 英語
0003 JAVA
0004 C#
0005 資料採礦
0006 ORACLE
6 rows selected
SQL> select * from myclass1111;
CLASSNAME DAT
-------------------- ------
數學 星期二
英語 星期四
JAVA 星期七
C# 星期三
資料採礦 星期二
ORACLE 星期五
6 rows selected
SQL> --給student1111111表加入一行然後再刪除
SQL> insert into student111111 values(‘0007‘,‘CHENYUN‘,23,‘男‘,‘China‘,‘13132755474‘);
1 row inserted
SQL> delete from student111111 where mpo=‘0007‘;
1 row deleted
SQL> --將student1111111表中的CHENGJUNYUN同學的年齡改為22,然後顯示
SQL> update student111111 set age=22 where name=‘CHENGJUNYUN‘;
1 row updated
SQL> select * from student111111 where name=‘CHENGJUNYUN‘;
MPO NAME AGE SEX ADDRESS TELEPHONE
---- ------------------------------ --- --- ------------------------------ ------------
0002 CHENGJUNYUN 22 男 China 13532755474
SQL> --尋找出學號為002學生的姓名,年齡,性別,地址,電話,所選課程
SQL> select table3.name,table3.age,table3.sex,table3.address,table3.telephone,table3.classname from (select * from student111111 table1,chooseclass11111 table2 where table1.mpo=table2.mpo and table1.mpo=‘0002‘) table3 ;
NAME AGE SEX ADDRESS TELEPHONE CLASSNAME
------------------------------ --- --- ------------------------------ ------------ --------------------
CHENGJUNYUN 22 男 China 13532755474 英語
SQL> --序列
SQL> --建立序列
SQL> create sequence my_seq11
2 increment by 1
3 start with 1
4 nomaxvalue
5 nocycle
6 cache 100;
Sequence created
SQL> --使用序列並查看
SQL> insert into student111111 values(my_seq11.nextval,‘CHENYUN‘,23,‘男‘,‘China‘,‘13132755474‘);
1 row inserted
SQL> select * from student111111;
MPO NAME AGE SEX ADDRESS TELEPHONE
---- ------------------------------ --- --- ------------------------------ ------------
0001 liPeng1 23 男 Kroea 13558755474
0002 CHENGJUNYUN 22 男 China 13532755474
0003 LIUJIXIANG 23 男 Died 13558732474
0004 LIJING 23 女 Japane 13558752474
0005 LIJINGYONG 23 男 China 13553755474
0006 LIYAN 23 女 China 13558115474
1 CHENYUN 23 男 China 13132755474
7 rows selected
SQL> --預存程序
SQL> --建立過程
SQL> create procedure my_p is
2 --定義變數
3 --執行部分,修改student1111111表中最後一行的學號
4 begin
5 update student111111 set mpo=0010 where mpo=‘1 ‘;
6 --結束
7 end;
8 /
Procedure created
SQL> --調用過程並顯示
SQL> exec my_p;
PL/SQL procedure successfully completed
SQL> --視圖
SQL> --建立視圖
SQL> create view my_view11
2 as
3 select * from student111111;
View created
SQL> --視圖的使用
SQL> insert into my_view11(mpo,name,age,sex,address,telephone) values(‘2100‘,‘CHEN‘,24,‘男‘,‘China‘,‘13123755474‘);
1 row inserted
SQL> select * from student111111;
/
MPO NAME AGE SEX ADDRESS TELEPHONE
---- ------------------------------ --- --- ------------------------------ ------------
0001 liPeng1 23 男 Kroea 13558755474
0002 CHENGJUNYUN 22 男 China 13532755474
0003 LIUJIXIANG 23 男 Died 13558732474
0004 LIJING 23 女 Japane 13558752474
0005 LIJINGYONG 23 男 China 13553755474
0006 LIYAN 23 女 China 13558115474
2100 CHEN 24 男 China 13123755474
10 CHENYUN 23 男 China 13132755474
8 rows selected
SQL>
Oracle資料庫關於建立使用資料庫、資料表空間呢、多表、視圖、預存程序、序列的使用