Oracle 数据表的管理
1、创建表的的表名规则
a、必须已字母开头
b、长度不能超过30
c、不能是Oracle的保留字
d、只能使用如下字符:A-Z、a-z、1-9、#,$等
2、Oracle基本数据类型
2.1 字符型数据
a、char 定长,最大2000字符
例:char(10) '张三'前面四个字符存放张三,后面六个字符存放空格。
缺点:浪费空间
优点:查询速度比varchar块,非常快,如果数据字段,存储的是身份证之类的你可以知道长度的,最好使用char类型,提高查询效率
b、varchar2 变长,最大4000字符 SqlServer中是varchar,varchar2是oracle进行了优化了的varchar
例:varchar2(10) '张三'只分配四个字符存放张三
缺点:查询效率没有char高,因为varchar是变长,所以检索列的时候,oracle需要一个一个比较,而char是定长,可以整个一起检索比较
优点:节省空间
c、clob(character large object) 字符型大对象,最大4G
缺点:检索效率低,在一些大数据量操作时,最好不要检索这类字段,会影响检索速度
优点:解决大字段的数据存储,比如要存储的数据大于4000字符,这是就要考虑使用clob类型的字段来存储。
2.2 数字型
number 范围-1038~1038,可以表示整数,也可以表示小数
例:numer(6,2) 表示一个小数有6位有效数,2位小数 表示:-9999.99~9999.99
number(6) 表示一个整数有6位有效数 表示的范围是:-999999~999999
2.3 日期型
a、date 包含年月日时分秒
b、timestamp oracle9i对date类型的扩展,可以精确到毫秒级
2.4 二进制数据型
blob 该类型存放二进制数据,可以存放图片、声音、视频等数据
优点:当图片、声音、视频等数据属于保密性的内容,那么可以将这些内容通过blob存放到数据库中
缺点:读取速度慢,不易于管理
3、修改表
3.1、添加一个字段
alter table 表名 add (字段名 varchar2(200));
3.2、修改字段的类型或者是名字
alter table 表名 modify(字段名 字段类型)
3.3、修改字段的长度
alter table 表名 modify (字段名 varchar2(要修改的长度))
3.4、删除一个字段
alter table 表名 drop column 字段名
3.5、修改表的名字
rename 表名 to 新表名
3.6、删除表
drop table 表名
4、删除表记录
4.1、delete from 表
删除表记录,表结构还在,Oracle会将删除的数据记录到日志当中,所以删除的数据可以恢复,但是速度慢,因为需要记录到日志中
4.2、drop table 表
删除表的记录和结构,不可恢复,谨慎操作
4.3、truncate table 表
删除表中的所有记录,但是表结构还在,不写日志,所以速度很快,无法找回删除的记录,所以谨慎操作。
5、注意点
5.1、当执行insert操作时,Oracle中默认的日期格式时'DD-Mon-YY',也就是日、月、年的方式(典型的美国式时间),所以有如下insert语句
insert into tb1 values('张三','01-5月-05'),oracle默认的时间必须这样写01-5月-05,那么,怎么把oracle默认的时间格式,换成中国式的呢?
alter session set nls_date_format='yyyy-mm-dd';执行这段代码后,就可以进行如下的insert操作:如果不理解'yyyy-mm-dd'Oracle常用函数的'四、转换函数'
insert into tb1 values('张三','2001-01-01');
Oracle 数据表的管理的更多相关文章
- C# - VS2019 通过DataGridView实现对Oracle数据表的增删改查
前言 通过VS2019建立WinFrm应用程序,搭建桌面程序后,通过封装数据库操作OracleHelper类和业务逻辑操作OracleSQL类,进而通过DataGridView实现对Oracle数据表 ...
- MySql DDL语言(数据库和数据表的管理)
数据定义语言,负责数据库和数据表的管理 ⒈数据库的管理 1.创建数据库 create database if not exists DatabaseName; #if not exists可以省略 2 ...
- Oracle数据表转换为Shapefile(二)
在上一篇博文<Oracle数据表转换为Shapefile(一)>中详细描述了一种基于Oracle数据表生产Shapefile的技术方法,本文同样以详细图解的方式描述一种更便捷的方法来完成同 ...
- Oracle数据表转换为Shapefile(一)
严格来说,文章标题中的“转换”并不完全合适.本文的主要内容是基于Oracle数据表的数据来生产出Shapefile文件.进行该工作的一个前提条件是:Oracle数据表中包含坐标数值字段,一般来说就是x ...
- python3.4连接和读取oracle数据表
想用python连接Oracle并查询数据表,就写了个Demo.参考了以下网址. Python学习之 cx_Oracle学习记录 一 http://my.oschina.net/bxxfighting ...
- Oracle undo 表空间管理 (摘DAVID)
Oracle 的Undo有两种方式: 一是使用undo 表空间,二是使用回滚段. 我们通过 undo_management 参数来控制使用哪种方式,如果设为auto,就使用UNDO 表空间,这时必须要 ...
- 定时导出Oracle数据表到文本文件的方法
该实例实现了通过windows定时任务来实现了将数据库中指定数据表数据导出为txt文本格式.其思路是通过可执行的bat文件去调用导出数据脚本,然后再在windows定时任务中调用该bat文件来实现.该 ...
- 【Oracle】表空间管理
--表空间管理为主.附带 权限管理.数据字典 /* 表空间是逻辑结构,数据文件是物理结构 一个表空间对应多个段segment 段可以对应多个数据文件.跨磁盘 一个段对应多个盘区 extent 一个盘区 ...
- linux下导入oracle数据表
提前说明:这个是默认oracle已经安装好切数据库默认表空间已经创建好.之后将数据表dmp文件直接导入到默认表空间里(默认表空间不用再指定,因为创建数据库时已经指定默认表空间) linux命令如下: ...
随机推荐
- Cannot evaluate the property expression "$([MSBuild]::ValueOrDefault('$(VCTargetsPath)','$(MSBuildExtensionsPath32)\Microsoft.Cpp\v4.0\V140\'))" found at "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuil
Cannot evaluate the property expression "$([MSBuild]::ValueOrDefault('$(VCTargetsPath)','$(MSBu ...
- 设计模式20:Memento 备忘录模式(行为型模式)
Memento 备忘录模式(行为型模式) 对象状态的回溯 对象状态的变化无端,如何回溯.恢复对象在某个点的状态? 动机(Motivation) 在软件构建过程中,某些对象的状态在转换过程中,可能由于某 ...
- JavaScript执行顺序
当JavaScript引擎解析脚本时,它会在预编译期对所有声明的变量和函数进行处理.所以,就会出现当JavaScript解释器执行下面脚本时不会报错: alert(a); ...
- Java锁---偏向锁、轻量级锁、自旋锁、重量级锁
之前做过一个测试,反复执行过多次,发现结果是一样的: 1. 单线程下synchronized效率最高(当时感觉它的效率应该是最差才对): 2. AtomicInteger效率最不稳定,不同并发情况下表 ...
- Entity Framework Code First 遭遇mapping 不能识别map类问题
EF在OnModelCreating方法中,使用DbModelBuilder注册EntityTypeConfiguration子类时,是不管namespace的, 所以如果出现class名字相同,则会 ...
- jQuery-File-Upload外部按钮触发上传
这个控件功能还不错,但是对于外部调用上传有点压力. 比如说,他可以实现在添加一个文件后为文件添加一个上传按钮,这个是写在add中的,可以调用data.submit()提交数据 但是如果我要实现外部按钮 ...
- 纯分享scp协议如何工作
scp协议是什么, wiki上说: Secure copy or SCP is a means of securely transferring computer files between a lo ...
- [数学趣味001]RSA算法原理及示例
可以先看看这个视频: RSA_Encryption_Algorithm 公开密钥 Perwork: 私钥:Sender和Receiver预先约定加密和解密方案,向其他人保密. 这个实现比较难:向其他人 ...
- TSQL--可以在触发器中使用COMMIT吗?
很多场景中,我们使用触发器来回滚一些不满足业务逻辑的修改,这没有问题,问题是我能在触发器中提交事务吗? 这个问题很小白,当也来测试一下 /*测试中创建三种表,对表 TB2 插入时触发触发器,在触发器中 ...
- ffmpeg用法小结,教你抓各大网站视频
最近受邀朋友帮忙需要抓取一段某酷电影,偶然间发现ffmpeg程序.说到此可能会有人提到you-get和youtube-dl,期间也接触了该两款程序,但是由于版权原因,该软件仅仅可以抓取前几分钟预览版, ...