1.7 数据库之创建和管理表


概述

在这里插入图片描述

常见数据库对象

在这里插入图片描述

  • DML:主要为增删改查等数据管理操作
  • 表中声明为主键的列通常用序列来实现
  • 同义词不是临时的别名,命名好后,以后都可以使用该别名
  • 约束:创建完表后,对表的约束
  • DDL命令都不可回滚
  • 清空表数据(truncate):属于DDL语句
  • 从表结构的角度看:
    • DML:横向操作,修改表中记录
    • DDL:纵向操作,例如添加列,修改列

  • 查询用户创建的表,可使用代码或图形化界面
  • GUI中my objects:用户创建的自己的数据库对象
    >
    在这里插入图片描述

命名规则

在这里插入图片描述

  • 创建表,类比创建类,要指定类名(是一个标识符),命名要遵守命名规则
  • 红字为SQL与Java的命名规则的不同处

实例

在这里插入图片描述
Java:1,3合法
SQL:只有最后一个合法

创建表

在这里插入图片描述
在这里插入图片描述

  • varchar2(20):表明20字符长度大小
  • number(10,2)表明总共10位,小数点2位
  • date不需要指明数据所占空间

  • 有创建表的系统权限才能创建表
  • 创建表的声明格式:列名+该列对应的数据类型+该列占用的存储空间(十进制式,如3位整型,最大为999)
  • 两种方式:1. 白手起家,必为空表 2. 从其他表导入来创建表(同时导入了数据),create as格式
  • 以导入方式创建空表,可通过添加过滤条件实现
    • 如where 1=2 ,通过过滤满足1=2条件的数据,这肯定不满足——》create空表

在这里插入图片描述- 表结构一样:select *(达到复制表的目的)

数据类型

在这里插入图片描述

  • 红字为常用数据类型
  • number类型对应Java的int类型,都叫整型,但实质上不一样
  • 字符串型:Oracle中为varchar2,而sql为varchar
  • char类比Java的string,为不可变字符序列,而varchar类比stringbuffer,为可变字符序列
  • BLOB数据类型用于存储图片,视频等

修改表

在这里插入图片描述

增加列

在这里插入图片描述

  • 新的列是表中最后一列

修改列

在这里插入图片描述

  • 可修改存储空间大小,数据类型,默认值等
  • 仅对修改后的数据操作生效,之前保存原样(仅对今后表的添加项产生影响)
  • 表中该列若有数据,不允许修改数据类型了(修改数据空间和默认值是可以的)

删除列

在这里插入图片描述

重命名列

在这里插入图片描述

删除表

在这里插入图片描述

清空表

在这里插入图片描述

  • DDL语句:执行完,自动提交,回滚无效
  • DDL语句相当于一次性操作,写入硬盘,没法undo,已经保存了
  • 增删改操作只是暂时性写入内存——》 rollback——》回写回去

改变对象名称

在这里插入图片描述- rename不用加table关键字,因为其作用对象为整个数据库对象

总结

在这里插入图片描述

练习

在这里插入图片描述

  • 设置为不可用后,输入desc +table_name,查看表结构,此时没有该列,不意味着不存在该列,但效果等同于不存在该列
  • 若再设置为可用,则在查询表结构时可看见该列
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值