一、表名和列名的命名规则:
1、必须以字母开头
2、长度不能超过30个字符
3、不能使用oracle的保留字
4、只能使用如下字符 A-Z,a-z,0-9,$,#等

二、Oracle数据类型
1、字符类
char 长度固定,最多容纳2000个字符
eg. char(10) `小勇` 前四个字符放`小勇`,后6个空格补全
varchar2(20) 长度可变,最多容纳4000个字符
clob(character large object) 字符型大对象,对多容纳4g
比较:
char 查询的速度极快浪费空间,适合查询比较频繁的数据字段
varchar 节省空间

2、数字型
number 范围 -10的38次方~10的38次方,可以表示整数,也可以表示小数
number(5,2) 表示一位小数有5位有效数,2位小数;范围:-999.99~999.99
number(5) 表示一个5位整数;范围-99999~99999

3、日期类型
date 包含年月日 时分秒 oracle 默认格式1-1月-1999
timestamp 这个oracle9i 对date数据类型的扩展。可以精确到毫秒。

4、图片
blob 二进制数据,可以存放图片/声音4g;一般来讲,在真实项目中是不会把图片和声音真的往数据库里存放,一般来讲,在真实项目中是不会把图片和声音真的往数据库里存放,一
存放图片、视频的路径,如果安全需要比较高的话,则放入数据库。

三、怎样创建表

--创建表
create table student(
sid number(2), --学号
name varchar2(20), --姓名
sex char(2), --性别
birthday date, --出生日期
sal number(7,2) --奖学金
);

--修改表
--添加一个字段
sql>alter table student add(sid number(2));

--修改一个字段的长度
sql>alter table student modify (name varchar2(30));

--修改字段的类型或是名字(不能有数据)不建议做
sql>alter table student modify (name char(30));

--删除一个字段 不建议做(删除之后,顺序就变了。加就没问题,应该是加后面)
sql>alter table student drop column sql;

--修改表的名字 很少有这种需求
sql>rename student to stu;

--删除表
sql>drop table student;

--添加数据
--所有字段都插入数据
insert into student values('a001','张三','01-5月-05',10);
--oracle中默认的日期格式`dd-mon-yy` dd天mon月份yy 2位的年 `09-6月-99`1996年6月9日

--修改日期的默认格式(临时修改,数据库重启后仍为默认;如果修改需要修改注册表)
alter session set nls_date_format='yyyy-mm-dd';
--修改后,可以用我们熟悉的格式添加日期类型:
insert into student(sid,name,sex) values('a004','john','女');

--插入空值
insert into student(sid,name,sex,birthday) values('a004','martin','男',null);

--问题来了,如果你要查询student表里birthday为null的记录,怎么写sql呢?
--错误写法:select * from student where birthday = null;
--正确写法:select * from student where birthday is null;
--如果要查询birthday不为null,则应该这样写:
select * from student where birthday is not null;

--修改数据
--修改一个字段
update student set sex='女' where sid='a001';
--修改多个字段
update student set sex = '男', birthday = '1984-04-01' where sid = 'a001';
--修改含有null值的数据
不要用 = null 而是用 is null;
select * from student where birthday is null;

--删除数据
delete from student;--删除所有记录,表结构还在,写日志,可以恢复,速度慢。
--delete的数据可以恢复

savepoint a; --创建保存点
delete from student;
rollback to a; -- 恢复到保存点
一个有经验的dba,在确保完成无误的情况下要定期创建还原点。

drop table student ; -- 删除表的结构和数据
delete from student where sid = 'a001';--删除一条记录
truncate table student; -- 删除表中的所有记录,表结构还在,不写日志,无法找回删除的记录,速度快。

7. oracle表的管理*的更多相关文章

  1. ORACLE表空间管理维护

    1:表空间概念 在ORACLE数据库中,所有数据从逻辑结构上看都是存放在表空间当中,当然表空间下还有段.区.块等逻辑结构.从物理结构上看是放在数据文件中.一个表空间可由多个数据文件组成. 如下图所示, ...

  2. Oracle表空间管理

    oracle表空间相关常用命令小结: 1.ALTER DATABASE SET DEFAULT BIGFILE TABLESPACE;              //修改表空间数据文件类型 2.ALT ...

  3. oracle 表空管理方式(LMT)、ASSM段管理方式、一级位图块、二级位图块、三级位图块。

    今天是2013-12-16,今天和明天是我学习oracle生涯中一个特殊的日子.今天晚上进行了一下表空间管理方式的学习,在此记录一下笔记. 对于oracle数据库最小i/0单位是数据块,最想分配空间单 ...

  4. oracle 表空间管理

    1.创建表空间 03:01:55 sys@ORADB11G> create tablespace TSPITR datafile '/u01/app/oracle/oradata/TSPITR0 ...

  5. ArcSDE for Oracle表空间管理——暂时(TEMP)表空间

    Oracle暂时表空间主要用来做查询和存放一些缓冲区数据.暂时表空间消耗的主要原因是须要对查询的中间结果进行排序. 重新启动数据库能够释放暂时表空间,假设不能重新启动实例,而一直保持问题sql语句的运 ...

  6. ORACLE表空间管理方式segment和extent

    A permanent tablespace contains persistent schema objects. Objects in permanent tablespaces are stor ...

  7. Oracle 表结构管理

    表其实是数据的'容器'.oracle有几种类型的表: 普通表(ordinary table)又叫堆组织表. 聚簇表(clustered table) 分区表(partition table) 外部表( ...

  8. oracle表的管理

    表名和列的命名规则 必须以字母开头: 长度不能超过30字符: 不能使用oracle的保留字: 只能使用如下字符:A-Z,a-z,0-9,$,#等:   数据类型: 字符型: char       定长 ...

  9. 五、oracle 表的管理

    一.表名和列名的命名规则1).必须以字母开头2).长度不能超过30个字符3).不能使用oracle的保留字4).只能使用如下字符 a-z,a-z,0-9,$,#等 二.数据类型1).字符类char 长 ...

随机推荐

  1. 【NeurlPS2019】Positional Normalization 位置归一化

    作者提出,当前的BatchNorm, GroupNorm, InstanceNorm在空间层面归一化信息,同时丢弃了统计值.作者认为这些统计信息中包含重要的信息,如果有效利用,可以提高GAN和分类网络 ...

  2. Python os.tempnam() 方法

    概述 os.tempnam() 方法用于返回唯一的路径名用于创建临时文件.高佣联盟 www.cgewang.com 语法 tempnam()方法语法格式如下: os.tempnam(dir, pref ...

  3. PHP pathinfo() 函数

    定义和用法 pathinfo() 函数以数组的形式返回关于文件路径的信息. 返回的数组元素如下: [dirname]: 目录路径 [basename]: 文件名 [extension]: 文件后缀名 ...

  4. 4.23 子串 AC自动机 概率期望 高斯消元

    考虑40分. 设出状态 f[i]表示匹配到了i位还有多少期望长度能停止.可以发现这个状态有环 需要高斯消元. 提供一种比较简单的方法:由于期望的线性可加性 可以设状态f[i]表示由匹配到i到匹配到i+ ...

  5. 牛客挑战赛39 D 牛牛的数学题 NTT FMT FWT

    LINK:牛牛的数学题 题目看起来很不可做的样子. 但是 不难分析一下i,j之间的关系. 对于x=i|j且i&j==0, i,j一定是x的子集 我们可以暴力枚举子集来处理x这个数组. 考虑 x ...

  6. 死磕abstractqueuedsynchronizer源码

    第一次写博客,先练练手. 1.AQS是什么? 在Lock中,用到了一个同步队列AQS,全称为AbstractQueuedSynchronizer,它是一个同步工具也是lock用来实现线程同步的核心组件 ...

  7. windows:shellcode 代码远程APC注入和加载

    https://www.cnblogs.com/theseventhson/p/13197776.html  上一章介绍了通用的shellcode加载器,这个加载器自己调用virtualAlloc分配 ...

  8. Django自学教程PDF高清电子书百度云网盘免费领取

    点击获取提取码:x3di 你一定可以学会,Django 很简单! <Django自学教程>的作者学习了全部的 Django英文的官方文档,觉得国内比较好的Django学习资源不多,所以决定 ...

  9. OWL本体语言和Protege本体编辑器

    OWL本体语言和Protege本体编辑器 演讲稿原作者:Wala Abdulaziz译者:Wu Di (pimgeek)转载.编辑:Tan Liwei原文发布日期:2013年6月5号原文链接:http ...

  10. java进阶(3)--接口

    一.基本概念 1.接口为引用数据类型,编译后也是class字节码文件 2.接口是完全抽象的,(抽象类是半抽象的),属于特殊的抽象类 3.接口定义方法:[修饰符列表]interface 接口名{} 4. ...