常用的字段数据类型:

.字符串(varchar2(n)) n表示保存最大长度,基本200作用。
.整数(number(n)) n位的整数,也可用int代替
.小数(number(n,m)) m为小数位,n-m为整数位,有时候用float代替
.日期(date) 存放日期
.大文本(clob) 存储海量文字(4G)
.大对象(blob) 存放二进制数据,电影,图片,文字,mp3

---------------------------------------------------------------------------------------------

1、创建表:

create table 表名称 (字段1 数据类型[default 默认值][primary key],...)

create table bqh3 (name varchar2(20) not null, sfz number(18) ,dz varchar2(30),constraint pk_sfz primary key (sfz));

2、表数据及表的复制:

cerate table bqh (select * from 已知表)----从已知表中只复制数据

create table bqh as selec * from 已知表; -----从已知表中复制数据和表结构

create table bqh as select  字段1,字段2 from 已知表 where 1=2;----从已知表复制指定字段包含数据

create table bqh as select * from 已知表 where 1=2; ----从已知表中复制结构但不包含表数据

3、插入数据:

insert into 表名 [(字段1,字段2)] values (值1,值2)----字段与列一一对应

insert into bqh (name,sfz,dz) values ('小白',130684,'XX区1幢');

insert into 表名 values 所有列的值;--------可以省略字段

insert into bqh  values ('小白',130684,'XX区1幢');

4、更新数据:

update 表 set 列=新的值 ----更新所有的数据

update bqh set sfz=130636

update 表 set 列=新的值 [where 条件] -----更新满足条件的数据

update bqh set sfz=130636 where name='小白'

--------------------------------------------------------------

select * from 表 for update   ----手动更新的数据

select * from bqh  for update

select * from 表 for update where 条件

select * from bqh  for update where sfz=130636  -----手动更新满足条件的数据

5、删除数据:

delete from 表名称 [where 删除条件...]

delete from 表名 where 条件 -----删除满足条件的数据

delete from bqh where sfz=130636;

delete frombqh ----删除所有数据

commit;

rollback;

查看回收站:show recyclebin

恢复表:flashback table 表名称 to before drop

例如:flashback table bqh to before drop

恢复表数据:rollback

例如:delete from bqh;

rollback;

注意:

①事物的回滚:ROLLBACK 更新操作回到原点。

②事物的提交:COMMIT 真正的更新,一旦提交无法回滚。

6、修改表结构:

alter table 表名称 add (列名称 数据类型 [default 默认值,...]) -----增加表字段

alter table bqh add (jf number(3) default 20)

alter table bqh modify (zf number(2) default 10) ------修改表字段

alter table bqh drop zf --------删除表字段

7、添加约束:

非空约束:not null不希望某字段为空

create table bqh (xh number,xm varcher2(20) not null)

唯一约束:unique 不希望某字段有重复值

create table bqh (xh number,xm varcher2(20) not null,email varchar2(50) unique)

指定唯一约束错误提醒:

create table bqh (xh number,xm varcher2(20) not null,email varchar2(50),constraint uk_email unique(email))

主键约束:primary key 非空约束+唯一约束例,如身份证

create table bqh (xm varcher2(20) not null,sfz number,constraint pk_sfz primary key (sfz))

检查约束:为某数据增加过滤条件,例如:年龄范围,性别等

create table bqh (xm varcher2(20) not null,xb varcher2(10) not null,age number(3),constraint ck_xb check (xb in ('男','女')),constraint ck_age check (age between 0 and 150))

外键约束:约束在两张(父子)表中进行,即字表某个字段的取值由父表决定。

例如:每个人有多本书,父表(人),子表(书)

create table xm (bh number,name varchar2(20) not null,constraint pk_bh primary key (bh))

create table book (bookname varchar2(20) not null,bh number,constraint fk_bh foreign key(bh) references xm(bh))

删除数据时,如果主表中的数据有对应子表数据,应先删除子表记录,再删主表记录。但操作不方便,即可以建立外键约束的时候指定一个级联删除功能,当删除主表数据后,对应的子表中的数据相关联的数据希望将其设置为空。

create table xm (bh number,name varchar2(20) not null,constraint pk_bh primary key (bh))

create table book (bookname varchar2(20) not null,bh number,constraint fk_bh foreign key(bh) references xm(bh)on delete set null)

8、修改约束:

为表增加约束

alter table 表名 add constraint 约束名称 约束类型(字段)

删除表中的约束

alter table 表名 drop constraint 约束名称

9、删除表:

drop table 表

drop table xm cascade constraint purge;  --------强制性删除表,不关心约束条件

drop table book cascade constraint purge; --------强制性删除表,不关心约束条件

感谢您的阅读,如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮。本文欢迎各位转载,但是转载文章之后必须在文章页面中给出作者和原文连接。

orcl创建表及管理表的更多相关文章

  1. Oracle创建表及管理表

    转自:https://www.linuxidc.com/Linux/2018-05/152566.htm   1. Oracle表的创建及管理 创建表包括三个要素,表名,列名,数据类型.每个表都有对应 ...

  2. Oracle入门基础(九)一一创建表和管理表

    练习:查询每一年入职人数及总人数 SQL> select count(*) Total, 2 sum(decode(to_char(hiredate,'yyyy'),'1980',1,0)) & ...

  3. Hive管理表分区的创建,数据导入,分区的删除操作

    Hive分区和传统数据库的分区的异同: 分区技术是处理大型数据集经常用到的方法.在Oracle中,分区表中的每个分区是一个独立的segment段对象,有多少个分区,就存在多少个相应的数据库对象.而在P ...

  4. hive 四种表,分区表,内部,外部表,桶表

    Hive四大表类型内部表.外部表.分区表和桶表 一.概述 总体上Hive有四种表:外部表,内部表(管理表),分区表,桶表.分别对应不同的需求.下面主要讲解各种表的适用情形.创建和加载数据方法. 二.具 ...

  5. hive学习笔记之三:内部表和外部表

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  6. Oracle的表创建和事务管理

    Oracle的表创建和事务管理 - CURD,根据查询结果创建新表 - 事务管理 - 什么是事务 ,为什么要用事务 - SQL99事务隔离级别 - Oracle事务隔离级别 - 事务回滚 - 隐式回滚 ...

  7. Oracle_创建和管理表

    创建和管理表 常见的数据库对象 Oracle 数据库中的表 查询数据字典 命名规则 CREATE TABLE 语句 数据类型 使用子查询创建表 ALTER TABLE 语句 删除表 清空表 改变对象的 ...

  8. 4.windows和Linux下创建oracleusername表空间,表,插入数据,用户管理表等操作

    进入超级管理员,运行下面命令 Window下创建数据库.表空间,用户,插入数据等操作 -- 01 创建表空间 -- 注意表空间的路径 依据实际安装环境进行调整 CREATE TABLESPACE ts ...

  9. Oracle02——oracle分页、子查询、集合运算、处理数据、创建和管理表和其他数据库对象

    作者: kent鹏 转载请注明出处: http://www.cnblogs.com/xieyupeng/p/7289451.html --oracle分页(Pageing Query) select ...

随机推荐

  1. SSM事务——事务回滚如何拿到返回值

    MySQL数据库一共向用户提供了包括BDB.HEAP.ISAM.MERGE.MyISAM.InnoDB以及Gemeni这7种Mysql表类型.其中BDB.InnoDB属于事务安全类表,而其他属于事务非 ...

  2. ActiveMQ——activemq的使用java代码实例(精选)

    ActiveMQ 在java中的使用,通过单例模式.工厂实现 Jms规范里的两种message传输方式Topic和Queue,两者的对比如下表():   Topic Queue 概要 Publish  ...

  3. 2-1. Creating a Simple Model 使用图形界面设计器创建一个简单的模型

    一.创建新项目 二.添加模型文件 三.添加完后,在设计面板空白处右击,创建一个实体 实体集(B) 这里的名称会是对应的数据库表名称!!! ,开始不知道这是什么,生成后才知道表名是这个,以后注意点就行. ...

  4. Netty 源码剖析之 unSafe.read 方法

    目录: NioSocketChannel$NioSocketChannelUnsafe 的 read 方法 首先看 ByteBufAllocator 再看 RecvByteBufAllocator.H ...

  5. JS 链接里面有中文字符,出现乱码问题

    function GetIndexTheme(data) { console.log("活动主题专区" + JSON.stringify(data)) if(data.Result ...

  6. FineUI 布局宽度自适应,后台回调js方法

    FineUI页面布局,宽度自适应 @(F.Panel().CssClass().ShowBorder().BoxConfigChildMargin("0 5 0 0").ShowH ...

  7. MYSQL查询优化(Ⅱ)

    本文列举出五个MySQL查询优化的方法,当然,优化的方法还有很多. 1.优化数据类型 MySQL中数据类型有多种,如果你是一名DBA,正在按照优化的原则对数据类型进行严格的检查,但开发人员可能会选择他 ...

  8. 撩课-Web大前端每天5道面试题-Day34

    1.React 中 keys 的作用是什么? Keys 是 React 用于追踪哪些列表中元素被修改.被添加或者被移除的辅助标识. render () { return ( <ul> {t ...

  9. 撩课-Web大前端每天5道面试题-Day27

    1.浏览器缓存? 浏览器缓存分为强缓存和协商缓存.当客户端请求某个资源时,获取缓存的流程如下: 先根据这个资源的一些 http header 判断它是否命中强缓存, 如果命中,则直接从本地获取缓存资源 ...

  10. JS中关于正则的巧妙操作

    var msg="dsada[emoji:37]dsadas[emoji:3900]法拉綏芬河"; function fetch(msg) { var match, result ...