sqlplus登录方式,列出所有表,列出表结构,sqlplus行和列显示设置,别名,空值问题,连接符,DISTINCT



1 sqlplus登录方式:

        
普通用户登录:

登录eg:C:\>sqlplusscott/11 
(格式:sqlplus
用户名/密码)

退出eg:quit退出

 

        
超级用户登录

                  
C:\>sqlplus/nolog

                  
SQL*Plus:Release 10.1.0.2.0 - Pr

                  
Copyright(c) 1982, 2004, Oracle.

                  
SQL>connect /as sysdba   //操作用户登录方式

                  
已连接。

                                    

2
查看用户下有什么表,命令:

        
SQL>select * from tab;  

tab是oracle中的一个关键字。

 


关于数据字典:

tab是数据字典:oracle超级管理员分配给普通用的资源....,tab关键字....

 


SQL>select * from dept; --查询表的所有记录

        

   DEPTNO(部门编号) DNAME
部门名称       
LOC 位置

                  
------------------------ -------------

                  
        10 ACCOUNTING     NEW YORK

                  
        20 RESEARCH       DALLAS

                  
        30 SALES          CHICAGO

                  
        40 OPERATIONS     BOSTON

 

5 SQL> desc dept; 
--查询表结构

        
名称                                     
是否为空?
类型

        
------------------------------------------------- ----------------------------

        
DEPTNO                                    NOT NULLNUMBER(2)

        
DNAME                                            VARCHAR2(14)

        
LOC                                               VARCHAR2(13)

                           


基本命令

        
A  set linesize 150  设置行宽

        
B  set pagesize 140 设置页大小


设置列宽

        
   SQL> col empno for 99999999999999999999

        
D  给字符方式设置列宽:

        
   SQL> col ename for a20

        

                                              


window下清屏

        
  SQL>host cls


Linux下清贫

 
SQL>host clear

                           


select语句(可以检索所有列、部分列、表达式、别名)

                  
 select * from emp;

        
     ---显示员工姓名
员工编号
工作 
月薪
年薪

        
     select ename, empno, job, sal , sal*12from emp;

8  
别名

                  
--1别名:
可以省掉""和as

                  
--2有空格时,
不能省掉""

 

SQL> select ename as "员工姓名"
, empno"编号", job
工作, sal "月薪"
, sal*12  年薪 from emp

 

                                    
员工姓名        
编号
工作          

薪      
年薪

        
                            -------------------- --------- ---------- ----------

                                    
SMITH            7369 CLERK           
800       9600

                                    
ALLEN            7499 SALESMAN       
1600      19200

                                    
WARD             7521 SALESMAN       
1250      15000

                                    
JONES            7566 MANAGER        
2975      35700

                                    
MARTIN           7654 SALESMAN       
1250      15000

                                    
BLAKE            7698 MANAGER        
2850      34200

                                    
CLARK            7782 MANAGER        
2450      29400

                                    
SCOTT            7788 ANALYST        
3000     36000

                                    
KING             7839 PRESIDENT      
5000     60000

                                    
TURNER           7844 SALESMAN       
1500      18000

                                    
ADAMS            7876 CLERK          
1100      13200

                                    
JAMES            7900 CLERK           
950      11400

                                    
FORD             7902 ANALYST        
3000      36000

                                    
MILLER           7934 CLERK          
1300      15600

                                    

        
---显示员工姓名
员工编号
工作 
月薪
年收入(月薪*12+comm)

9
空值问题:

        
selectename, empno, job, sal , sal*12+comm from emp ; (有问题,因为comm有null的)

        

空值问题注意:

                  
1NULL空值任何数和null运算都为null   
(null无穷大)

                  
2空值不是空 
null != null

        
解决办法:

                  
null滤空函数 nvl (a,b) --
当a是空的时候,返回b(
其中 b可以是数字/字符串)

                  
---字符串和日期在sql语言用单引号扩起来...

        
案例说明:

A  
select ename, empno, job,sal , sal*12+ nvl(comm,0) 年收入from emp;

 

                           
ENAME                     EMPNO JOB 
            SAL     年收入

                           
------------------------------ --------- ---------- ----------

                           
SMITH                      7369 CLERK           
800       9600

                           
ALLEN                      7499 SALESMAN       
1600      19500

                           
WARD                       7521 SALESMAN       
1250      15500

                           
JONES                      7566 MANAGER        
2975      35700

                           
MARTIN                     7654 SALESMAN       
1250      16400

                           
BLAKE                      7698 MANAGER        
2850      34200

                           
CLARK                      7782 MANAGER        
2450      29400

                           
SCOTT                      7788 ANALYST        
3000      36000

                           
KING                       7839 PRESIDENT      
5000     60000

                           
TURNER                     7844 SALESMAN       
1500      18000

                           
ADAMS                      7876 CLERK          
1100      13200

                           
JAMES                      7900 CLERK           
950      11400

                           
FORD                       7902 ANALYST        
3000      36000

                           
MILLER                     7934 CLERK          
1300      15600

                           

        
 B   查询奖金为空的员工

                           
select* from emp where comm is null;

        结果:

                           
EMPNOENAME      JOB             
MGR HIREDATE              SAL       COMM    DEPTNO

                           
-------------------- --------- ---------- -------------- ---------- ---------- ----------

                           
      7369 SMITH      CLERK          
7902 17-12月-80           
800                    20

                           
      7566 JONES      MANAGER        
7839 02-4月 -81          
2975                    20

                           
      7698 BLAKE      MANAGER        
7839 01-5月 -81       
   2850                    30

                           
      7782 CLARK      MANAGER        
7839 09-6月 -81          
2450                    10

                           
      7788 SCOTT      ANALYST        
7566 19-4月 -87          
3000                    20

                           
      7839 KING       PRESIDENT     
      17-11月-81          
5000                    10

                           
      7876 ADAMS      CLERK          
7788 23-5月 -87          
1100                    20

                           
      7900 JAMES      CLERK          
7698 03-12月-81           
950                    30

                           
      7902 FORD       ANALYST        
7566 03-12月-81          
3000                    20

                           
      7934 MILLER     CLERK          
7782 23-1月 -82          
1300                    10

        

        
 C  查询奖金不为空的员工

                  
    select * from emp where comm is not null

       结果:

                  
   EMPNO ENAME      JOB             
MGR HIREDATE              SAL      
COMM    DEPTNO

                  
------------------ --------- ---------- -------------- ---------- ---------- ----------

                  
    7499 ALLEN      SALESMAN       
7698 20-2月 -81          
1600        300        30

                  
    7521 WARD       SALESMAN       
7698 22-2月 -81          
1250        500         30

                  
    7654 MARTIN     SALESMAN       
7698 28-9月 -81          
1250       1400         30

                  
    7844 TURNER     SALESMAN       
7698 08-9月 -81          
1500          0         30

 

 

10
连接符
||

        
  select 'hello' || 'world' from emp;      

        
  select 'hello' || 'world' from dual; 
--伪表

 

dual是数据字典 (oracle超级管理员分配给普通用的资源....,tab关键字....)

        
 SQL> select sysdate from dual;

                                    
SYSDATE

                                    
--------------

                           
         07-10月-14

                                    

                                    
SQL>

11:DISTINCT
 


作用去除重复的行

        
 select DISTINCT deptno from emp;

                           
    DEPTNO

                                    
----------

                                    
    30

                                    
    20

                           
        10

        
 B  DISTINCT修饰多个字段的时,
当部门编号和工种都一样的时候,认为是重复的...

                                                                                                      
否则
不同行.

                                                       
====DISTINCT2个字段

                                    
selectDISTINCT deptno, job from emp

                                    

 

时间: 2024-09-20 00:08:49

sqlplus登录方式,列出所有表,列出表结构,sqlplus行和列显示设置,别名,空值问题,连接符,DISTINCT的相关文章

php列出mysql表所有行和列的方法

 这篇文章主要介绍了php列出mysql表所有行和列的方法,涉及php操作mysql数据库的技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了php列出mysql表所有行和列的方法.分享给大家供大家参考.具体实现方法如下: 代码如下: <html> <head> <title>Selecting Data</title> </head> <body> <?php $user = "root&quo

数据库-如图所示,改表我该如何设计,我的登录方式有3种 学生,老师,管理员

问题描述 如图所示,改表我该如何设计,我的登录方式有3种 学生,老师,管理员 解决方案 给登陆的账号3种不同的状态标识一下,或者你也可以单独写一个权限表,管理不同人员登录 解决方案二: 不需要什么登录方式.你用用户名登录,你的后台就可以通过这张表查询用户的身份.根据不同的身份,就有权限了,不需要用户选择才知道.

php列出mysql表所有行和列的方法_php技巧

本文实例讲述了php列出mysql表所有行和列的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <html> <head> <title>Selecting Data</title> </head> <body> <?php $user = "root"; $pass = ""; $db = "mydatabase"; $link = mysql_

.NET Winform登录窗体编程设计及数据库表

.NET Winform登录窗体编程设计及数据库表 : 源代码: 窗体主界面 查找学生(由于重装系统 DB丢失 所以没有数据)

CSS属性表简表

CSS 属性表简表,列出了一些我们常用的CSS的属性. 属性名称 属性含义 属性值 字体属性(Font) font-family 使用什么字体 所有的字体 font-style 字体是否斜体 Normal.italic.oblique font-variant 是否用小体大写 Normal.small-caps font-weight 字体的粗细 Normal.bold.bolder.lithter等 font-size 字体的大小 Absolute-size.relative-size.len

sqlplus登录\连接命令、sqlplus命令的使用大全_oracle

我们通常所说的DML.DDL.DCL语句都是sql*plus语句,它们执行完后,都可以保存在一个被称为sql buffer的内存区域中,并且只能保存一条最近执行的sql语句,我们可以对保存在sql buffer中的sql 语句进行修改,然后再次执行,sqlplus一般都与数据库打交道. 常用: sqlplus username/password  如:普通用户登录  sqlplus scott/tiger sqlplus username/password@net_service_name 如:

SELECT INTO 语句数据表全表复制备份

select into 语句数据表全表复制备份 select into 语句常用于创建表的备份复件或者用于对记录进行存档. sql select into 语法 您可以把所有的列插入新表: select * into new_table_name [in externaldatabase] from old_tablename 或者只把希望的列插入新表: select column_name(s) into new_table_name [in externaldatabase] from ol

更改Oracle数据库表的表空间

oracle|数据|数据库 在Oracle数据库管理系统中,创建库表(table)时要分配一个表空间(tablespace),如果未指定表空间,则使用系统用户确省的表空间. 在Oracle实际应用中,我们可能会遇到这样的问题.处于性能或者其他方面的考虑,需要改变某个表或者是某个用户的所有表的表空间.通常的做法就是首先将表删除,然后重新建表,在新建表时将表空间指定到我们需要改变的表空间.如果该用户已经保存了大量数据,这种办法就就显得不是很方便,因为有大量数据需要提前备份出来.下面介绍一种利用数据库

InnoDB 中文参考手册 --- 11 表和索引结构

参考|参考手册|索引|中文 InnoDB 中文参考手册 --- 犬犬(心帆)翻译 11 表和索引结构MySQL 在数据库目录下的 .frm 文件中存储它的数据字典信息.但是每个 InnoDB 类型表也同样在 InnoDB 表空间内的内部的数据字典中存在它自己的进入点.当 MySQL 移除(drop) 一个表或一个数据库时,它将同时删除 .frm 文件,以及在 InnoDB 的数据字典中相对应的进入点.这就是为什么不能通过简单的删除 .frm 文件为移除数据库中的 InnoDB 类型表的原因,以及