oracle上机练习(一)
本练习主要熟悉oracel sql*plus的一些常用命令。
1、连接
SQL*Plus system/manager
2、显示当前连接用户
SQL> show user
3、查看系统拥有哪些用户
SQL> select * from all_users;
4、新建用户并授权
SQL> create user a identified by a;(默认建在SYSTEM表空间下)
SQL> grant connect,resource to a;
5、连接到新用户
SQL> conn a/a
6、查询当前用户下所有对象
SQL> select * from tab;
7、建立第一个表
SQL> create table a(a number);
8、查询表结构
SQL> desc a
9、插入新记录
SQL> insert into a values(1);
10、查询记录
SQL> select * from a;
11、更改记录
SQL> update a set a=2;
12、删除记录
SQL> delete from a;
Oracle上机练习(二)
一、进入自己创建的用户下进行以下操作。
1、创建表STUDENT、COURSE、GRADE,各个表的结构如下:
(1) STUDENT
学号NUMBER(6),
姓名VARCHAR2(12)
入学时间DATE,
专业VARCHAR2(20),
性别CHAR(2),
年龄INTEGER
(2) COURSE
课程号NUMBER(6),
课程名称VARCHAR2(20),
学时INTEGER,
学分INTEGER
(3) GRADE
学号NUMBER(6),
课程号NUMBER(6),
成绩NUMBER(2)
2、向上面的三个表中分别插入5条纪录。示例:
(1)INSERT INTO STUDENT (学号,姓名,入学时间,专业,性别,年龄)
VALUES (100001,’HUANGWEI’,TO_DATE(‘1999-09-10’,’YYYY-MM-DD’),’COMPUTER’,’男’,23);
(2)INSERT INTO COURSE (课程号,课程名称,学时,学分)
VALUES(000001,’多媒体’,32,4);
(3)INSERT INTO GRADE (学号,课程号,成绩)
VALUES(100001,000001,90)
二、练习使用SQL*PLUS的一些编辑和执行命令
1、RUN简写R或者/
用来列出并执行当前存储在缓冲区的SQL命令
示例:SQL> select * from student;
SQL> RUN
1* select* from student;
2、LIST简写L
列出当前缓冲区的内容,主要用在当我们写错SQL语句的时候,可以将错误的SQL语句列出来,以便修改
LISTn列出SQL语句的第几行。
LISTm,n列出SQL语句的第几行到第几行。
3、CHANGE简写C
编辑LIST命令列出的行。
用法:CHANGE旧文本/新文本
4、DEL
删除LIST n命令列出的某一行
5、APPEND简写A
在一行的尾部添加文本
6、CLEAR BUFFER简写CL BUFF
删除全部的行
练习二
一
1(1)create table student
(
学号NUMBER(6)not null primary key,
姓名VARCHAR2(12),
入学时间DATE,
专业VARCHAR2(20),
性别CHAR(2),
年龄INTEGER
)
(2)create table Course
(
课程号NUMBER(6) not null primary key,
课程名称VARCHAR2(20),
学时INTEGER,
学分INTEGER
)
(3)
create table Grade
(
学号NUMBER(6) primary key,
课程号NUMBER(6) primary key,
成绩NUMBER(2)
)
2(1)
INSERT INTO Student(学号,姓名,入学时间,专业,性别,年龄)
VALUES
(101,'zhangsan',TO_DATE('1997-09-3','YYYY-MM-DD'),'COMPUTER','男',24);
INSERT INTO Student(学号,姓名,入学时间,专业,性别,年龄)
VALUES
(102,'lisi',TO_DATE('1997-09-3','YYYY-MM-DD'),'COMPUTER','女',24);
INSERT INTO Student(学号,姓名,入学时间,专业,性别,年龄)
VALUES
(103,'wangwu',TO_DATE('1997-09-3','YYYY-MM-DD'),'MATH','男',24);
INSERT INTO Student(学号,姓名,入学时间,专业,性别,年龄)
VALUES
(104,zuwei,TO_DATE('1997-09-3','YYYY-MM-DD'),'MATH','男',25);
INSERT INTO Student(学号,姓名,入学时间,专业,性别,年龄)
VALUES
(105,'dongyi',TO_DATE('1997-09-3','YYYY-MM-DD'),'ENGLISH','女',23);
(2)INSERT INTO Course(课程号,课程名称,学时,学分)
VALUES(001,'程序设计',28,4);
INSERT INTO Course(课程号,课程名称,学时,学分)
VALUES(002,'JAVA',42,2);
INSERT INTO Course(课程号,课程名称,学时,学分)
VALUES(003,'VC++',57,2);
INSERT INTO Course(课程号,课程名称,学时,学分)
VALUES(004,'网页制作',35,2);
INSERT INTO Course(课程号,课程名称,学时,学分)
VALUES(005,'c++编程',48,2);
(3)INSERT INTO Grade (学号,课程号,成绩)
VALUES(101,001,90)
INSERT INTO Grade (学号,课程号,成绩)
VALUES(102, 002,80)
INSERT INTO Grade (学号,课程号,成绩)
VALUES(103, 003,89)
INSERT INTO Grade (学号,课程号,成绩)
VALUES(104, 004,98)
INSERT INTO Grade (学号,课程号,成绩)
VALUES(105, 001,99)