oracle学习02

oracle:多表查询,存储过程,触发器
1:创建新的数据库:
2:表名和列的命名规则:
     必须以字母打头
     长度<=30个字符
     不能使用oracle的保留字
     只能使用如下字符:A-Z,a-z,0-9,$,#等
3:oracle的数据类型:
   字符型:char:最大字符数为2000,定长的,假使你写的是20,不管你的内容为几位,都统统占用20位,多余的用空格占用。
                 虽浪费空间,但是查询的效率很高。比如身份证号码或者性别是定长的,所以此时可以将此定义为char型
           varchar2:最大字符数为4000,变长的,查询时,先比较第一个,再比较第二个,一次类推,此时就比较慢。
           clob :字符型大对象。比如字符数>4000
   数字型:number:范围:10的-38次方到10的38次方
           number(5,2):有效数为5位,有2位小数
           number(5):表示一个5位整数
   日期类型:date:
             timestamp:oracle9i对date数据类型的扩展
   图片类型:blob :二进制数据 可以存放图片/声音等 4G
              但是一般不会真的存在数据库,只存路径,一般是存放在另外一个文件夹下
              出于安全,可以考虑放在数据库,一般就存在文件夹下
4:建表:一种通过命令行
         一种打开pl/sql developer,单击选择左边的目录Tables,右键选择新建,填好之后点应用即可
5:修改表:
   给stu表添加一个字段 alter table stu add(stuid number(20));
   修改字段的长度: alter table stu modify (id varchar2(10));
   修改字段的类型或名字(不能有数据):alter table stu modify (stu id(20));
   删掉一个字段 alter table stu drop column stu;
   修改表的名字: rename stu to stu1;
   删除表 drop table stu;
6:oracle的日期格式:DD-MON-YY 天,月,年
   插入日期时,出现错误,在语句中会有红线提示错误。正确日期格式:'11-12月-2009'
   修改日期的默认格式:alter session set nls_date_format = 'yyyy-mm-dd';
   插入部分字段:类似,不写不插入的字段就行了
   插入空值:insert into stu(id,name,sex,salary)values(3,‘aa’,null);只要写一个null就行了
   查询没有生日的那些人:select * from stu where bir is null;不能用bir=null,反之用is not null
7:修改一个字段:
   update stu set id=12 where age=13;
   update stu set sex='nan',birthday='1908-12-13' where id=12;

   修改含有null值的数据:is null
7:删除数据:
   delete from stu;删除所有记录,表结构还在,写日志,可恢复,速度慢
   drop table stu;删除表的结构和数据
   truncate table stu;删除表中的所有记录,表结构还在,不写日志,无法找回删除的记录,速度快
   例子:假如表中有一条数据,在删除之前先:savepoint a;delete from stu;rollback to a;提示回滚完成
   所以很多 dba每天开始干活的时候先设置一个savepoint a,中间再设置一个savepoint b,此时a会被b覆盖。
   oracle支持多个保存点,即可以会滚到之前的任意一个保存点中的一个。但是不做任何处理的话,保存点只有一个

转载于:https://www.cnblogs.com/m-xy/archive/2012/12/28/2837389.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值