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