首页

文章

oracle如何创建表以及向表里面添加数据

发布网友 发布时间:2022-04-20 01:38

我来回答

5个回答

懂视网 时间:2022-04-30 01:57

必须在1–30 个字符之间 必须只能包含A–Z, a–z, 0–9, _, $, 和# 必须不能和用户定义的其他对象重名 必须不能是Oracle 的保留字 Oracle默认存储是都存为大写 数据库名只能是1~8位,datalink可以是128位,和其他一些特殊字符



CREATE TABLE语句

必须具备:     ?CREATETABLE权限     ?存储空间 必须指定:     ?表名     ?列名, 数据类型, 数据类型的大小

创建表的列的值的数据类型

技术分享


SQL> create table test1

  2  (tid number,tname varchar2(20));


表已创建。


Default值

l执行insert操作时,可以为其指定默认值 l值、表达式和SQL语句都可以作为默认值 l其他的列名或者是伪列都是非法的 l默认值的类型必须和该列的类型一致

CREATETABLE hire_dates
        (id          NUMBER(8),

         hire_date DATEDEFAULT SYSDATE);



SQL> create table test2

  2  (tid number,
  3   tname varchar2(20),
  4   birthday date default sysdate);


表已创建。


SQL> insert into test2(tid ,tname) values(1,‘Tom‘);


已创建 1 行。


SQL> select * from test2;


       TID TNAME                BIRTHDAY                                                                                                              
---------- -------------------- --------------                                                                                                        
         1 Tom                  27-3月 -12                                                                                                            


已选择 1 行。


查询结果作为新的表


使用ASsubquery 选项,将创建表和插入数据结合起来 指定的列和子查询中的列要一一对应 通过列名和默认值定义列


SQL> --创建表;显示员工的月薪,年薪和年收入
SQL> create table empincome
  2  as
  3  select empno,ename,sal,sal*12 annlsal ,sal*12+nvl(comm,0) income from emp;


表已创建。


SQL> select * from empincome;


     EMPNO ENAME        SAL    ANNLSAL     INCOME                                                                                                     
---------- ---------- ----- ---------- ----------                                                                                                     
      7369 SMITH        800       9600       9600                                                                                                     
      7499 ALLEN       1600      19200      19500                                                                                                     
      7521 WARD        1250      15000      15500                                                                                                     
      7566 JONES       2975      35700      35700                                                                                                     
      7654 MARTIN      1250      15000      16400                                                                                                     
      7698 BLAKE       2850      34200      34200                                                                                                     
      7782 CLARK       2450      29400      29400                                                                                                     
      7788 SCOTT       3000      36000      36000                                                                                                     
      7839 KING        5000      60000      60000                                                                                                     
      7844 TURNER      1500      18000      18000                                                                                                     
      7876 ADAMS       1100      13200      13200                                                                                                     


     EMPNO ENAME        SAL    ANNLSAL     INCOME                                                                                                     
---------- ---------- ----- ---------- ----------                                                                                                     
      7900 JAMES        950      11400      11400                                                                                                     
      7902 FORD        3000      36000      36000                                                                                                     
      7934 MILLER      1300      15600      15600                                                                                                     


已选择14行。




alter table语句修改表

使用ALTER TABLE语句可以:

l追加新的列 l修改现有的列 l删除一个列
SQL> --修改表
SQL> desc test2
 名称                                                                                是否为空? 类型
 ----------------------------------------------------------------------------------- -------- --------------------------------------------------------
 TID                                                                                          NUMBER
 TNAME                                                                                        VARCHAR2(20)
 BIRTHDAY                                                                                     DATE


SQL> --追加照片
SQL> alter table test2 add image blob;


表已更改。


SQL> --修改列
SQL> alter table test2 modify tname varchar2(40);


表已更改。


SQL> --删除列
SQL> alter table test2 drop column image;


表已更改。


SQL> --重命名
SQL> alter table test2 rename column tname to username;


表已更改。


SQL> desc test2
 名称                                                                                是否为空? 类型
 ----------------------------------------------------------------------------------- -------- --------------------------------------------------------
 TID                                                                                          NUMBER
 USERNAME                                                                                     VARCHAR2(40)
 BIRTHDAY                                                                                     DATE


SQL> host cls


删除表

l数据和结构都被删除 l所有正在运行的相关事物被提交 l所有相关索引被删除 lDROPTABLE 语句不能回滚,但是可以闪回

SQL> --删除表 drop table
SQL> select * from tab;


TNAME                          TABTYPE  CLUSTERID                                                                                                     
------------------------------ ------- ----------                                                                                                     
DEPT                           TABLE                                                                                                                  
EMP                            TABLE                                                                                                                  
BONUS                          TABLE                                                                                                                  
SALGRADE                       TABLE                                                                                                                  
EMP10                          TABLE                                                                                                                  
EMP20                          TABLE                                                                                                                  
TESTSAVEPOINT                  TABLE                                                                                                                  
TESTDELETE                     TABLE                                                                                                                  
TEST1                          TABLE                                                                                                                  
TEST2                          TABLE                                                                                                                  
EMPINCOME                      TABLE                                                                                                                  


已选择11行。


SQL> drop table test1;


表已删除。


SQL> select * from tab;


TNAME                          TABTYPE  CLUSTERID                                                                                                     
------------------------------ ------- ----------                                                                                                     
DEPT                           TABLE                                                                                                                  
EMP                            TABLE                                                                                                                  
BONUS                          TABLE                                                                                                                  
SALGRADE                       TABLE                                                                                                                  
EMP10                          TABLE                                                                                                                  
EMP20                          TABLE                                                                                                                  
TESTSAVEPOINT                  TABLE                                                                                                                  
TESTDELETE                     TABLE                                                                                                                  
TEST2                          TABLE                                                                                                                  
EMPINCOME                      TABLE                                                                                                                  
BIN$s9Jekm1bS3KsjXPzlTno6A==$0 TABLE               (放入了回收站)                                                                                                   


已选择11行。

查看回收站

SQL> --Oracle的回收站
SQL> --查看回收站
SQL> show recyclebin
ORIGINAL NAME    RECYCLEBIN NAME                OBJECT TYPE  DROP TIME                                                                                
---------------- ------------------------------ ------------ -------------------                                                                      
TEST1            BIN$s9Jekm1bS3KsjXPzlTno6A==$0 TABLE        2012-03-27:15:30:55                                                                      
SQL> drop table test2 purge;


表已删除。

清空回收站                                                          

SQL> --清空回收站
SQL> purge recyclebin
  2  ;


回收站已清空。


SQL> select * from tab;


TNAME                          TABTYPE  CLUSTERID                                                                                                     
------------------------------ ------- ----------                                                                                                     
DEPT                           TABLE                                                                                                                  
EMP                            TABLE                                                                                                                  
BONUS                          TABLE                                                                                                                  
SALGRADE                       TABLE                                                                                                                  
EMP10                          TABLE                                                                                                                  
EMP20                          TABLE                                                                                                                  
TESTSAVEPOINT                  TABLE                                                                                                                  
TESTDELETE                     TABLE                                                                                                                  
EMPINCOME                      TABLE                                                                                                                  


已选择9行。


通过回收站中的id来查找表


SQL> drop table EMPINCOME;


表已删除。


SQL> select * from tab;


TNAME                          TABTYPE  CLUSTERID                                                                                                     
------------------------------ ------- ----------                                                                                                     
DEPT                           TABLE                                                                                                                  
EMP                            TABLE                                                                                                                  
BONUS                          TABLE                                                                                                                  
SALGRADE                       TABLE                                                                                                                  
EMP10                          TABLE                                                                                                                  
EMP20                          TABLE                                                                                                                  
TESTSAVEPOINT                  TABLE                                                                                                                  
TESTDELETE                     TABLE                                                                                                                  
BIN$91xa7gtoQfiGlzbFlex5HQ==$0 TABLE                                                                                                                  


已选择9行。


SQL> select * from "BIN$91xa7gtoQfiGlzbFlex5HQ==$0";


     EMPNO ENAME        SAL    ANNLSAL     INCOME                                                                                                     
---------- ---------- ----- ---------- ----------                                                                                                     
      7369 SMITH        800       9600       9600                                                                                                     
      7499 ALLEN       1600      19200      19500                                                                                                     
      7521 WARD        1250      15000      15500                                                                                                     
      7566 JONES       2975      35700      35700                                                                                                     
      7654 MARTIN      1250      15000      16400                                                                                                     
      7698 BLAKE       2850      34200      34200                                                                                                     
      7782 CLARK       2450      29400      29400                                                                                                     
      7788 SCOTT       3000      36000      36000                                                                                                     
      7839 KING        5000      60000      60000                                                                                                     
      7844 TURNER      1500      18000      18000                                                                                                     
      7876 ADAMS       1100      13200      13200                                                                                                     


     EMPNO ENAME        SAL    ANNLSAL     INCOME                                                                                                     
---------- ---------- ----- ---------- ----------                                                                                                     
      7900 JAMES        950      11400      11400                                                                                                     
      7902 FORD        3000      36000      36000                                                                                                     
      7934 MILLER      1300      15600      15600                                                                                                     


已选择14行。


约束

l约束是表一级的限制 l如果存在依赖关系,约束可以防止错误的删除数据 l约束的类型: ?NOTNULL ?UNIQUE ?PRIMARYKEY ?FOREIGNKEY ?CHECK



约束规则:

用户可以自定义约束,也可以使用Oracle Server的sys_cn格式命名约束 约束创建的时机:      ?创建表的时候,同时创建约束      ?表结构创建完成后 约束可以定义在列一级,或者是表一级 通过数据字典查看约束

有关外键约束的一些知识:

     ?FOREIGNKEY:在子表中,定义了一个表级的约束      ?REFERENCES:指定表和父表中的列      ?ONDELETE CASCADE: 当删除父表时,级联删除子表记录      ?ONDELETE SET NULL: 将子表的相关依赖记录的外键值置为null


SQL> create table test3

  2  (tid number,
  3   tname varchar2(20),
  4   gender varchar2(4) check (gender in (‘男‘,‘女‘))
  5  );


表已创建。


SQL> insert into test3 values(1,‘Tom‘,‘男‘);


已创建 1 行。


SQL> insert into test3 values(2,‘Tom‘,‘啊‘);
insert into test3 values(2,‘Tom‘,‘啊‘)
*
第 1 行出现错误: 
ORA-02290: 违反检查约束条件 (SCOTT.SYS_C005474) 


考虑所有约束创建一张表的实例演示


SQL> create table myperson
  2  (pid varchar2(18) constraint myperson_PK primary key,
  3   pname varchar2(20) constraint myperson_Name not null,
  4   email varchar2(20) constraint myperson_Email_U unique
  5                      constraint myperson_Email_N not null,
  6   gender varchar2(4) constraint myperson_Gender check (gender in (‘男‘,‘女‘)),
  7   deptno number constraint myperson_FK references dept(deptno) ON DELETE CASCADE
  8  );


表已创建。



rowid(行地址指针)

可以通过rowid来访问表中的记录



select rowid,deptno,dname,loc from dept
SQL> /


ROWID                  DEPTNO DNAME          LOC                                                                                                      
------------------ ---------- -------------- -------------                                                                                            
AAAM4oAAEAAAAAMAAA         10 ACCOUNTING     NEW YORK                                                                                                 
AAAM4oAAEAAAAAMAAB         20 RESEARCH       DALLAS                                                                                                   
AAAM4oAAEAAAAAMAAC         30 SALES          CHICAGO                                                                                                  
AAAM4oAAEAAAAAMAAD         40 OPERATIONS     BOSTON                                                                                                   


已选择4行。


SQL> spool off

Oracle学习(9):创建和管理表

标签:oracle   学习笔记   数据库   表   

热心网友 时间:2022-04-29 23:05

1:首先打开oracle,在左侧中右击选择新建表。

2:然后选择添加数据,添加完一组数据之后,紧接着还可以添加一组数据,把自己要填写的数据都上传之后就可以了。

3:点击另存为,这个时候会出现一个窗口,出入文件的名字,点击确定即可。

4:在表的下方就会出现一个名为Class的表,这个时候就已经创建好了,如果不行,可以按照上述步骤重新操作,看看是不是哪里出现了问题。

热心网友 时间:2022-04-30 00:23

建立表 和删除表,插入dept语句块,插入EMP语句块

插入EMP语句块;

插入 SALGRADE 语句块,查询部分

扩展资料:

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的 适应高吞吐量的数据库解决方案。

ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。比如SilverStream就是基于数据库的一种中间件。ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。但它的所有知识,只要在一种机型上学习了ORACLE知识,便能在各种类型的机器上使用它。

Oracle数据库最新版本为Oracle Database 12c。Oracle数据库12c 引入了一个新的多承租方架构,使用该架构可轻松部署和管理数据库云。此外,一些创新特性可最大限度地提高资源使用率和灵活性,如Oracle Multitenant可快速整合多个数据库,而Automatic Data Optimization和Heat Map能以更高的密度压缩数据和对数据分层。这些独一无二的技术进步再加上在可用性、安全性和大数据支持方面的主要增强,使得Oracle数据库12c 成为私有云和公有云部署的理想平台。

参考资料:百度百科-Oracle数据库

热心网友 时间:2022-04-30 01:57

--建立表 和删除表;
DROP TABLE DEPT;
CREATE TABLE DEPT
       (DEPTNO NUMBER(2) CONSTRAINT PK_DEPT PRIMARY KEY,
DNAME VARCHAR2(14) ,
LOC VARCHAR2(13) ) ;

--建立表 和删除表;
DROP TABLE EMP;
CREATE TABLE EMP
       (EMPNO NUMBER(4) CONSTRAINT PK_EMP PRIMARY KEY,
ENAME VARCHAR2(10),
JOB VARCHAR2(9),
MGR NUMBER(4),
HIREDATE DATE,
SAL NUMBER(7,2),
COMM NUMBER(7,2),
DEPTNO NUMBER(2) CONSTRAINT FK_DEPTNO REFERENCES DEPT);

---插入dept语句块;
INSERT INTO DEPT VALUES
(10,'ACCOUNTING','NEW YORK');
INSERT INTO DEPT VALUES (20,'RESEARCH','DALLAS');
INSERT INTO DEPT VALUES
(30,'SALES','CHICAGO');
INSERT INTO DEPT VALUES
(40,'OPERATIONS','BOSTON');

---插入EMP语句块;
INSERT INTO EMP VALUES
(7369,'SMITH','CLERK',7902,to_date('17-12-1980','dd-mm-yyyy'),800,NULL,20);
INSERT INTO EMP VALUES
(7499,'ALLEN','SALESMAN',7698,to_date('20-2-1981','dd-mm-yyyy'),1600,300,30);
INSERT INTO EMP VALUES
(7521,'WARD','SALESMAN',7698,to_date('22-2-1981','dd-mm-yyyy'),1250,500,30);
INSERT INTO EMP VALUES
(7566,'JONES','MANAGER',7839,to_date('2-4-1981','dd-mm-yyyy'),2975,NULL,20);
INSERT INTO EMP VALUES
(7654,'MARTIN','SALESMAN',7698,to_date('28-9-1981','dd-mm-yyyy'),1250,1400,30);
INSERT INTO EMP VALUES
(7698,'BLAKE','MANAGER',7839,to_date('1-5-1981','dd-mm-yyyy'),2850,NULL,30);
INSERT INTO EMP VALUES
(7782,'CLARK','MANAGER',7839,to_date('9-6-1981','dd-mm-yyyy'),2450,NULL,10);
INSERT INTO EMP VALUES
(7788,'SCOTT','ANALYST',7566,to_date('12-06-1987','dd-mm-yyyy')-85,3000,NULL,20);
INSERT INTO EMP VALUES
(7839,'KING','PRESIDENT',NULL,to_date('17-11-1981','dd-mm-yyyy'),5000,NULL,10);
INSERT INTO EMP VALUES
(7844,'TURNER','SALESMAN',7698,to_date('8-9-1981','dd-mm-yyyy'),1500,0,30);
INSERT INTO EMP VALUES
(7876,'ADAMS','CLERK',7788,to_date('13-06-1987','dd-mm-yyyy')-51,1100,NULL,20);
INSERT INTO EMP VALUES
(7900,'JAMES','CLERK',7698,to_date('3-12-1981','dd-mm-yyyy'),950,NULL,30);
INSERT INTO EMP VALUES
(7902,'FORD','ANALYST',7566,to_date('3-12-1981','dd-mm-yyyy'),3000,NULL,20);
INSERT INTO EMP VALUES
(7934,'MILLER','CLERK',7782,to_date('23-1-1982','dd-mm-yyyy'),1300,NULL,10);


DROP TABLE BONUS;
CREATE TABLE BONUS
(
ENAME VARCHAR2(10),
JOB VARCHAR2(9)  ,
SAL NUMBER,
COMM NUMBER
) ;

DROP TABLE SALGRADE;
CREATE TABLE SALGRADE
      ( GRADE NUMBER,
LOSAL NUMBER,
HISAL NUMBER );

--插入 SALGRADE 语句块;
INSERT INTO SALGRADE VALUES (1,700,1200);
INSERT INTO SALGRADE VALUES (2,1201,1400);
INSERT INTO SALGRADE VALUES (3,1401,2000);
INSERT INTO SALGRADE VALUES (4,2001,3000);
INSERT INTO SALGRADE VALUES (5,3001,9999);
COMMIT;

--查询部分;
select * from emp;
select * from dept;

热心网友 时间:2022-04-30 03:49

这个不用大神,是你太懒了。。。
八月中国最凉快的地方 八月份哪里最凉快,去哪旅游好?美丽的地方 乱字同韵字是什么意思 华硕笔记本电脑触摸板怎么开笔记本电脑触摸板怎么开启和关闭_百度知 ... 陕西职务侵占案立案准则 结婚后我的恋情维系了十年,怎么做到的? 玉米仁子饭产自哪里 中国期货交易所的交易品种有哪些? 历史要怎么读,有啥诀窍 高中历史诀窍 年终会活动策划方案 深度解析:第一财经回放,探索财经新风向 逆水寒手游庄园怎么邀请好友同住 逆水寒手游 逆水寒不同区可以一起组队吗? 逆水寒手游 逆水寒怎么进入好友世界? 逆水寒手游 逆水寒怎么去别人的庄园? 使用puppeteer实现将htmll转成pdf 内卷时代下的前端技术-使用JavaScript在浏览器中生成PDF文档 【译】将HTML转为PDF的几种实现方案 变形金刚08动画怎么样 变形金刚08动画的问题 变形金刚08动画日语版剧情介绍 高分!换显卡nvidia控制面板被我卸了,重新安装显卡驱动后没了nvidia控... 我的nvidia控制面板被卸载了 怎么找回啊 卸载后 这个画面看着很奇怪_百 ... 李卓彬工作简历 林少明工作简历 广东工业职业技术学院怎么样 郑德涛任职简历 唐新桂个人简历 土地入股的定义 ups快递客服电话24小时 贷款记录在征信保留几年? 安徽徽商城有限公司公司简介 安徽省徽商集团新能源股份有限公司基本情况 安徽省徽商集团有限公司经营理念 2019哈尔滨煤气费怎么有税? 快手删除的作品如何恢复 体育理念体育理念 有关体育的格言和理念 什么是体育理念 万里挑一算彩礼还是见面礼 绿萝扦插多少天后发芽 绿萝扦插多久发芽 扦插绿萝多久发芽 炖牛排骨的做法和配料 网络诈骗定罪标准揭秘 “流水不争先”是什么意思? mc中钻石装备怎么做 为什么我的MC里的钻石块是这样的?我想要那种。是不是版本的问题?如果是... 带“偷儿”的诗句 Oracle数据库,一条SQL语句插入多行数据? 如何在oracle数据库中的表里批量插入记录 oracle数据库中,怎么插入一条数据 如何往Oracle数据库索引表中插入数据 在oracle中怎么将查询到的数据插入到另一个表中 怎么插入大量数据到Oracle数据库中 Oracle数据库数据插入问题 使用ORACLE数据库,怎样插入一条数据 怎么往 Access / Oracle 数据库里一次性插入多... 请问怎样可以在ORACLE数据库中插入多条数据? Oracle中插入数据 怎么在oracle数据库插入数据 苹果手机冷天容易自动关机为什么 苹果手机天冷自动关机怎么解决 我是一个初学者,如何向oracle数据库表中插入数据 刚采的羊肚菌怎样保存? 我苹果手机一到冬天就变慢了有什么办法可以解决吗? 苹果手机都说信号不好而且冬天容易冻了关机,还发烫... 新鲜羊肚菌怎么保存 为什么苹果手机天冷就会自动关机? 如何在oracle数据库的表中插入数据 如何向Oracle数据库表中进行大数据量的插入并提交? 如何在oracle数据库中查找最后一条插入的数据 如何将oracle数据库中的数据如何导入到sqlserver 圆柱体的底面半径怎么求? 圆柱体底面半径怎么求 圆柱底面半径怎么算? 把一个圆柱体侧面展开,量得长是6.28厘米,宽是3.1... 圆柱的底面半径是2cm高是4cm展开侧面展开后得到长... 一个圆柱体的底面半径是2厘米,高是6厘米,它的表... 圆柱体底面半径是圆锥体底面半径的3倍,圆柱体的高... 圆柱的底面半径是2厘米,高是5厘米,圆柱体的底面积\... 问这个圆柱体的底面半径是多少(长方形 圆柱体底面半径为R,高为h,表面积S=_____,体积V=... 一个圆柱体的底面半径是2厘米,高是5厘米,这个圆柱... 一个圆柱体,底面半径是3厘米,高是6厘米,它的侧... (以下题目答好采纳)一个圆柱体的底面半径是4cm,高... 一个圆柱体,底面半径是2厘米,高是6厘米,它的侧... 圆柱的底面半径是5厘米,高是4厘米,圆柱体的底面积\... 圆柱的底面半径为r,高为h,圆柱的表面积可表示为...
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com