20150814Oracle学习笔记
来源:互联网 发布:5轴加工中心软件编程 编辑:程序博客网 时间:2024/05/23 19:12
(1)数据库中数据存在的方式为表.
(2)表的一行称之为一条记录对应java类的一个对象.
(3)详细创建表命令create table table_name(field1 datatype,field2 datatype.......);
(4)Oracle常用数据类型
char(size)存放字符串最大2000个字符.是定长即存放字符串不够size则用空格补全,超过则报错.
varchar2(size)也是存放字符串,但是变长,即存放多少就占多少空间,剩余空间被回收,最大存放4000个字符;
如果数据长度是固定的比如身份证号则使用char来存放,因为这样存取速度快.
如果数据长度是变化的,则使用varchar2.
*Unicode编码无论中文英文都算一个字符.
即1个汉字占char两个字符占nchar一个字符.
nchar(size)Unicode编码定长最大2000个字符.
nvarchar(size)2变长最大长度4000个字符.
clob(character larg object)字符型大对象,最大8tb=8*1024g.(变长)
blob二进制大对象 可以存放图片和声音最大8tb.(开发中很少将文件存放在数据库中,因为效率不高,实际应用中我们记录是文件的路径.然后通过io与网络操作.)
*如果对文件安全性有特殊需求可以考虑放入数据库.
number(p,s)p为整数位,s为小数位.可以存放整数也可以存放小数.其中1<=p<=38,-84<=s<=127,保存数据范围-1.0e-130<=number value<1.0e+126
number保存到机器范围1~22bytes(也是变长).
(5)有效位是指从左到右第一个非零数就是第一个有效位number最多可存位数是p-s个位数.(实际开发中有明确要求保留小数点位数则明确指定,如果没有直接使用number就行.)
(6)date类型用于表示时间(年/月/日/时/分/秒)
比如create table test(birthday date);Oracle日期默认格式是"dd-mm-yyyy";也可以通过函数使用其他日期格式.
(7)TIMESTAMP(n)邮戳数据类型更新数据时日期会变化其中n可选值为0~9指的是秒的小数位数.
(8)添加表字段alter table 表名 add (列名,列类型);
(9)修改表字段alter table 表名 modify(列名,新类型);
(10)删除表字段alter table 表名 drop column 字段名;
(11)更改表名rename 表名 to 新表名;
(12)删除表 drop table 表名;
(13)查看表结构desc(ribe) 表名;
*表的crud操作
(1)增insert into 表名 (列名1,列名2,列名3) values (值1,值2,值3);如果给标的所有列都加值的话可以不带列名,例如insert into 表名 values (值.....);
(2)字符和日期类型要包含在单引号中.
(3)update操作可以用新值更新原有表行中各列, update 表名 set 列名=新值/表达式 where 列名=值;下划线处是为了寻找第几行.
(4)如果不用where则更新所有行.(一定要小心)
(5)如果修改的参数为空则不用等号用is比如update student set fellowship=10 where fellowship is null;
(6)delete from 表名 where 条件用delete语句可以删除表中的记录,切记如果不加where条件则删除所有记录,如果需要删除某一列的值则用update.另外delete语句删除的是数据而不是表本身,要删除表本身需要用drop语句.
(7)delete与update一样可能引起表的参照完整性的问题.
(8)delet语句删除的数据可以通过roolback to savepoint_name;恢复,但是要先设置好savepoint.
(9)truncate table 表名;删除表的所有数据,相比delete而言不写日志所以速度快但是数据不可找回.
(10)select查询语句
scott用户下常用的三张表emp,dept,salgrade.
基本语法select [distinct] */column_name from table_name [where 条件];(distinct可选是否过滤掉重复记录,如果查询多列.列名之间用逗号相隔.)
Oracle对字段查询时默认区分大小写.但是表名和命令不区分大小写.
select abs(列名) from 表名;(oracle查询中可以使用函数和表达式如上面的例子,作用是返回这一列的绝对值)
也可以加列的别名例如select sal*13 年薪 from emp;
nvl函数是oracle提供用来解决数据null问题,用法nvl(comm,0);如果comm为null则返回0否则分会自身值.(comm为emp表里面的奖金.)
(11)拼接||的使用,如果查询时想把多列拼接起来作为一列返回可以使用||(连接符)例如select 列名1 ||'附加内容'|| 列名2 from 表名.
- 20150814Oracle学习笔记
- Oracle学习笔记--Oracle入门
- Oracle学习笔记
- 学习ORACLE笔记
- Oracle 学习笔记
- ORACLE学习笔记
- Oracle 认证学习笔记
- Oracle学习笔记
- oracle学习笔记[转]
- Oracle学习笔记
- 转(oracle学习笔记)
- Oracle学习笔记一
- ORACLE学习笔记
- Oracle游标学习笔记
- Oracle 认证学习笔记
- oracle 学习笔记
- oracle学习笔记(一)
- oracle学习笔记(二)
- Spring学习笔记之六(数据源的配置)
- swift -NavigationController,代理传值
- 程序逻辑抽取器-linux之内核源码逆向设计
- int long long __int64的位数
- 黑马程序员 Java基础 多线程
- 20150814Oracle学习笔记
- memcpy 详解
- Tachyon在Spark中的作用(Tachyon: Reliable, Memory Speed Storage for Cluster Computing Frameworks 论文阅读翻译)
- linux学习笔记------网络命令---
- C++ string 用法详解
- Volley详解(三)——响应(Response)
- 简化多层分组关联计算的sql
- 路由器的原理及其配置(一)
- 基于MVC4+EasyUI的Web开发框架形成之旅--界面控件的使用