数据库 oracle数据库基本知识
sqlplus登录
普通用户登录
c:\>sqlplus
请输入用户名:scott
请输入口令: sqlplus scott/
quit退出 管理员登录
sqlplus /nolog
连接数据库
SQL>connect /as sysdba
--查询当前用户下的所有的表
--select * from tab;
--tab是数据字典(是oracle的管理员分配给oracle普通用户的一些资源 tab是oracle系统提前定义的关键字) scott用户下
DEPT部门表 DEPTNO DNAME LOC
--------- -------------- -----------
ACCOUNTING NEW YORK
RESEARCH DALLAS
SALES CHICAGO
OPERATIONS BOSTON --查询dept部门表结构的定义
SQL> desc dept;
名称 是否为空? 类型
----------------------------------------- -------- ------------------- DEPTNO NOT NULL NUMBER()
DNAME VARCHAR2()
LOC VARCHAR2()
SQL> set linesize --设置行宽
SQL> set pagesize --设置页
--设置每一列的宽度
SQL> col empno(列名) for --对于数字用一个9代表占1个单位
SQL> col empname(列名) for a20 --对于字符用a20表示占20个单位
--清屏
SQL> host cls select语言后面可以跟*、多个列名、表达式、别名
--查询员工姓名、工资
SQL> select ename,sal from emp;
--别名、表达式
SQL> select ename as "姓名",sal 工资,sal* 年薪 from emp;
姓名 工资 年薪
---------- ---------- ----------
SMITH
ALLEN
--注意点:假如工资之间有空格或者其他特殊字符,必须加""
--sql语句大小写不敏感
--表达式遵循算术表达式规则
--如果SQL语句写错了,可以使用ed命令进行修改(在ed命令打开的文本框里不要加;--分号),保存后,键入"/"执行命令
oracle中的空值
--空值是无效的,未指定的,未知的或不可预知的值
--空值不是空格或者0
--包含空值的数学表达式的值都为空值(即空值与任何有效值进行计算,结果都是空值)
--滤空函数修正空值 --nvl(列名,自己想要的值)
SQL> select sal "月薪",sal*+nvl(comm,) 年薪 from emp;
月薪 年薪
---------- ---------- --查询奖金为空的员工
SQL> select * from emp
where comm is null;(where comm = null这是错误写法) --查询奖金不为空的员工
select * from emp
where comm is not null(where comm != null这是错误写法)
--连接符 "||"
SQL> select 'hello1'|| 'hello2' from emp;
--注意点:在sql语句中出现了日期和字符串要使用单引号括起来,别名是双引号 --dual虚表,由oracle管理员分配,查询和表没有任何关系的数据时,要用虚表(伪表),一个数据字典
SQL> select 'hello1'|| 'hello2' from dual; 'HELLO1'||'H
------------
hello1hello2 --distinct 删除重复行
SQL> select distinct deptno from emp;
sql优化①:select中使用列名查询比使用*查询效率更高
select子句中的别名不可以用在where子句中,但是from子句中别名可以在where中使用
数据库 oracle数据库基本知识的更多相关文章
- spring BasicDataSource 数据源配置 sqlserver数据库 oracle数据库 mysql数据jdbc配置
spring BasicDataSource 数据源配置 sqlserver数据库 oracle数据库 mysql数据jdbc配置 jdbc.properties 文件信息如下: ---------- ...
- 面试题: 数据库 oracle数据库 已看1 意义不大 有用
Oracle数据库面试题总结 2017年04月27日 22:41:44 阅读数:9271 1.SQL语句分类 DQL(数据查询语言)select DML(数据操作语言)insert.delete.up ...
- 数据库 Oracle数据库对象一
常见的数据库对象 表:基本的数据存储集合,由行和列组成 视图:从表中抽出的逻辑上相关的数据集合 序列:提供有规律的数值 索引:提高查询的效率 同义词:给对象起别名 create table语句 --c ...
- 数据库 | Oracle数据库查表空间使用情况
平时在使用Oracle的时候,如果业务中的数据量激增.数据量变大,很有可能就会有表空间不足的情况,需要重点关注.今天我们分享下如何查看表空间的使用情况. 一.如何查看使用状况 我们废话不说,先直接贴上 ...
- 数据库 Oracle数据库性能优化
--在Oacle数据库涉及到全表扫描的SQL查询(top,count)中, --现场用户删除表中大部分数据,只保留1W条数据,但是查询仍然很慢,检查磁盘IO,发现磁盘IO不是很高 --经过分析Oacl ...
- 数据库 Oracle数据库对象二
视图 --视图是对表逻辑抽象 --视图的好处:简化查询 --视图是一种虚表 --视图建立在已有表的基础上,视图赖以建立的这些吧称为基表. --向视图提供数据内容的语句为select语句,可以将视图理解 ...
- Oracle数据库的入门之一
Oracle的介绍: Oracle Database,又名Oracle RDBMS,或简称Oracle.是甲骨文公司的一款关系数据库管理系统.它是在数据库领域一直处于领先地位的产品.可以说Oracle ...
- oracle数据库的完整性约束规则详解
CSDN日报20170303--<百亿互金平台救火故事> 程序员2月书讯 社区有奖问答--一起舞动酷炫的iOS动画 基于Spark的分布式深度学习和认知计算 oracle数据库的完 ...
- MySQL数据库和Oracle数据库的区别
Mysql数据库 由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司.是一种中小型的关系型数据库. MySQL 数据库体积小.速度快.总体拥有成本低.开放源代码,其有着广泛的应用,一般中 ...
随机推荐
- 百度MIP移动页面加速——不只是CDN
MIP是用CDN做加速的么?准确答案是:是,但不只是. MIP全称Mobile Instant Pages,移动网页加速器,是百度提出的页面加速解决方案.MIP从前端渲染和页面网络传输两方面进行优化, ...
- 搞个这样的APP要多久?
这是一个“如有雷同,纯属巧合”的故事,外加一些废话,大家请勿对号入座.开始了…… 我有些尴尬地拿着水杯,正对面坐着来访的王总,他是在别处打拼的人,这几年据说收获颇丰,见移动互联网如火如荼,自然也想着要 ...
- ExtJS 4.2 Grid组件的单元格合并
ExtJS 4.2 Grid组件本身并没有提供单元格合并功能,需要自己实现这个功能. 目录 1. 原理 2. 多列合并 3. 代码与在线演示 1. 原理 1.1 HTML代码分析 首先创建一个Grid ...
- [C#] C# 知识回顾 - 学会处理异常
学会处理异常 你可以使用 try 块来对你觉得可能会出现异常的代码进行分区. 其中,与之关联的 catch 块可用于处理任何异常情况. 一个包含代码的 finally 块,无论 try 块中是否在运行 ...
- SDWebImage源码解读之SDWebImageCache(下)
第六篇 前言 我们在SDWebImageCache(上)中了解了这个缓存类大概的功能是什么?那么接下来就要看看这些功能是如何实现的? 再次强调,不管是图片的缓存还是其他各种不同形式的缓存,在原理上都极 ...
- C++随笔:.NET CoreCLR之GC探索(4)
今天继续来 带大家讲解CoreCLR之GC,首先我们继续看这个GCSample,这篇文章是上一篇文章的继续,如果有不清楚的,还请翻到我写的上一篇随笔.下面我们继续: // Initialize fre ...
- pdo的使用
PHP 数据对象 (PDO) 扩展为PHP访问数据库定义了一个轻量级的一致接口. PDO 提供了一个数据访问抽象层,这意味着,不管使用哪种数据库,都可以用相同的函数(方法)来查询和获取数据. PDO随 ...
- 代码的坏味道(18)——依恋情结(Feature Envy)
坏味道--依恋情结(Feature Envy) 特征 一个函数访问其它对象的数据比访问自己的数据更多. 问题原因 这种气味可能发生在字段移动到数据类之后.如果是这种情况,你可能想将数据类的操作移动到这 ...
- c# 字符串连接使用“+”和string.format格式化两种方式
参考文章:http://www.liangshunet.com/ca/201303/218815742.htm 字符串之间的连接常用的两种是:“+”连接.string.format格式化连接.Stri ...
- java中易错点(一)
由于replaceAll方法的第一个参数是一个正则表达式,而"."在正则表达式中表示任何字符,所以会把前面字符串的所有字符都替换成"/".如果想替换的只是&qu ...