Oracle数据库之创建和管理表
Oracle数据库总结:
Oracle数据库之集合运算
Oracle数据库之数据处理
Oracle数据库之建表和管理表
Oracle数据库之对象视图、索引、序列、同义词
建表语法:
create table tablename
(columnname datatype,
..............)
[with option]
[as sql语句];
SQL> create table test3
2 (tid number,
3 tname varchar2(20),
4 hiredate date default sysdate);
表已创建。
SQL> insert into test3(tid,tname) values(1,‘sihai’);
已创建 1 行。
SQL> select * from test3;
TID TNAME HIREDATE
---------- -------------------- -------------- 1 sihai 11-3月 -15 已选择 1 行。
SQL> --rowid 行地址 伪列
SQL> select rowid,empno,ename,sal
2 from emp;
ROWID EMPNO ENAME SAL
------------------ ---------- ---------- ----------
AAAMfPAAEAAAAAgAAA 7369 SMITH 800
AAAMfPAAEAAAAAgAAB 7499 ALLEN 1600
AAAMfPAAEAAAAAgAAC 7521 WARD 1250
AAAMfPAAEAAAAAgAAD 7566 JONES 2975
AAAMfPAAEAAAAAgAAE 7654 MARTIN 1250
AAAMfPAAEAAAAAgAAF 7698 BLAKE 2850
AAAMfPAAEAAAAAgAAG 7782 CLARK 2450
AAAMfPAAEAAAAAgAAH 7788 SCOTT 3000
AAAMfPAAEAAAAAgAAI 7839 KING 5000
AAAMfPAAEAAAAAgAAJ 7844 TURNER 1500
AAAMfPAAEAAAAAgAAK 7876 ADAMS 1100 ROWID EMPNO ENAME SAL
------------------ ---------- ---------- ----------
AAAMfPAAEAAAAAgAAL 7900 JAMES 950
AAAMfPAAEAAAAAgAAM 7902 FORD 3000
AAAMfPAAEAAAAAgAAN 7934 MILLER 1300 已选择 14 行。
SQL> --创建表,保存20号部门的员工
1 create table emp20
2 as
3* select * from emp where deptno=20
SQL> /
表已创建。
SQL> select * from emp20;
EMPNO ENAME JOB MGR HIREDATE SAL COMM
---------- ---------- --------- ---------- -------------- ---------- ---------- DEPTNO
---------- 7369 SMITH CLERK 7902 17-12月-80 800 20 7566 JONES MANAGER 7839 02-4月 -81 2975 20 7788 SCOTT ANALYST 7566 19-4月 -87 3000 20 EMPNO ENAME JOB MGR HIREDATE SAL COMM
---------- ---------- --------- ---------- -------------- ---------- ---------- DEPTNO
---------- 7876 ADAMS CLERK 7788 23-5月 -87 1100 20 7902 FORD ANALYST 7566 03-12月-81 3000 20 已选择 5 行。
SQL> --创建表:员工号 姓名 月薪 年薪 部门名称
SQL> create table empinfo
2 as
3 select e.empno,e.ename,e.sal,e.sal*12 annsal,d.dname
4 from emp e,dept d
5 where e.deptno=d.deptno;
表已创建。
SQL> select * from empinfo;
EMPNO ENAME SAL ANNSAL DNAME
---------- ---------- ---------- ---------- -------------- 7369 SMITH 800 9600 RESEARCH 7499 ALLEN 1600 19200 SALES 7521 WARD 1250 15000 SALES 7566 JONES 2975 35700 RESEARCH 7654 MARTIN 1250 15000 SALES 7698 BLAKE 2850 34200 SALES 7782 CLARK 2450 29400 ACCOUNTING 7788 SCOTT 3000 36000 RESEARCH 7839 KING 5000 60000 ACCOUNTING 7844 TURNER 1500 18000 SALES 7876 ADAMS 1100 13200 RESEARCH EMPNO ENAME SAL ANNSAL DNAME
---------- ---------- ---------- ---------- -------------- 7900 JAMES 950 11400 SALES 7902 FORD 3000 36000 RESEARCH 7934 MILLER 1300 15600 ACCOUNTING 已选择 14 行。
修改表语法;(tablename:表名称;datatype:数据类型;columnname:列名)
添加列:alter table tablename add columnname datatype;
修改列:alter table tablename modify columnname datatype;
删除列:alter table tablename drop column columnname;
SQL> – 修改表:追加新列 修改列 删除列 重命名列 重命名表
SQL> desc test3
名称 是否为空? 类型----------------------------------------- -------- ----------------------------TID NUMBERTNAME VARCHAR2(20)HIREDATE DATE
SQL> alter table test3 add photo blob;
表已更改。
SQL> desc sihai10
名称 是否为空? 类型----------------------------------------- -------- ----------------------------TID NUMBERTNAME VARCHAR2(20)HIREDATE DATEPHOTO BLOB
SQL> alter table test3 modify tname varchar2(40);
表已更改。
SQL> desc test3
名称 是否为空? 类型----------------------------------------- -------- ----------------------------TID NUMBERTNAME VARCHAR2(40)HIREDATE DATEPHOTO BLOB
SQL> alter table test3 drop column photo;
表已更改。
SQL> alter table test3 rename column tname to username;
表已更改。
SQL> rename test3 to test4;
表已重命名。
SQL> host cls
SQL> --删除表
SQL> select * from tab;
TNAME TABTYPE CLUSTERID
------------------------------ ------- ----------
DEPT TABLE
EMP TABLE
BONUS TABLE
SALGRADE TABLE
TEST2 TABLE
TEST1 TABLE
EMP10 TABLE
TESTSAVEPOINT TABLE
TESTDELETE TABLE
EMP20 TABLE
EMPINFO TABLE TNAME TABTYPE CLUSTERID
------------------------------ ------- ----------
TEST4 TABLE 已选择 12 行。
SQL> drop table test4;
表已删除。
SQL> select * from tab;
TNAME TABTYPE CLUSTERID
------------------------------ ------- ----------
DEPT TABLE
EMP TABLE
BONUS TABLE
SALGRADE TABLE
TEST2 TABLE
TEST1 TABLE
EMP10 TABLE
TESTSAVEPOINT TABLE
TESTDELETE TABLE
BIN$614V+lSURJGA1iC0nwlKKg==$0 TABLE
EMP20 TABLE TNAME TABTYPE CLUSTERID
------------------------------ ------- ----------
EMPINFO TABLE 已选择 12 行。
SQL> --Oracle的回收站
SQL> --才查看回收站
SQL> show recyclebin;
ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME
---------------- ------------------------------ ------------ -------------------
TEST4 BIN$614V+lSURJGA1iC0nwlKKg==$0 TABLE 2015-03-11:16:05:22
SQL> --清空回收站
SQL> purge recyclebin;
回收站已清空。
SQL> select * from TESTSAVEPOINT;
TID TNAME
---------- -------------------- 1 sihai 2 Mary 已选择 2 行。
SQL> drop table TESTSAVEPOINT;
表已删除。
SQL> show recyclebin;
ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME
---------------- ------------------------------ ------------ -------------------
TESTSAVEPOINT BIN$IC4h7QX9Sv2aRY11zR9/hg==$0 TABLE 2015-03-11:16:08:27
SQL> select * from TESTSAVEPOINT;
select * from TESTSAVEPOINT
*
第 1 行出现错误:
ORA-00942: 表或视图不存在
SQL> select * from BIN$IC4h7QX9Sv2aRY11zR9/hg==0;select∗fromBIN0; select * from BIN0;select∗fromBINIC4h7QX9Sv2aRY11zR9/hg==$0
*
第 1 行出现错误:
ORA-00933: SQL 命令未正确结束
SQL> select * from “BIN$IC4h7QX9Sv2aRY11zR9/hg==$0”;
TID TNAME
---------- -------------------- 1 sihai 2 Mary 已选择 2 行。
约束:
primary key:主键
foreign key:外键
unique:唯一
not null:不为空
check
SQL> create table test5
2 (tid number,
3 tname varchar2(20),
4 gender varchar2(2) check (gender in (‘男’,‘女’)),
5 sal number check (sal > 0)
6 );
表已创建。
SQL> insert into test5 values(1,‘sihai’,‘男’,1000);
已创建 1 行。
SQL> insert into test5 values(2,‘Mike’,‘啊’,1000);
insert into test5 values(2,‘Mike’,‘啊’,1000)
*
第 1 行出现错误:
ORA-02290: 违反检查约束条件 (SCOTT.SYS_C005393)
SQL> create table student
2 (
3 sid number constraint student_pk primary key,
4 sname varchar2(20) constraint student_name_notnull not null,
5 gender varchar2(2) constraint student_gender check (gender in (‘男’,‘女’)),
6 email varchar2(40) constraint student_email_unique unique
7 constraint student_email_notnull not null,
8 deptno number constraint student_fk references dept(deptno) on delete set null
9 );
表已创建。
SQL> insert into student values(1,‘sihai’,‘男’,‘sihai@126.com’,10);
已创建 1 行。
SQL> insert into student values(2,‘Mike’,‘男’,‘sihai@126.com’,10);
insert into student values(2,‘Mike’,‘男’,‘sihai@126.com’,10)
*
第 1 行出现错误:
ORA-00001: 违反唯一约束条件 (SCOTT.STUDENT_EMAIL_UNIQUE)
Oracle数据库之创建和管理表相关推荐
- ORACLE开发:创建与管理表空间和数据文件1
Oracle在逻辑上以表空间存储数据,而实际上是以数据文件存储数据. 表空间和数据文件 表空间:某一时刻只属于一个数据库:由一个或多个数据文件组成:可近一步划分逻辑存储单元 数据文件:只能属于一个表空 ...
- 创建emp表 oracle,Oracle中创建和管理表详解
Oracle中创建和管理表详解 更新时间:2013年08月01日 15:44:16 作者: 以下是对Oracle中的创建和管理表进行了详细的分析介绍,需要的朋友可以过来参考下 SQL> /* ...
- oracle 序列和表关联,Oracle 创建和管理表、集群和序列
创建表 1.describe 表名 --查看表结构 定义列的时候变长字符数据类型必须指定最大长度,number可以是最高精度(最高到38位),也可以是指定的精度. 2.字符宽度和数值精度 char列 ...
- Oracle数据库批量创建表空间
我们在项目中可能会发生这样一种情况,需要将某一个外库导出来的dmp文件恢复到自己的库中,便于查看数据,这时候就有可能会出现需要建立多表空间的情况.这里有两种可能,一种是已知表空间名的情况,另一种就是连 ...
- Oracle数据库物理存储结构管理
1.实验目的 (1)掌握Oracle数据库数据文件的管理. (2)掌握Oracle数据库控制文件的管理. (3)掌握Oracle数据库重做日志文件的管理. (4)掌握Oracle数据库归档管理. 2. ...
- oracle实验报告2:: Oracle数据库物理存储结构管理(含实验小结)
目录 实验目的 实验设备及器材 实验内容 实验步骤 实验过程 实验小结 实验目的 1.熟悉Oracle数据库物理存储结构: 2.掌握Oracle数据库数据文件的管理: 3.掌握Oracle数据库控制文 ...
- 【T-SQL】一、数据库的创建与管理
一.数据库的创建与管理 文章目录 一.数据库的创建与管理 (一)创建数据库 完整语法格式 选项说明与设置 例题:图书馆管理数据库 例题:学生管理数据库 (二)查看数据库 数据库基本信息 查看数据库信息 ...
- oracle 将包赋权给用户,oracle数据库如何创建用户和角色,并给其赋权?
一.创建用户并赋予权限 1.创建用户 create user wangxiangyu identified by wangxiangyu; 2.赋权 grant dba to wangxiangyu; ...
- linux oracle 用户创建,LINUX下Oracle数据库用户创建方法详解
本文实例分析了LINUX下Oracle数据库用户创建方法.分享给大家供大家参考,具体如下: 1)登录linux,以oracle用户登录(如果是root用户登录的,登录后用 su - oracle命令切 ...
最新文章
- Mysql学习总结(11)——MySql存储过程与函数
- LeetCode--055--跳跃游戏(java)
- CV之Hog+HamMingDistance:基于Hog提取和汉明距离对比的应用—图像相似度对比之for循环将多个成对图片依次对比并输出相似度
- 【图像分割模型】全局特征与局部特征的交响曲—ParseNet
- Servlet底层原理、Servlet实现方式、Servlet生命周期
- 说说如何用JavaScript实现一个模板引擎
- Mysql 启动失败没日志,MySQL Server 5.7将无法启动,并且未填充错误日志
- 如何使用php写爬虫,PHP如何开发简单爬虫
- 什么是网络计算机有什么优点,ISDN是什么?它有什么优点?
- java: 程序包org.springframework.boot不存在
- pgRouting参考资料
- 热烈祝贺电脑升级到64G内存了
- 年轻导演的创业之路-杨立坤
- 怎样手工清除autorun病毒
- CVPR 2022 | 看谷歌的单张图片人体重建效果如何?
- cx oracle 连接编码,python用cx_Oracle连接oracle编码问题解决办法
- 2022-ACS-Boosting Protein−Ligand Binding Pose Prediction and Virtual Screening Based on Residue−Atom
- 浙大oj(basic level)1001
- python读xml文件生成.h头文件_PYTHON读写xml文件的方法
- rsa加解密(兼容微信小程序环境)