初识Oracle数据库的基本操作

SQL> --切换用户
SQL> connect practice/123
已连接。
SQL> --查询学生表信息
SQL> select * from stuInfo;

STUNO  STUNAME                  STUAGE      STUID   STUSEAAT                                                                                                                                            
------ -------------------- ---------- ---------- ----------                                                                                                                                            
0      王五                         15 5.9876E+15          5                                                                                                                                            
2      王五                         15 5.9876E+15          5                                                                                                                                            
3      王五                         15 5.9876E+15          5                                                                                                                                            
4      王五                         15 5.9876E+15          5                                                                                                                                            
5      王五                         15 5.9876E+15          5                                                                                                                                            
6      王五                         15 5.9876E+15          5                                                                                                                                            
7      王五                         15 5.9876E+15          5                                                                                                                                            
8      王五                         15 5.9876E+15          5                                                                                                                                            
9      王五                         15 5.9876E+15          5                                                                                                                                            
10     王五                         15 5.9876E+15          5                                                                                                                                            
11     王五                         15 5.9876E+15          5                                                                                                                                            
12     王五                         15 5.9876E+15          5                                                                                                                                            
13     王五                         15 5.9876E+15          5                                                                                                                                            
14     王五                         15 5.9876E+15          5                                                                                                                                            

已选择14行。

SQL> --使用ronum从学生表中提取10条记录并显示序号
SQL> select stuInfo.* ,rownum from stuInfo where rownum<11;

STUNO  STUNAME                  STUAGE      STUID   STUSEAAT     ROWNUM                                                                                                                                 
------ -------------------- ---------- ---------- ---------- ----------                                                                                                                                 
0      王五                         15 5.9876E+15          5          1                                                                                                                                 
2      王五                         15 5.9876E+15          5          2                                                                                                                                 
3      王五                         15 5.9876E+15          5          3                                                                                                                                 
4      王五                         15 5.9876E+15          5          4                                                                                                                                 
5      王五                         15 5.9876E+15          5          5                                                                                                                                 
6      王五                         15 5.9876E+15          5          6                                                                                                                                 
7      王五                         15 5.9876E+15          5          7                                                                                                                                 
8      王五                         15 5.9876E+15          5          8                                                                                                                                 
9      王五                         15 5.9876E+15          5          9                                                                                                                                 
10     王五                         15 5.9876E+15          5         10                                                                                                                                 

已选择10行。

SQL> --往学生表中插入一行记录
SQL> insert into stuInfo values('15','李四',12,15665544444,6);

已创建 1 行。
                                                                                                                              
SQL> --显示无重复的行
SQL> select distinct stuname from stuInfo;

STUNAME                                                                                                                                                                                                 
--------------------                                                                                                                                                                                    
王五                                                                                                                                                                                                    
李四                                                                                                                                                                                                    

SQL> --按照姓名升序排列,如果姓名相同则按照学号降序排列
SQL> select stuInfo.* from stuInfo order by stuname asc,stuno desc;

STUNO  STUNAME                  STUAGE      STUID   STUSEAAT                                                                                                                                            
------ -------------------- ---------- ---------- ----------                                                                                                                                            
15     李四                         12 1.5666E+10          6                                                                                                                                            
9      王五                         15 5.9876E+15          5                                                                                                                                            
8      王五                         15 5.9876E+15          5                                                                                                                                            
7      王五                         15 5.9876E+15          5                                                                                                                                            
6      王五                         15 5.9876E+15          5                                                                                                                                            
5      王五                         15 5.9876E+15          5                                                                                                                                            
4      王五                         15 5.9876E+15          5                                                                                                                                            
3      王五                         15 5.9876E+15          5                                                                                                                                            
2      王五                         15 5.9876E+15          5                                                                                                                                            
14     王五                         15 5.9876E+15          5                                                                                                                                            
13     王五                         15 5.9876E+15          5                                                                                                                                            
12     王五                         15 5.9876E+15          5                                                                                                                                            
11     王五                         15 5.9876E+15          5                                                                                                                                            
10     王五                         15 5.9876E+15          5                                                                                                                                            
0      王五                         15 5.9876E+15          5                                                                                                                                            

已选择15行。

SQL> --按照学号降序排列
SQL> select stuInfo.* from stuInfo order by stuno desc;

STUNO  STUNAME                  STUAGE      STUID   STUSEAAT                                                                                                                                            
------ -------------------- ---------- ---------- ----------                                                                                                                                            
9      王五                         15 5.9876E+15          5                                                                                                                                            
8      王五                         15 5.9876E+15          5                                                                                                                                            
7      王五                         15 5.9876E+15          5                                                                                                                                            
6      王五                         15 5.9876E+15          5                                                                                                                                            
5      王五                         15 5.9876E+15          5                                                                                                                                            
4      王五                         15 5.9876E+15          5                                                                                                                                            
3      王五                         15 5.9876E+15          5                                                                                                                                            
2      王五                         15 5.9876E+15          5                                                                                                                                            
15     李四                         12 1.5666E+10          6                                                                                                                                            
14     王五                         15 5.9876E+15          5                                                                                                                                            
13     王五                         15 5.9876E+15          5                                                                                                                                            
12     王五                         15 5.9876E+15          5                                                                                                                                            
11     王五                         15 5.9876E+15          5                                                                                                                                            
10     王五                         15 5.9876E+15          5                                                                                                                                            
0      王五                         15 5.9876E+15          5                                                                                                                                            

已选择15行。

SQL> --查询学号,使用别名
SQL> select stuno as 姓名 from stuInfo;

姓名                                                                                                                                                                                                    
------                                                                                                                                                                                                  
0                                                                                                                                                                                                       
2                                                                                                                                                                                                       
3                                                                                                                                                                                                       
4                                                                                                                                                                                                       
5                                                                                                                                                                                                       
6                                                                                                                                                                                                       
7                                                                                                                                                                                                       
8                                                                                                                                                                                                       
9                                                                                                                                                                                                       
10                                                                                                                                                                                                      
11                                                                                                                                                                                                      
12                                                                                                                                                                                                      
13                                                                                                                                                                                                      
14                                                                                                                                                                                                      
15                                                                                                                                                                                                      

已选择15行。

SQL> select stuno as "学 号" from stuInfo;

学 号                                                                                                                                                                                                   
------                                                                                                                                                                                                  
0                                                                                                                                                                                                       
2                                                                                                                                                                                                       
3                                                                                                                                                                                                       
4                                                                                                                                                                                                       
5                                                                                                                                                                                                       
6                                                                                                                                                                                                       
7                                                                                                                                                                                                       
8                                                                                                                                                                                                       
9                                                                                                                                                                                                       
10                                                                                                                                                                                                      
11                                                                                                                                                                                                      
12                                                                                                                                                                                                      
13                                                                                                                                                                                                      
14                                                                                                                                                                                                      
15                                                                                                                                                                                                      

已选择15行。

SQL> --创建一个新的表
SQL> create table stuInfo2
  2  as
  3  select stuInfo.* from stuInfo;

表已创建。

SQL> --查询创建的新表
SQL> select stuInfo2.* from stuInfo2;

STUNO  STUNAME                  STUAGE      STUID   STUSEAAT                                                                                                                                            
------ -------------------- ---------- ---------- ----------                                                                                                                                            
0      王五                         15 5.9876E+15          5                                                                                                                                            
2      王五                         15 5.9876E+15          5                                                                                                                                            
3      王五                         15 5.9876E+15          5                                                                                                                                            
4      王五                         15 5.9876E+15          5                                                                                                                                            
5      王五                         15 5.9876E+15          5                                                                                                                                            
6      王五                         15 5.9876E+15          5                                                                                                                                            
7      王五                         15 5.9876E+15          5                                                                                                                                            
8      王五                         15 5.9876E+15          5                                                                                                                                            
9      王五                         15 5.9876E+15          5                                                                                                                                            
10     王五                         15 5.9876E+15          5                                                                                                                                            
11     王五                         15 5.9876E+15          5                                                                                                                                            
12     王五                         15 5.9876E+15          5                                                                                                                                            
13     王五                         15 5.9876E+15          5                                                                                                                                            
14     王五                         15 5.9876E+15          5                                                                                                                                            
15     李四                         12 1.5666E+10          6                                                                                                                                            

已选择15行。

SQL> --删除表stuInfo3
SQL> drop table stuInfo3;

表已删除。

SQL> --创建只有表结构的表
SQL> create table stuInfo3
  2  as
  3  select stuInfo.* from stuInfo
  4  where 1=2;

表已创建。

SQL> --查看
SQL> select stuInfo3.* from stuInfo3;

未选定行

SQL> --查看stuInfo表中的数据
SQL> select stuInfo.* from stuInfo;

STUNO  STUNAME                  STUAGE      STUID   STUSEAAT                                                                                                                                            
------ -------------------- ---------- ---------- ----------                                                                                                                                            
0      王五                         15 5.9876E+15          5                                                                                                                                            
2      王五                         15 5.9876E+15          5                                                                                                                                            
3      王五                         15 5.9876E+15          5                                                                                                                                            
4      王五                         15 5.9876E+15          5                                                                                                                                            
5      王五                         15 5.9876E+15          5                                                                                                                                            
6      王五                         15 5.9876E+15          5                                                                                                                                            
7      王五                         15 5.9876E+15          5                                                                                                                                            
8      王五                         15 5.9876E+15          5                                                                                                                                            
9      王五                         15 5.9876E+15          5                                                                                                                                            
10     王五                         15 5.9876E+15          5                                                                                                                                            
11     王五                         15 5.9876E+15          5                                                                                                                                            
12     王五                         15 5.9876E+15          5                                                                                                                                            
13     王五                         15 5.9876E+15          5                                                                                                                                            
14     王五                         15 5.9876E+15          5                                                                                                                                            
15     李四                         12 1.5666E+10          6                                                                                                                                            

已选择15行。

SQL> --修改一行记录
SQL> update stuInfo set stuname='哈哈' where stuno=13;

已更新 1 行。

SQL> --查询
SQL> select stuInfo.* from stuInfo;

STUNO  STUNAME                  STUAGE      STUID   STUSEAAT                                                                                                                                            
------ -------------------- ---------- ---------- ----------                                                                                                                                            
0      王五                         15 5.9876E+15          5                                                                                                                                            
2      王五                         15 5.9876E+15          5                                                                                                                                            
3      王五                         15 5.9876E+15          5                                                                                                                                            
4      王五                         15 5.9876E+15          5                                                                                                                                            
5      王五                         15 5.9876E+15          5                                                                                                                                            
6      王五                         15 5.9876E+15          5                                                                                                                                            
7      王五                         15 5.9876E+15          5                                                                                                                                            
8      王五                         15 5.9876E+15          5                                                                                                                                            
9      王五                         15 5.9876E+15          5                                                                                                                                            
10     王五                         15 5.9876E+15          5                                                                                                                                            
11     王五                         15 5.9876E+15          5                                                                                                                                            
12     王五                         15 5.9876E+15          5                                                                                                                                            
13     哈哈                         15 5.9876E+15          5                                                                                                                                            
14     王五                         15 5.9876E+15          5                                                                                                                                            
15     李四                         12 1.5666E+10          6                                                                                                                                            

已选择15行。

SQL> --查询stuname列不存在重复数据的记录
SQL> select stuname from stuInfo group by stuname having(count(stuname)<2);

STUNAME                                                                                                                                                                                                 
--------------------                                                                                                                                                                                    
李四                                                                                                                                                                                                    
哈哈                                                                                                                                                                                                    

SQL> --删除名字重复的记录保留学号最大的那个
SQL> delete stuInfo where stuno not in(select max(stuno) from stuInfo group by stuname);

已删除12行。

SQL> --查看数据
SQL> select stuInfo.* from stuInfo;

STUNO  STUNAME                  STUAGE      STUID   STUSEAAT                                                                                                                                            
------ -------------------- ---------- ---------- ----------                                                                                                                                            
9      王五                         15 5.9876E+15          5                                                                                                                                            
13     哈哈                         15 5.9876E+15          5                                                                                                                                            
15     李四                         12 1.5666E+10          6                                                                                                                                            

SQL> --插入测试数据
SQL> insert into stuInfo values('1','66',10,5566554666,5);

已创建 1 行。

SQL> select stuInfo.* from stuInfo;

STUNO  STUNAME                  STUAGE      STUID   STUSEAAT                                                                                                                                            
------ -------------------- ---------- ---------- ----------                                                                                                                                            
9      王五                         15 5.9876E+15          5                                                                                                                                            
13     哈哈                         15 5.9876E+15          5                                                                                                                                            
15     李四                         12 1.5666E+10          6                                                                                                                                            
1      66                           10 5566554666          5                                                                                                                                            
1      66                           10 5566554666          5                                                                                                                                            
1      66                           10 5566554666          5                                                                                                                                            
1      66                           10 5566554666          5                                                                                                                                            
1      66                           10 5566554666          5                                                                                                                                            
1      66                           10 5566554666          5                                                                                                                                            
1      66                           10 5566554666          5                                                                                                                                            
1      66                           10 5566554666          5                                                                                                                                            
1      66                           10 5566554666          5                                                                                                                                            
1      66                           10 5566554666          5                                                                                                                                            

已选择13行。

SQL> --查看自然顺序的第五条记录
SQL> select * from (select stuInfo.* ,rownum as rn from stuInfo )where rn=5;

STUNO  STUNAME                  STUAGE      STUID   STUSEAAT         RN                                                                                                                                 
------ -------------------- ---------- ---------- ---------- ----------                                                                                                                                 
1      66                           10 5566554666          5          5                                                                                                                                 

SQL> --嵌套分页,查询第5到第八条的数据


SQL> --两层嵌套分页
SQL> select * from (select stuInfo.*,rownum as rn from stuInfo where rownum<=8) where rn >=5;

STUNO  STUNAME                  STUAGE      STUID   STUSEAAT         RN                                                                                                                                 
------ -------------------- ---------- ---------- ---------- ----------                                                                                                                                 
1      66                           10 5566554666          5          5                                                                                                                                 
1      66                           10 5566554666          5          6                                                                                                                                 
1      66                           10 5566554666          5          7                                                                                                                                 
1      66                           10 5566554666          5          8                                                                                                                                 

SQL> --三层嵌套

SQL> select * from (select stu.* ,rownum as rn from (select stuInfo.* from stuInfo) stu  where rownum<=8) where rn>=5;

STUNO  STUNAME                  STUAGE      STUID   STUSEAAT         RN                                                                                                                                 
------ -------------------- ---------- ---------- ---------- ----------                                                                                                                                 
1      66                           10 5566554666          5          5                                                                                                                                 
1      66                           10 5566554666          5          6                                                                                                                                 
1      66                           10 5566554666          5          7                                                                                                                                 
1      66                           10 5566554666          5          8                                                                                                                                 

SQL> spool off
原文地址:https://www.cnblogs.com/liujiayun/p/5720639.html