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操作語句大全的鏈接:
