oracle查看数据类型的函数,oracle学习笔记--常用数据类型及函数

文本二进制类型 1,char(size) 存放字符串,,最大2000字符,是定长 select name,dump(name) from tableName;(查看表的详细信息) 2,varchar2(size) 定长,最大4000个 3,nchar(size)定长,unicode编码 一个汉字占用char类型的2个字节,占用nchar()类型的1个字节 4,nvarchar() 变长,编码方式unicode 最大4000个字符 5,clob(字符型大对象)最大8tb 1tb=1024G 6,blob 二进制数据(图像,视频,声音),最大8tb 数据类型 number 可存放小数,也可存放整数 number(p,s) p为整数,s为小数p的范围1--38,s的范围-84--127 保存数据范围 -1.0e-130《=numberValue《1.0e+126;范围非常之大 举例:number(5,2)一个小数有5个有效数,2个小数 number(5)表示一个5位整数 时间类型 date 用于表示时间类型 格式:dd-mm-yyyy 原则:如果在实际的开发中,我们有明确的要求保留到小数点第几位,则明确指定,如果没有则直接使用number类型 表的管理 1:添加列:alter table tableName add(字段名 + 字段类型) 2 :更新列: alter table tableName modify(l列名+列类型)(修改字段类型) 3:删除列: alter table tableName drop column 给表修改名字;rename oldName to newName; 删除表:drop table tableName; 表的CRUD(create,retrieve,update,delete)操作 insert into tableName (列名),,, values (,,,); update tableName set columnName=表达式 where 条件(没有where表示更新所有行) deete  from tableName where 条件(没有 where删除表中所有数据)可回滚(savepoint aa;delete from tableName;rollback to aa;) trancate table tableName 删除表中多有记录(表结构还在)速度快,不可回滚 select 基本语法 select (distinct) * |{ column1,column2,column3} from tableName [where {条件}] 查询指定列:select column1,column2 from table; select ename ,sal +nvl(0,comm) as nianxin from emp; 取消重复行:select distinct column1,column2 from tableName;重复行:返回的书库完全一样 oracle 的sql语句不分大小写,但是where 条件里面的内容是区分大小写的。 使用数学表达式: nvl 函数:nvl(0,comm) 如果comm为空,则返回0; || :把多列拼接起来作为一列返回,(链接符) 用法:select ename || "is a" || job from emp; 删除用户同时保留它的数据对象该如何处理?? 1) 锁定该用户:alter user userName account lock 2》锁定后该用户不能登录到数据库,但是system用户仍然可以使用它的数据对象 3》解锁用户:alter user userName account unlock; 查询。。。年之后入职的员工     select * from emp where to_char(hireDate,'yyyy-mm-dd')>'1998-1-1'; 查询1980年入职的员工: select * from emp where to_char(hiredate,'yyyy') ='1980'; 显示工资2000到2500的员工:select * from emp where sal>=2000 and sal<=3000; select * from emp where sal between 2000 and 2500 使用 like进行 模糊查询 % 表示:0到多个值 - 表示: 一个任意值 查询名字首字母为S的员工姓名与工资: select ename,sal from emp where ename like'S%'; 显示第三个字符为O的员工姓名与工资: select ename ,sal from emp where ename like '两个下划线O%'; where条件中使用in 如何显示雇员编号为123,345,800的员工信息:select * from emp where epmno in (123,345,800); is null 的用法 查询没有上级的员工 select * from emp where mgr is null; 使用逻辑操作运算符 查询工资大于500或是岗位为manager 的雇员,同时还要满足他们的名字单词首字母为大写J; select * from emp where (sal>500 or job='manager') and ename like 'j%'; order by (对结果进行排序)asc:升序:(默认的) desc 降序 工资 由低高显示雇员:select * from emp order by sal; 按照部门编号升序,雇员入职时间降序排列 select * from emp order by empno ,hiredate desc; 使用列的别名排序 查询雇员的年薪,并按照年薪由高到低排序 select ename ,sal*12 +nvl(0,comm) as nianxin from emp order by nianxin

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值