date数据库的常见数据类型
oracle全部数据类型有26种
char
定长字符串  长度是固定不变的  no char(10) 如果存入的值不足十个字符,其他位也被占用
12345678##(空白的地方占用)
默认长度为1 即一个字符 最大长度:2000个字符
占用的空间较多,查询效率较高

varchar2
变长字符串类型  长度可变 列如:定义的长度是100字节,存入的值是80个字节,那么实际占用就是80个字节
varchar在oracle中不推荐使用,强烈推荐varchar2
必须要为为其指定长度 1-4000个字节  所有就需要考虑编码问题
一般情况下oracle使用gbk编码  一个中文站2个字节 英文、数字占一个字节
占用的空间较少,但查询的效率较低

number
数字类型 number(all_len,point_len)
第一个参数:整个数字的位数
第二个参数:以小数点为参照 右边为整数,左边为负数 0没有小数位
123.89   NUMBER         123.89
123.89   NUMBER(3)      124
123.89   NUMBER(6,2)    123.89
123.89   NUMBR(6,1)     123.9
123.89   NUMBER(4,2)    exceeds precision(有效位数为5,5>4)  超出范围
123.89   NUMBER(6,-2)   100
.01234   NUMBER(4,5)    .01234(有效位为4)
.00012   NUMBER(4,5)    .00012
.000127  NUMBER(4,5)    .00013
.0000012 NUMBER(2,7)    .0000012
.00000123 NUMBER(2,7)   .0000012

date
 将数据库存入数据库中,需要进行格式化存储的函数(方法)
默认格式:DD-MM-YY
select sysdate from dual;
30-9月-15
to_date('存入的值','存入的格式');    //将数据存入数据库中,需要进行格式化存储的函数
       2015-12-12 12:12:12 YYYY-MM-DD HH24:MI:SS
       to_date('2015-12-12 12:12:12','YYYY-MM-DD HH24:MI:SS');

create table test_date(test_time date default sysdate);
insert into test_date(name,test_time) values('123',to_date('2015-12-12 12:12:12','YYYY-MM-DD HH24:MI:SS'));

to_char();
 select to_char(test_time,'YYYY-MM-DD HH24:MI:SS') to_char_time from test_date where name='123';

timestamp

clob 用来存储单字节字符型数据  适用于存储超长文本 如小说,博客

blob 用来存储二进制数据  存储视频,图像,音频
------------------------------------------------------------------------------------------------------
约束 
  创建表时使用约束
  是强加在表上的规则和条件。确保数据库满足业务规则。可以保证数据的完整性
  当对表进行DML或DDL操作时,如果此操作会造成表中的数据违反约束条件或规则是,数据库系统就会拒绝执行这个操作
  
定义约束时,如果么有给定一个明确的约束名称,系统将会自动为该约束生成一个名字,oracle强烈建议创建约束时要给约束起名称
  
约束的分类:
 非空约束(NOT NULL)
       约束字段(列)不能为null值
 唯一约束(unique KEY)
       在表中每一行中定义的这列或这些列的值都不能相同 即唯一性
 主键约束(PRIMARY KEY)
       唯一的标识表中的每一条数据(每一行记录) 不能为null 不能重复
 外键约束(FOREIGN KEY)
       用来维护从表和主表之间引用的完整性  (不推荐使用外键)
 条件/检查约束(check)
 表中每一行该列都要满足该约束条件
 
 命名规则:
 约束名称简称_表名_列名
 非空约束  NN_tablename_coll
 唯一约束  UK_tablename_coll
 主键约束  PK_tablename_coll
 外键约束  FK_tablename_coll
 条件/检查约束 CK_tablename_coll
 
 create table c_test(
     id number(6),
name varchar2(30),
gender char,
age number(3),
brithday date,
constraint PK_C_TEST_ID primary key(id)
constraint UK_C_TEST_NAME unique (name)
 );
-----------------------------------------------------------------
表结构操作
 修改表名 rename tt to ttt;
 添加表字段  alter table ttt add gender char default 'M'
 修改表字段  alter table ttt modify(name varchar2(50) default '姓名')
表字段重命名 alter table ttt rename column name to username;
 修改表字段类型 alter table tt modtify(username varchar2(100));

oracle函数
 运算符:
 算术运算符  + - * /
 连接运算符  ||
     select 'jack'||'love'||'rose' from dual;
select username ||'---'||age from ttt;      jack---23   rose---24
 比较运算符  > = >= < <= !=  like between is null in
     select * from ttt  where username like '%k';  //最后一个字符是k
select * from ttt  where username like 'j%';  //第一个字符是j
select * from ttt  where username like '%a%';
     select username from ttt where age between 23 and 24;  
select * from ttt where username is null;  //任何值与null进行运算 都是null
select * from tt where age in(23,33,43);
 
 
 函数 
 ascii('a')   返回对应的编码值
 chr(编码值) 返回对应的字符  select chr(97) from dual; //  'a' 97
 
 concat 连接两个字符串
      select concat(username||'--',age+100) from tt;    jack--123
 initcap(字段名)   返回字符串并将字符串的第一个字母变大写
      select initcap(username) from tt;  Jack Rose
 
 length(字段名) 返回字段值得长度
      select length(username) username_length from tt;
 
 lower(字段名)  返回字符串的全部小写
 
 upper(字段名)  返回字段值全部大写 
      select lower(initcap(username)) low,upper(username) from tt;
 
 ltrim(字段名) 清除字段名左边的空字符串
 
 rtrim(字段名) 清除字段名右边的空字符串
     select ltrim(rtrim(username)) usename from tt;
 
 substr(原字符串,从第几个字符开始,截取多少个);
     select substr('abcdefghijklmn',1,3) from dual;  abc
 
 replace(原字符串,被替换的字符串,要替换成的字符串);
     select replace('He love rose!','He','I') from dual;
 
 trim('要去掉的#字符#'from '目标字符串');只能一个字符 减掉两边的所有字符
   trim('s' from 'strings')
   select trim('s' from 'strings') from dual;    tring 
 
  select trim(leading 's' from 'strings') from dual; 减掉前面的s字符   trings
  select trim(trailing 's' from 'strings') from dual;  减掉后面的s字符string
 
  abs(数字字段名) 返回数字的绝对值
select abs (123) abs1,abs(-1234),abs2 from dual;
 
 floor(字段名)  去掉小数不四舍五入成为整数
 select floor(1234.524) from daul ; 1234
 
 ceil(字段名) 将小数转成整数(有小数就+1)
 
 mod(被除数,除数)
 select mod(10,3) ml,mod(3,3) m2,mod(1,3)m3 from dual;
 
 power(原数字,幂)
 select power(2,3) from dual;  8
 
 round(字段名) 对小数四舍五入成整数
 select round(55.5) from dual; 56
 select round(55.4) from dual; 55
 
 trunc(字段名) 直接截取整数,不四舍五入
 select trunc(55.5) from dual;
 
 avg(字段名) 平均值
 select avg(age) from tt;
 
 count(字段名或者*);获取记录数 如果使用字段名,该字段不能有null值,否则忽略
 select count(*) from tt;
 
 sum(字段名) 求和
 select sum(age) from ttt;
 
 min(字段名) 
 
 max(字段名)
 
 to_number('1234') 字符串传成数字   
 select to_number('1234')from dual; 1234   
 
 -------------------------------------------------------------
 查看当前oracle 自动提交状态
 show autocommit;
 修改自动提交状态(这是一个会话级的环境变量)
 set autocommit on;
 set autocommit off;
 手动提交
 commit;
 回滚(autocommit off)
 rollback;   
 
 --------------------------------------------------------------
 日期常用函数
 last_day(date) 返回日期date所在月的最后一天
 select last_day(sysdate) from dual;
 
 add_months(date,i) 返回日期date加上i个月后的日期值
    i取正整数 小数:截取整数后再运算  负数:减少i个月的日期值
 months_between(date,date1)返回两个日期间隔多少个月;
结果可能是负数和小数(可以用ceil函数直接进位);
next_day(date,周几)返回date日期数据的下一个周几的日期
Sunday Monday Tuesday Wednesday Thursday Friday Saturday
January February March April May June July August September October November December

least(1,3,55,100,2,24)
 greatest(1,66,677)
 也称作比较函数,参数类型必须一致
 第二个参数类型会被转向一定参数类型 不能转换就报错
 
 extract(year/month/day from date)从参数datetime中提取参数date指定的数据类型,列如提取年,月,日
 列如: select extract(year from sysdate) from dual;

null和任何值进行运算,返回的都是null;
select * from tablename where column1 =null;//对于null不能这样比较
select * from tablename where column2 is null;
select * from tablename where column3 is not null;
空值函数
nvl(col_null,col_not_null)将null值转变成非null值处理 请保持两个参数的类型一致
列如: select sal,comm,sal+nvl(comm,0) as 'salary' from emp;

nvl2(col_null,col_is_null,col_is_not_null)将null值转变成实际值 作用有点像三目表达式
如果是null 转成col_is_null,如果不是null,传成 col_is_not_null
select sal,comm,sal+nvl2(comm,0,1000) as 'salary' from emp;

甲骨文数据库基本知识相关推荐

  1. MySQL数据库必备知识

    MySQL数据库基础知识 一.数据库说明 1.1 什么是数据库 数据库(Database)是一种存储结构化数据的方式,一般存在两种类型的数据库: 关系型数据库.非关系型数据库. 关系型数据库: 存储二 ...

  2. 软件测试培训分享:做软件测试需要掌握数据库的知识吗?

    最近几年,学习软件测试的同学越来越多,大家对于"做软件测试需要掌握数据库的知识吗?"这个问题都比较关注,那么下面小编就来为大家做下详细的介绍. 软件测试培训分享:做软件测试需要掌握 ...

  3. java学习与总结:MySQL和数据库基础知识

    文章目录 MySQL MySQL数据库索引数据结构 B树和B+树的区别 MySQL一条数据是怎么保存到数据库的 WAL : WRITE AHEAD LOG binlog 和 redo log 流程 M ...

  4. 1.0 MySQL数据库基础知识

    MySQL数据库基础知识 MYSQL介绍 MySQL分支版本的发展 MySQL. Oracle. SQLServer的市场区别 MYSQL数据库使用上的结构 MYSQL体系架构图 MYSQL体系架构- ...

  5. 一文聊“图”,从图数据库到知识图谱

    作者 | 穆琼 责编 | 晋兆雨 头图 | 付费下载于视觉中国 随着知识图谱的发展,图数据库一词被越来越多的提到.那么到底什么是图数据库,为什么要用图数据库,如何去建设一个图数据库应用系统,图数据库与 ...

  6. oracle数据库中基础知识,oracle数据库基础知识

    oracle数据库基础知识 -- End loop --1 declare pnum number(4):=0; begin while pnum < 10 loop dbms_output.p ...

  7. 重做 oracle_Oracle数据库基本知识(1)-数据库(1)

    一. 数据库相关概念 1 什么是数据库? 所谓的数据库其实就是数据的集合.用户可以对集合中的数据进行新增.查询.更新. 删除等操作.数据库是以一定方式储存在一起.能与多个用户共享.具有尽可能小的冗余度 ...

  8. 【转】卡巴斯基安全公告称甲骨文数据库存在加密漏洞

    据卡巴斯基实验室发布的安全公告称,一名安全研究人员发现,甲骨文的数据库存在安全漏洞,黑客只需知道数据库名称和用户名,就可通过非法手段侵入到甲骨文Oracle数据库. 在阿根廷召开的一个安全会议上,安全 ...

  9. 二级Access数据库大纲知识要点

    一.数据库基础知识 1.基本概念 1.1 数据库 数据库:指存储在计算机存储设备上.大量结构化的.可共享的相关数据的集合. 信息.消息.信号.数据.知识: 数据库管理系统(DBMS):指帮助用户建立. ...

最新文章

  1. 008 centos7安装docker ce
  2. 英伟达发布“空气CPU”,Arm架构专为AI而生,性能超x86十倍,与自家GPU更搭
  3. C++ Primer 5th笔记(2)chapter 2变量和基本类型:constexpr 、auto、类型别名、decltype
  4. centos yum php apc,centos – PECL APC安装 – 错误:’make’失败
  5. Bootstrap4+MySQL前后端综合实训-Day10-AM【实训汇报-下午返校、项目代码(7个包+7个Html页面)】
  6. 5月9日 python学习总结 外键、表之间的关联关系、修改表、清空表内容、复制表...
  7. java 23种设计模式及具体例子 收藏有时间慢慢看
  8. [多校联考-西南大学附中]切面包(线段树/概率与期望)+ Slow Path Finding Algorithm(拓扑排序/DP)+ 分数转化(数论)
  9. 江苏大学计算机学院宋美如,姜震-江苏大学计算机科学与通信工程学院
  10. 老生常谈exec函数族
  11. ModbusTCP助手调试工具Modbus主站调试工具ModbusMaster支持所有Modbus设备调试
  12. QPainter画箭头
  13. mcgs 施耐德tm218 变频器cv3100通过modbus连接控制
  14. error: Microsoft Visual C++ 14.0 or greater is required. Get it with “Microsoft C++ Build Tools“
  15. 模拟退huo算法的特点_模拟退火算法(有完整实例源代码)
  16. 计算机A级学科排名,“计算机科学与技术”学科排名出炉,上交大无缘A+吉大表现亮眼...
  17. 解决pytorch当中RuntimeError: expected scalar type Double but found Float的问题
  18. 正则表达式匹配,2位数字,单个字符-华图在线试题修改
  19. ROS中搭建分布式系统 主从机模式
  20. OPPO 2020届全球校园招聘启动

热门文章

  1. 【noip模拟赛5】细菌
  2. fiddler everywhere新功能简单说明
  3. 软考-SMTP是什么意思
  4. HDMI是什么设备与计算机连接的接口类型,​hdmi接口有什么用?怎么连接电脑?vga和hdmi的区别...
  5. 系统运维-20-2-openssh和openssl
  6. nltk学习之统计词频和分词nltk.word_tokenize nltk.FreqDist
  7. Python代码画小猪佩奇--turtle绘图
  8. Flutter Ink,InkWell,InkResponse水波纹实现(2.3)
  9. python画抛物线_python画抛物线
  10. 2023校招荣耀笔试