Oracle语句
Oracle语句-基本查询Oracle的数据类型1、字符类型 12字节的信息。VARCHAR2最多可以存储4,000 字节的信息。 CHAR和VARCHAR2的比较 2、数字类型 NUMBER:该数据类型能存储精度最多达38位的数字。每个数存储在一个变长字段中,其长度在0~22字节之间。Oracle的NUMBER类型精度很高, 远远高于许多编程语言中常规的FLOAT和DOUBLE类型。 NUMBER( p,s ) p表示精度(总长度) s表示小数位置且四舍五入 NUMBER(10,3) 10是总长度,3是小数位数的长度123.456123.4567 :将存储为123.45712345679.899 :精度超长了,10是总长度,3是小数位, 整数位为10-3=7位NUMBER(10)==NUMBER(10,0)Java.lang.IntegerNUMBER(19)==NUMBER(19,0) java.lang.Long 3、日期类型 DATE:一个7字节的定宽日期/时间数据类型。其中总包含7个属性,包括:世纪、世纪中哪一年、月份、月中的哪一天、小时、分钟和秒。 注意不要写成datetime TIMESTAMP:一个7 字节或12.字节的定宽日期/时间数据类型。它与DATE 数据类型不同,因为TIMESTAMP 可以包含小数秒(fractional second);带小数秒的TIMESTAMP 在小数点右边最多可以保留9位。 4、二进制及大文本数据 BLOB: (binary large object)在Oracle9i及以前的版本中, 这种数据类型允许存储最多4GB的数据, 在oracle10g及以后的版本中允许存储最多(4GB)×(数据库块大小)字节的数据。BLOB包含不需要进行字符集转换的“二进制“数据,如果要存储电子表格、字处理文档、图像文件等就很适合采用 CLOB:(Character Large Object)在Oracle9i及以前的版本中, 这种数据类型允许存储最多4GB的数据, 在Oracle 10g及以后的版本中允许存储最多(4GB)×(数据库块大小)字节的数据。CLOB包含要进行字符集转换的信息。这种数据类型很适合存储纯文本信息。 跟text一样 建立自己表空间: createtablespacexy datafile'd:/app/209/xy.dbf' size50M autoextendon next10M createuseritxy identifiedbyitxy defaulttablespacexy grantdbatoitxy; 登录: 使用oracle客户端工具,连接远程服务器: system/orc123@10.0.19.252/orcl 用户名/密码 @ 远程服务器的IP/远程网络服务名(SID) system / sys / scott oracle系统用户 role privilege : 角色是身份的象征,本质是一群权限的集合 --当前用户SQL> show user USER 为 "SCOTT" --当前用户的表SQL> select * from tab; --员工表的结构SQL> desc emp
--查询所有的员工信息SQL> select * from emp;
--设置行宽SQL> show linesize linesize 80 SQL> set linesize 150 --设置列宽SQL> col ename format a8 SQL> col sal for 9999 SQL> / --通过列名查询SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno 2 from emp; --SQL优化的原则:SQL> 1.尽量使用列名 SQL> host cls --查询员工信息:员工号 姓名 月薪 年薪 SQL> select empno,sal*12 2 from emp;
SQL> --查询员工信息:员工号 姓名 月薪 年薪 奖金 年收入 SQL> select empno,sal*12,sal*12+comm 2 from emp; --SQL中的null值:1. 包含null的表达式都为nullSQL> 2. null永远!=null SQL> select empno,sal*12+nvl(comm,0) 2 from emp; --2. null永远!=nullSQL> --查询奖金为null的员工 SQL> select * 2 from emp 3 where comm=null;
未选定行
SQL> select * 2 from emp 3 where comm is null; --修改sql:--c员工号 姓名 月薪 SQL> select empno,sal 2 form emp; form emp * 第 2 行出现错误: ORA-00923: 未找到要求的 FROM 关键字
SQL> --c命令 change SQL> 2 2* form emp SQL> c /form/from 2* from emp SQL> /
--ed已写入 file afiedt.buf
1 select empno as "员工号",ename "姓名",sal 薪 水,0) 2* from emp SQL> / select empno as "员工号",0) * 第 1 行出现错误: ORA-00923: 未找到要求的 FROM 关键字
SQL> ed 已写入 file afiedt.buf
1 select empno as "员工号",sal "薪 水",0) 2* from emp SQL> / --distinct 去掉重复记录SQL> select deptno from emp;
SQL> select distinct deptno from emp; SQL> select job from emp;
SQL> select distinct job from emp;
SQL> select distinct deptno,job from emp; --distinct 作用于后面所有的列--连接符 ||SQL> -- concat SQL> select concat('Hello',' World'); select concat('Hello',' World') 第 1 行出现错误: ORA-00923: 未找到要求的 FROM 关键字
SQL> select concat('Hello',' World') from emp; --dualSQL> select concat('Hello',' World') from dual;
CONCAT('HELL SQL> select 3+2 from dual;
SQL> select * from tab; SQL> --dual表:伪表 SQL> --伪列 SQL> select 'Hello'||' World' 字符串 from dual; --字符串SQL> --查询员工信息:***的薪水是**** SQL> select ename||'的薪水是'||sal 信息 from emp; SQL> --字符串 SQL> select * from emp; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |