Oracle 常用语句整理

Oracle 常用语句整理

  最近做了份大型数据库作业。遇到了一些问题,在网上找的很是辛苦,于是,将一些常用的语句记录下来,方便大家学习。都是一些基本的东西。如果忘了,可以来看看。

1.创建临时表空间

create temporary tablespace car_data    //car_data,表空间名  
tempfile 'C:UsersAdministratorDesktopcar_data.dbf'//表空间路径 size 50m autoextend on next 50m maxsize 20480m extent management local;

  

 2.创建数据表空间

SQL> create tablespace car_data
  2  logging
  3  datafile 'C:UsersAdministratorDesktopcar_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

  

  

  

  

  

  

  

原文地址:https://www.cnblogs.com/wabi87547568/p/5076524.html