Oracle数据库学习之数据类型和表的操作「建议收藏」

Oracle数据库学习之数据类型和表的操作「建议收藏」Oracle的数据类型:字符型数据类型charvarcharvarchar2long这几个字段之间的区别:char的长度是固定的,而varchar2的长度是可以变化的。也就是char(20)和varchar2(20)都存储”abc”,char是占用20个字符的,而varchar2是占用3个字符空间的。但是char的效率要高与varchar。这也就是平时说的以空间换效率。如果有一

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

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;

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/179218.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • idea 集成svn_idea从svn拉代码

    idea 集成svn_idea从svn拉代码IDEA集成SVN代码管理常用功能

    2022年10月17日
    3
  • 012路规律怎么看_双元素集合怎么判断

    012路规律怎么看_双元素集合怎么判断堆题目链接将一系列给定数字顺序插入一个初始为空的小顶堆H[]。随后判断一系列相关命题是否为真。命题分下列几种:x is the root:x是根结点;x and y are siblings:x和y是兄弟结点;x is the parent of y:x是y的父结点;x is a child of y:x是y的一个子结点。输入格式:每组测试第1行包含2个正整数N(≤ 1000)和M(≤ 20),分别是插入元素的个数、以及需要判断的命题数。下一行给出区间[−10000,10000]内的N个要被

    2022年8月9日
    9
  • 智能手机功能_android是什么品牌手机

    智能手机功能_android是什么品牌手机标签:小米(194)HTC(27)三星(1202)手机(807)打开各手机论坛,看到许多朋友在问usb调试在哪?usb调试模式怎么打开?“USB调试”是Android系统提供的一个用于开发工作的功能软件,在每个Android系统上都会自带,“USB调试”主要作用是在在计算机和Android设备之间复制数据、移动设备上安装应用程序。所以在我们联接电脑时,系统都会提示我们要打开“USB调试”。今天,…

    2025年11月4日
    2
  • HP-UX 六大虚拟化技术之“网络”

    HP-UX 六大虚拟化技术之“网络”

    2021年8月5日
    42
  • Selenium WebDriver下载安装

    Selenium WebDriver下载安装SeleniumWebDriver下载1.确认操作系统版本->win10,64位系统2.确认要使用的浏览器及版本->谷歌浏览器,91.0.4472.77(正式版本)(64位)3.去找webdriver驱动a.谷歌浏览器驱动下载地址:http://chromedriver.storage.proxy.ustclug.org/index.html【找与本机谷歌浏览器版本相匹配的驱动版本,最后一位小版本77可不对应,Windows系统选择chromedriver_win32.zip下载即

    2022年9月19日
    2
  • java退出foreach循环_forEach方法如何跳出循环[通俗易懂]

    java退出foreach循环_forEach方法如何跳出循环[通俗易懂]1.for方法跳出循环functiongetItemById(arr,id){varitem=null;for(vari=0;i<arr.length;i++){if(arr[i].id==id){item=arr[i];break;}}returnitem;}2.forEach方法跳出循环functiongetItemById(arr,id)…

    2022年5月24日
    67

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号