Oracle数据库学习之数据类型和表的操作

Oracle的数据类型:

  • 字符型数据类型
    • char
    • varchar
    • varchar2
    • long
    • 这几个字段之间的区别:char的长度是固定的,而varchar2的长度是可以变化的。也就是char(20)和varchar2(20)都存储"abc",char是占用20个字符的,而varchar2是占用3个字符空间的。但是char的效率要高与varchar。这也就是平时说的以空间换效率。如果有一行经常被修改,而且每次修改的长度不相同,这回引起行迁移的问题,是数据库设计进来避免的问题,这时候就用char代理varchar2会更好。
    • 一般情况下使用varchar2
  • 数值型:
    • number(<p>,<s>)
    • Integer
    • float
    • 一般使用number
  • 日期类型:
    • date 默认格式为:DD-MON-YY
    • timestamp,date的扩展。
    • 常用date
      --创建一张学生表(学生号,学生姓名,学生姓名,学生地址)
      create table tab_stu(
             stu_id number,
             stu_name varchar2(10),
             stu_gender varchar2(10),
             stu_address varchar2(20)
      );

  • LOB类型(存储大数据)
    • BLOB Binary Large Object 4G,二进制的大数据
    • CLOB Charset Large Object 4G 字符类型的大数据
    • 都不太使用

数据库表的命名规则:

  • 必须以字母开头。
  • 字符长度在1-30之间。
  • 只能包含A-Z,a-z,0-9,_,$和#
  • 被同一个用户拥有的对象不能有重复的名字。
  • 不能是Oracle服务器保留字。

SQL语句的分类:

  • DDL(Data Define Language 数据库定义语句)语句
    • 也就是对表的一些定义。例如 :create ,drop,alter等。
  • DML(Data Mainpulation Language 数据库操作语句)语句
    • 也就是Select,insert,update,delete等。
  • DCL(Data Control Language 数据库控制语句)语句
    • Grant(授权),Revoke(取消授权)
  • TCL(Transaction Control Language 事务控制语言)
    • savePoint(保存点)
    • rollback(回滚)
    • commit(提交)

表的创建和修改表结构:

  • 创建一张表:
    --创建一张学生表(学生号,学生姓名,学生姓别,学生地址)
    create table tab_stu(
           stu_id number,
           stu_name varchar2(10),
           stu_gender varchar2(10),
           stu_address varchar2(20)
    );

  • 修改表,添加字段:
    --修改表
    --在学生表增加一个字段,学生出生日期
    alter table tab_stu
    add date_birth date;

  • 修改表,将地址长度增加到50
    --修改表
    --将地址修改成50长度
    alter table tab_stu
    modify stu_address varchar2(50);

  • 修改表,删除一个字段
    --修改表
    --删除date_birth字段
    alter table tab_stu
    drop column date_birth;

  • 修改表,修改字段的名称
    --修改表
    --修改stu_address为stu_add
    alter table tab_stu
    rename column stu_address
    to stu_add;

  • 修改表,修改表的名称
    --修改表
    --修改表的名称为tab_student
    rename tab_stu to tab_student; 

  • 添加注释和查看注释
    --查看当前用户拥有表
    select * from user_tables;
    --查看注释,查看有注释的表
    select * from user_tab_comments where comments is not null;
    --查看注释,查看有注释的字段
    select * from user_col_comments where comments is not null;
    

  • 删除表和恢复表
    --删除表
    drop table tab_stu;
    --恢复表,Oracle10g之后才有
    flashback table tab_stu to before drop;

  • 彻底删除表
    --彻底删除表
    drop table tab_stu purge;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值