首页 » Oracle » oracle建表及数据的增删查

oracle建表及数据的增删查

原文 http://blog.csdn.net/ningyuenice/article/details/79216410

2018-02-01 02:01:25阅读(579)

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

 

最新发布

CentOS专题

关于本站

5ibc.net旗下博客站精品博文小部分原创、大部分从互联网收集整理。尊重作者版权、传播精品博文,让更多编程爱好者知晓!

小提示

按 Ctrl+D 键,
把本文加入收藏夹