Oracle 常用語句整理


Oracle 常用語句整理

  最近做了份大型數據庫作業。遇到了一些問題,在網上找的很是辛苦,於是,將一些常用的語句記錄下來,方便大家學習。都是一些基本的東西。如果忘了,可以來看看。

1.創建臨時表空間

create temporary tablespace car_data    //car_data,表空間名  
tempfile 'C:\Users\Administrator\Desktop\car_data.dbf'//表空間路徑 size 50m autoextend on next 50m maxsize 20480m extent management local;

  

 2.創建數據表空間

SQL> create tablespace car_data
  2  logging
  3  datafile 'C:\Users\Administrator\Desktop\car_data.dbf'
  4  size 50m
  5  autoextend on
  6  next 50m maxsize 20480m
  7  extent management local;

    

3.創建用戶並指定表空間

    創建一個用戶名為admin 密碼為888888的用戶

SQL> create user admin identified by 888888
  2  default tablespace car_data;

User created

 

4.給剛才創建的用戶授權

SQL> grant connect,resource,dba to admin;
 
Grant succeeded

 

5.創建表

SQL> create table car(
  2         carId number(20) not null primary key,
  3         carName varchar(20),
  4         carType varchar(20),
  5         carNum varchar(20),
  6         carAge int);
 
Table created

 

6.修改表

//修改表car,添加check約束 
alter table 表名 add constraint check名 check(列名 約束);

alter table car add constraint car_carAge check(carAge between 0 and 10);
//設置外鍵

alter table 表名 add constraint 外鍵名 foreign key (列名) references 表名(列名);

alter table car add constraint userId foreign key(userId) references userN(userId);

//修改一個列的數據類型(一般限於修改長度,修改為不同類型時有很多限制)

alter table 表名 modify(列名 數據類型);

alter table car modify(carid number(10));

//修改列名

alter table 表名 rename column 當前列名 to 新列名;

alter table car rename column carid to carcar;

//修改表名

alter table 當前表名 rename to 新表名;

alter table car rename to carcar;

//刪除列

alter table 表名 drop colunm 列名;

alter table car drop colunm carname;

//添加列
alter table 表名 add(column1 datatype,column2 datatype...);

alter table car add(car1 number(20),car2 number(20),...);

 

7.創建userN表

  里面有建表和添加外鍵及主鍵

SQL> create table userN(
  2         userId number(20) not null primary key,
  3         licNum number(20),
  4         userName varchar(10),
  5         sex varchar(2),
  6         userAge int,
  7         userNative varchar(10),
  8         userAddress varchar(100),
  9         userNum number(13),
 10         carId number(20),
 11         constraint carId FOREIGN KEY (carId) REFERENCES car(carId));
  //添加外鍵的方法 
Table created

 

8.插入數據的語句

insert into car values('201311010101','寶馬','寶馬X6','jk02c8',3);

 

9.更新數據的語句

//修改某一數據。例如:將表salary中編號為110001的職工收入改為10000
update salary set income=10000 where employeeid=110001;

//修改某一列數據。例如:給每個職工增加收入100元
update salary set income=income+100;

 

10.trigger觸發器

create or replace trigger 觸發器名
before/after delete/insert/updata
on 表名或視圖名 
for each row//表示行級觸發器,可以百度了解更多
begin
    寫一些操作
    例如:插入數據
insert into recyclecar(carid,carname) values(:old.carid); end;
//刪除觸發器
drop trigger droptrigger;

 

11.查詢

 

(1)//查詢car表里面車牌號為888888的車的信息(單條件)
     SQL> select *from car
 	 2  where carnum = '888888';
 

(2)//查詢車牌號為888888並且carname為奔馳的車的所有信息(多條件)

    SQL> select *from car
  	2  where carnum='888888' and carname='奔馳';

(3)//查詢車牌號為888888的車主的所有信息(跨表查詢)
    SQL> select *from Usern
  	2  where carid in(select carid from car where car.carnum='888888');

(4)//查詢車主的所有身份信息以及車信息(外連接)
    SQL> select *from usern left join car on(car.carid=userN.carid); 

(5)//查詢車牌號為888888的車主的所有身份信息以及車信息(外連接)
    SQL> select *from usern left join car on(car.carid=userN.carid)
 	 2  where carnum='888888';

(6)//查詢車名為寶馬的用戶信息(子查詢)
        SQL> select *from usern where carid
      2  in(select carid from car where carname='寶馬');

(7)//查詢換過尾燈且加過導航的奔馳車信息(多表連接)
    select *from car ,reparis,variation where rtype='尾燈' and vtype='加導航' and 	carname='奔馳';

(8)//查詢各種類型的車的數量分別為多少(分組加計數)
    select carname,count(*) 數量 from car group by carname; 

 

12.視圖和索引

1.創建視圖

create view temp as select carid,cartype from car;
2.創建索引
create index cartype on car(cartype);

  

暫時想不起來了,附上百度文庫中oracle操作語句大全的鏈接:

http://wenku.baidu.com/link?url=eFjmBNNTyJDY1HE0xjWk0BqyeiE0rphI9U58l3Oa3eXJzCTsywRCb3gRVSdjAzapDcgs62havhZ3gsp91xBdNfXi72LHwQWRod8AZx0zHFq

  

 

 

 

  

 

  

 

  

 

  

 

  

 

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM