oracle建表及数据的增删查

2018-02-03 10:23:16来源:网络收集作者:程序诗人人点击

分享

oracle命令行登录


普通用户登录:


>sqlplus cott/tiger  


管理员登录:


>sqlplus sys/123456 as sysdba


切换用户:


>conn wp/wp1234


退出:


>exit


 


Oracle用户权限控制(DCL),对用户进行操作


登陆sys,创建用户


Create user wp identified  by wp1234;


授予session,用于登录


Grant create session to wp;


将角色赋给用户


Grant connect,resource to wp;


 


将对象权限赋给用户


Grant select on scott.emp to wp;


撤销权限


Revoke……from wp;


删除用户


>Drop user wp cascade;


查询oracle中所有用户信息


>select * from dba_users;


只查询用户和密码


>select username,password from dba_users;


 


数据定义语言 (Data Definition Language, DDL):建表,修改表,删除表


1.创建表格式:create table


--创建学生表


create table student(


       sid number,


       sname
varchar2(20)
constraint wp_stu_sname
not null,


       age
number(2),


       sex
char(3),


       card
varchar2(17),


       constraint wp_stu_sid
primary key(sid),


       constraint wp_stu_age
check(age
between 16 and 30),


       constraint wp_stu_sex
check(sex
in('男','女')),


       constraint wp_stu_card
unique(card)


       );


2.修改表:alter table


--修改表,将card列的数据类型修改为varchar2(18)


alter table student modify card
varchar2(18);


--将tsid和tcid作为联合主键


alter table takecourse


add constraint pk_takecourse_tid


primary key(tsid,tcid);


3.创建表的某个字段的自增序列


--创建学生表id自增序列


create sequence seq_stu_sid;


select *
from user_constraints
where table_name='student';


--创建课程表id自增序列


create sequence seq_course_cid


minvalue 1


start with 1


increment by 2;


 


数据操纵语言DML(Data Manipulation Language):插入,更新,删除


1.插入数据:insert


--插入学生数据


insert into student


values(seq_stu_sid.nextval,'张三',20,'男',null);


2.更新数据:update


--更新学生数据,将学生李四的年龄改为20


update student s
set s.age=20;


3. 删除表中所有行


DELETE FROM student


数据查询语言(DQL)


格式如下:


--1.查询选修了java课程的学生的信息(子查询+连接查询)


select *
from student s
where s.sid
in


(select tsid
from takecourse t
inner join course
c on


t.tcid=c.cid
where c.cname='JAVA');


---2.查询每个课程的选修人数、总分、平均分、最高分、最低分


--- 使用视图


  create or replace view view_countcourse


  as      


    select c.cid,c.cname,


    count(tcid)
as "选修人数"


    ,sum(t.score)
as "总分",


    avg(t.score)
as "平均分",


    max(t.score)
as "最高分",


    min(t.score)
as "最低分"


    from takecourse t
full join course
c


    on t.tcid=c.cid


    group by c.cid,c.cname


    order by c.cid


    


 --使用视图完成查询    


select * from  view_countcourse


 


最新文章

123

最新摄影

闪念基因

微信扫一扫

第七城市微信公众平台