Oracle SQL数据操作和查询(一)

Oracle SQL数据操作和查询(一)

创建一个学生信息表(infos)表和约束
create table infos(
	stuid varchar2(7) not null, --学号
	stuname varchar2(10) not null, --姓名
	gender varchar2(2) not null,   --性别
	age number(2) not null, --年龄
	seat number(2) not null, --座号
	enrolldate date, -入学时间
	stuaddress varchar2(50) default '地址不详',   --住址
	classno varchar2(4) not null  --班号
)
主键约束
alter table infos add constraint pk_infos primary key(stuid)
/
check检查约束
alter table infos add constraint ch_infos_gender check(gender='男' or gender='女')
/

alter table infos add constraint ck_infos_seat check(seat>=0 and seat<=50)
/

alter table infos add constraint ck_infos_age check(age>=0 and age<=100)
/

alter table infos add constraint ck_infos_classno check((classno>='1001' and classno<='1999' or ) or (classno>='2001' and classno<='2999'))
/
唯一约束(unique)
alter table infos add constraint un_stuname unique(stuname)
/

创建一个学生成绩表(scores)表和约束
create table scores(
	id number,
	term varchar2(2),     --学期 s1或s2
	stuid varchar2(7) not null,     --学号
	examno varchar2(7) not null, --考号
	writtenscore number(4,1) not null,  --笔记成绩
	labscore number(4,1) not null           --机试成绩
)

check检查约束
alter table scores add constraint ck_scores_term check(term='s1' or term='s2')
外键约束
alter table scores add constraint fk_scores_infos_stuid foreign key(stuid) references infos(stuid)


       简单查询

语法结构:简单查询
select *|列名|表达式 from 表名 where 条件 order by 列名


如:

 select stuname,gender,age,stuaddress from infos where gender='男' order by age

order by默认是升序


语法结构:根据结果集创建表
create table 表名 as select 语句
如:
create table infos1 as select * from infos;

如:复制表结构
create table infos2 as select * from infos where stuid=1001;

      数据插入

语法结构:根据结果集创建表
insert info 表名(列名1,列名2....) values(值1,值2....)
如:

insert info infos values('s100102','dan','男',22,2,to_date('2009-8-9 06:30:10', 'yyyy-mm-dd hh24:mi:ss'),'江西','1001')
如:
insert into infos values('s100104','guang','男',28,3,sysdate,default,'1001')
如:insert向表中插入一个结果集
insert into infos2 select * from infos;

     更新数据

语法结构:update
update 表名 set 列名1=值,列名2=值... where 条件
如:
update infos set classno='1002',stuaddress='广东' where stuname='dan';

     删除数据

语法结构:delete操作
delete from 表名 where 条件
如:
        delete from infos where stuid='s100103';
	commit;
语法结构:truncate命令,可以把表中的所有数据一次性全部删除
truncate table 表名


操作符

关系运算和逻辑运算与sql server一样
Oracle中字符串可以用单引号,也可以用双引号,在别名中存在空格时,必须用双引号,在表名,列名时用双引号

字符串连接操作符(||)
select (ename || 'is a' || job) as "Employee Details" from emp where sal>2000;






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值