orcl创建表及管理表
常用的字段数据类型:
.字符串(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创建表及管理表的更多相关文章
- Oracle创建表及管理表
转自:https://www.linuxidc.com/Linux/2018-05/152566.htm 1. Oracle表的创建及管理 创建表包括三个要素,表名,列名,数据类型.每个表都有对应 ...
- Oracle入门基础(九)一一创建表和管理表
练习:查询每一年入职人数及总人数 SQL> select count(*) Total, 2 sum(decode(to_char(hiredate,'yyyy'),'1980',1,0)) & ...
- Hive管理表分区的创建,数据导入,分区的删除操作
Hive分区和传统数据库的分区的异同: 分区技术是处理大型数据集经常用到的方法.在Oracle中,分区表中的每个分区是一个独立的segment段对象,有多少个分区,就存在多少个相应的数据库对象.而在P ...
- hive 四种表,分区表,内部,外部表,桶表
Hive四大表类型内部表.外部表.分区表和桶表 一.概述 总体上Hive有四种表:外部表,内部表(管理表),分区表,桶表.分别对应不同的需求.下面主要讲解各种表的适用情形.创建和加载数据方法. 二.具 ...
- hive学习笔记之三:内部表和外部表
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- Oracle的表创建和事务管理
Oracle的表创建和事务管理 - CURD,根据查询结果创建新表 - 事务管理 - 什么是事务 ,为什么要用事务 - SQL99事务隔离级别 - Oracle事务隔离级别 - 事务回滚 - 隐式回滚 ...
- Oracle_创建和管理表
创建和管理表 常见的数据库对象 Oracle 数据库中的表 查询数据字典 命名规则 CREATE TABLE 语句 数据类型 使用子查询创建表 ALTER TABLE 语句 删除表 清空表 改变对象的 ...
- 4.windows和Linux下创建oracleusername表空间,表,插入数据,用户管理表等操作
进入超级管理员,运行下面命令 Window下创建数据库.表空间,用户,插入数据等操作 -- 01 创建表空间 -- 注意表空间的路径 依据实际安装环境进行调整 CREATE TABLESPACE ts ...
- Oracle02——oracle分页、子查询、集合运算、处理数据、创建和管理表和其他数据库对象
作者: kent鹏 转载请注明出处: http://www.cnblogs.com/xieyupeng/p/7289451.html --oracle分页(Pageing Query) select ...
随机推荐
- ABP框架源码中的Linq扩展方法
文件目录:aspnetboilerplate-dev\aspnetboilerplate-dev\src\Abp\Collections\Extensions\EnumerableExtensions ...
- Python模块: 命令行解析optionparser
Python 有两个内建的模块用于处理命令行参数:一个是 getopt,<Deep in python>一书中也有提到,只能简单处理 命令行参数:另一个是 optparse,它功能强大,而 ...
- Java设计模式学习记录-简单工厂模式、工厂方法模式
前言 之前介绍了设计模式的原则和分类等概述.今天开启设计模式的学习,首先要介绍的就是工厂模式,在介绍工厂模式前会先介绍一下简单工厂模式,这样由浅入深来介绍. 简单工厂模式 做法:创建一个工厂(方法或类 ...
- js设计模式总结3
1.模板方法模式 模板方法就是将多个模型抽象化归一,从中取出一个最基本的模板,当然这个模板可以作为实体对象也可以作为抽象对象,看你具体需求,其他模块只需要继承这个模块方法,也可以扩展这个方法. 举例子 ...
- [NOI 2016]网格
Description 题库链接 给出一张 \(n\times m\) 的网格,在其中删去 \(c\) 个格子,问至少再删去几个能使得图上存在两点不连通,或输出无解. 多组询问,询问组数 \(T\) ...
- Spark入门——什么是Hadoop,为什么是Spark?
#Spark入门#这个系列课程,是综合于我从2017年3月分到今年7月份为止学习并使用Spark的使用心得感悟,暂定于每周更新,以后可能会上传讲课视频和PPT,目前先在博客园把稿子打好.注意:这只是一 ...
- jQuery.Ajax()执行WCF Service的方法
Insus.NET有在上一篇<ASP.NET MVC呼叫WCF Service的方法>http://www.cnblogs.com/insus/p/3720547.html 直接呼叫WCF ...
- javascript学习之路之元素获取和设置属性
收拾心情,学习学习js!总结下自己的学习所得! 现有的有三种方法可以获取元素的节点,分别是通过元素ID,通过标签名和类名来获取的 1.GetElmentById:将返回一个与那个有给定ID属性的值的元 ...
- Join 具体用法
一.Join 语法概念 Join 按照功能可分为三大类: left join (左连接) 即:取左边表的全部数据,即使右边表没有对应的数据,也是会把左边表的数据取出来,并返回 right join(右 ...
- 5.C#知识点:ref和Out关键字浅谈
首先我们要知道ref和out在C#里面是什么? 答:它们俩是C#里面的关键字. 他们俩是干啥的呢? 答:他们俩是方法参数的修饰符号,一但使用,方法定义和方法都用都要使用这个关键字,这一点是死规定. 好 ...