前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >快速学习Oracle-Oracle数据类型与表的管理

快速学习Oracle-Oracle数据类型与表的管理

作者头像
cwl_java
发布2019-12-20 13:36:18
3990
发布2019-12-20 13:36:18
举报
文章被收录于专栏:cwl_Javacwl_Java
数据类型
在这里插入图片描述
在这里插入图片描述
表的管理
1.1 建表

语法:

代码语言:javascript
复制
 Create table 表名(
字段 1 数据类型 [default 默认值],
字段 2 数据类型 [default 默认值],
...
字段 n 数据类型 [default 默认值] );
范例:创建 person 表

示例

代码语言:javascript
复制
create table person(
 pid number(10),
 name varchar2(10),
 gender number(1) default 1,
 birthday date
);

插入数据

代码语言:javascript
复制
insert into person(pid, name, gender, birthday)
values(1, '张三', 1, to_date('1999-12-22', 'yyyy-MM-dd'));
2.1 表删除

语法:

代码语言:javascript
复制
DROP TABLE 表名
3.1 表的修改

在 sql 中使用 alter 可以修改表

  • 添加语法:
代码语言:javascript
复制
ALTER TABLE 表名称 ADD(列名 1 类型 [DEFAULT 默认值],列名 1 类型 [DEFAULT 默认值]...)
  • 修改语法:
代码语言:javascript
复制
ALTER TABLE 表名称 MODIFY(列名 1 类型 [DEFAULT 默认值],列名 1 类型 [DEFAULT 默认值]...)
  • 修改列名:
代码语言:javascript
复制
ALTER TABLE 表名称 RENAME 列名 1 TO 列名 2

范例:在 person 表中增加列 address

代码语言:javascript
复制
alter table person add(address varchar2(10));

范例:把 person 表的 address 列的长度修改成 20 长度

代码语言:javascript
复制
alter table person modify(address varchar2(20));
4.1 数据库表数据的更新
  1. INSERT(增加)

标准写法:

代码语言:javascript
复制
INSERT INTO 表名[(列名 1,列名 2,...)]VALUES(值 1,值 2,...)

简单写法(不建议)

代码语言:javascript
复制
INSERT INTO 表名 VALUES(值 1,值 2,...)

注意:使用简单的写法必须按照表中的字段的顺序来插入值,而且如果有为空的字段使用 null

示例:

代码语言:javascript
复制
insert into person values(2,'李四',1,null,'北京育新');
  1. UPDATE(修改)

全部修改: UPDATE 表名 SET 列名 1=值 1,列名 2=值 2,..局部修改:

代码语言:javascript
复制
UPDATE 表名 SET 列名 1=值 1,列名 2=值 2,....WHERE 修改条件;
  1. DELETE(删除)

语法 :

代码语言:javascript
复制
DELETE FROM 表名 WHERE 删除条件;

注意:在删除语句中如果不指定删除条件的话就会删除所有的数据

小贴士:因为 oracle 的事务对数据库的变更的处理,我们必须做提交事务才能让数据真正的插入到数据库中,在同样在执行完数据库变更的操作后还可以把事务进行回滚,这样就不会插入到数据库。如果事务提交后则不可以再回滚。 提交:commit 回滚:rollback

5.1 序列

在很多数据库中都存在一个自动增长的列,如果现在要想在 oracle 中完成自动增长的功能, 则只能依靠序列完成,所有的自动增长操作,需要用户手工完成处理。

语法:

代码语言:javascript
复制
CREATE SEQUENCE 序列名
[INCREMENT BY n] 
[START WITH n] 
[{MAXVALUE/ MINVALUE n|NOMAXVALUE}] 
[{CYCLE|NOCYCLE}] 
[{CACHE n|NOCACHE}];

范例:创建一个 seqpersonid 的序列,验证自动增长的操作

代码语言:javascript
复制
CREATE SEQUENCE seqpersonid;

序列创建完成之后,所有的自动增长应该由用户自己处理,所以在序列中提供了以下的两种操作:

代码语言:javascript
复制
nextval :取得序列的下一个内容
currval :取得序列的当前内容
select seqpersonid.nextval from dual;
select seqpersonid.currval from dual;

在插入数据时需要自增的主键中可以这样使用

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

在实际项目中每一张表会配一个序列,但是表和序列是没有必然的联系的,一个序列被哪一张表使用都可以,但是我们一般都是一张表用一个序列。

序列的管理一般使用工具来管理。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 数据类型
  • 表的管理
    • 1.1 建表
      • 2.1 表删除
        • 3.1 表的修改
          • 4.1 数据库表数据的更新
            • 5.1 序列
            相关产品与服务
            数据库
            云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档