Oracle基础——学习笔记

一【用户】sys\system\sysman\scott

1、查看数据库所有用户(dba_users数据字典):

select username from dba_users;

2、查看当前用户:

show user;

3、启用(解锁)数据库用户:

alter user username account unlock;

 

二【表空间】

数据库与表空间的关系:一个数据库可以有一个或多个表空间;

表空间与数据文件的关系:一个表空间对应一个数据文件;

永久表空间:主要用于存放表、视图、存储过程;

临时表空间:主要用于存放一些数据库操作当中中间执行的过程,当执行完成之后存放的内容会自动被释放掉,不进行永久性保存;

UNDO表空间:主要用于保存事务所修改数据的旧值,也就是说被修改之前的数据;

1、查看用户的表空间(dba_tablespaces和user_tablespaces、dba_users和user_users数据字典):

select tablespace_name from dba_tablespaces;

select tablespace_name from user_tablespaces;

select username,default_tablespace,temporary_tablespace from dba_users;

select username,default_tablespace,temporary_tablespace from user_users;

2、设置用户的默认或临时表空间:

alter user username defaluttemporary tablespace tablespace_name;

3、创建表空间:

create [temporary] tablespace tablespace_name tempfiledatafile 'xx.dbf' size xx;

4、查看表空间对应数据文件的路径(dba_data_files和dba_temp_files数据字典):

select tablespace_name,file_name from dba_data_files;

select tablespace_name,file_name from dba_temp_files;

5、修改表空间的状态:

(联机或脱机)

alter tablespace tablespace_name onlineoffline;

(只读或可读写)

alter tablespace tablespace_name read onlyread write;

6、修改表空间的数据文件:

(增加数据文件)

alter tablespace tablespace_name add datafile 'xx.dbf' size xx;

(删除数据文件)

alter tablespace tablespace_name drop datafile 'xx.dbf';

7、删除表空间:

drop tablespace tablespace_name [including contents]--包括数据文件一并删除

 

三【认识表】

1、表——基本存储单位;二维结构;行和列;

约定: 

1)、每一列数据必须具备相同的数据类型;

2)、类名唯一;

3)、每一行数据的唯一性;

2、数据类型——字符型、数值型、日期型、其他类型

字符型——char(n)[n最大值为2]、nchar(n)[n最大值为1]

        ——varchar2(n)、nvarchar2(n)

数值型——number(p,s)[p为有效数字,s为小数点后的位数]

        ——float(n)

日期型——date[表示范围:公元前4712年1月1号到公元9年12月31号,可精确到秒]

        ——timestamp[可精确到毫秒]

其他类型——blob[可存放4GB的数据,以二进制形式来存放]

           ——clob[可存放4GB的数据,以字符串形式来存放]

1、创建表:

create table table_name(

column_name datatype,

……

);

2、修改表:

(添加字段)

alter table table_name add column_name datatype;

(更改字段数据类型)

alter table table_name modify column_name datatype;

(删除字段)

alter table table_name drop column column_name;

(修改字段名)

alter table table_name rename column old_column_name to new_column_name;

(修改表名)

rename table_name to new_table_name;

3、删除表:

truncate table tablename;--不删除表,只清空table_name表中的数据,速度快

drop table table_name;--删除表

 

四【操作数据】

1、插入数据:

insert into table_name (column1,column2,...) values(value1,value2,...);

2、给字段添加默认值:

create table table_name(column1 datatype default sysdate,column2 datatype,...);

alter table table_name modify column_name default sysdate;

3、数据:

create table table_name1 as select column1,column2,... from table_name2;

insert into table_name1 [(column1,...)] select column1,... from table_name2;

4、修改数据:

update table_name set column1=value1,... [where conditions];

5、删除数据:

delete from table_name [where conditions];

truncate table table_name;

 

五【约束】

作用:定义规则;确保完整性;

1、非空约束

1)、添加非空约束:

create table table_name(column_name datatype not null,...);

alter table table_name modify column_name datatype not null;

2)、删除非空约束:

alter table table_name modify column_name datatype null;

2、主键约束[一张表只能设计一个主键约束;主键约束可以由多个字段构成(联合主键或复合主键)]

1)、添加主键约束:

create table table_name (column_name datatype primary key,...);

create table table_name (column_name1 datatype,column_name2 datatype,...,

constraint constraint_name primary key(column_name1,column_name2,...));--创建联合主键

2)、修改表添加主键约束:

alter table table_name add constraint constarint_name primary key (column1,column2,...);

3)、重命名主键约束:

rename constraint old_constraint_name to new_constraint_name;

4)、启用禁用主键约束:

alter table table_name disableenable constraint constraint_name;

5)、删除主键约束:

alter table table_name drop constraint constraint_name;

alter table table_name drop primary key [CASCADE];

3、外键约束

1)、添加外键约束:

create table table1 (column_name datatype references table2(column_name),...);

[table2的column_name需为主键且主外键的数据类型必须相同,外键的值要么包含于主表主键的值,要么为null]

create table table1 (column_name datatype,...,

constraint constraint_name foreight key (column_name) references table2(column_name) [on delete CASCADE]);

2)、修改表添加外键约束:

alter table table1 add constraint contraint_name foreight key(column_name) references table2(column_name) [on delete CASCADE];

3)、启用禁用外键约束:

alter table table_name disableenable constraint constraint_name;

4)、删除外键约束

alter table table_name drop constraint constraint_name;

4、唯一约束

1)、添加唯一约束:

create table table_name (column_name datatype UNIQUE,...);

create table table_name (column_name datatype,...,

constraint constraint_name UNIQUE(column_name));

2)、修改表添加唯一约束:

alter table table_name add constraint constraint_name UNIQUE(column_name);

3)、启用禁用唯一约束:

alter table table_name disableenable constraint constraint_name;

4)、删除唯一约束

alter table table_name drop constraint constraint_name;

5、检查约束

1)、添加检查约束:

create table table_name (column_name datatype check(expressions),...);

create table table_name (column_name datatype,...,

constraint constraint_name check(expressions));

2)、修改表添加检查约束:

alter table table_name add constraint constraint_name check(expressions);

3)、启用禁用检查约束:

alter table table_name disableenable constraint constraint_name;

4)删除检查约束:

alter table table_name drop constraint constraint_name;

 

六【数据查询】

1、基本查询数据:

select [distinct] column_name1,... from table_name [where conditions];

2、在sqlplus中设置格式:

col column_name heading new_name;

col column_name format dataformat;

col column_name clear;--格式清除

更多相关文章
  • 今早发生了一件事让我感觉特气愤!去年的这个时候,我和小伙伴们一起在操场上拍毕业照,之后有个当地报纸的记者来我们学校取材,看到我们后打算给我们拍几张创意张扬点的毕业照.之后呢,照片出来了,拍的效果大伙都很满意,最后这张照片还被作为湄洲日报和校报的版面.这是我大学觉得最骄傲的几件事之一.可是,就在今天, ...
  • 1.登录在github官网自己github账户新增一个远程库命名为WebServiceDocNet 2.在本地github客户端输入命令创建本地库,这里使用的是msysgit $cd /f/Git/G1                  //跳到创建本地库的路径 $git init          ...
  •  今天小编教教大家DIY让手机变成万能电视遥控器.苹果,安卓的机器都可以.不过有些安卓的机子有自带红外的.比如三星安卓的机子除了音频接口的还有otg接口更牛逼,otg口的有学习和编程功能. 需要准备的东西: 1.手机安装软件:中文名字为“遥控精灵”,英文名字为“ZazaRemote”,是免费的! 名 ...
  • 看下面的表格 #+PLOT: title:"HDFS文件增长" ind:1 type:2d #+tblname: hdfs-data #+ATTR_HTML: :border 2 :rules all :frame border | 月份 | HDFS大小(字节) | | 1 | ...
  • 8月19日,中国电信集团公司和易网公司联合在北京举行新闻发布会,共同宣布合资成立浙江翼信科技有限公司,并发布新一代移动即时通讯社交产品"易信".当天,易信1.0版本正式登陆各大手机应用商店供用户下载使用.易信主张回归沟通本质.享受沟通乐趣,致力于打造国内最受年轻群体欢迎的移动即时 ...
  • SQL是用来做什么的呢?一个最常用的方式是将资料从数据库中的表格内选出.从这一句回答中,我们马上可以看到两个关键字: 从 (FROM) 数据库中的表格内 选出 (SELECT).(表格是一个数据库内的结构,它的目的是储存资料.在 表格处理这一部分中,我们会提到如何使用 SQL 来设定表格.) 我们由 ...
一周排行
  • 来源:电脑迷 申请账户往往时需要在网页的输入框中填写一大堆个人资料,此时可以用Tab/Shift+Tab来切换各输入窗口,前者切到下个输入框,后者返回上个. 要在浏览器地址栏输入网址,使用Alt+D快捷键可直接把地址 ...
  • 阿里云大数据处理工具DPC可用性分析与案例 采云间(Data Process Center,简称DPC)是基于开放数据处理服务(ODPS)的DW/BI的工具解决方案.DPC提供全链路的易于上手的数据处理工具,包括OD ...
  • 位运算方法将正整型数据转换为二级制             BY  郭世龙         在一次写程序的时候,偶然得出了一个用位运算的方法将一个正整型数据转换为二级制的方法,试验的多次结果都是正确的,欢迎大家检验, ...
  •         因为 PC 端和 WP 端进行通信时,采用的自定义的协议,所以也需要定义 DataType 类来判断 通信数据的类型,并且把数据的描述信息(head) 和数据的实际内容(body)进行拼接和反转,所以 ...
  • HTML5之contenteditable属性 1.功能说明 (1)功能:允许用户编辑元素中的内容 (2)说明:是一个布尔值,false是不能编辑,true为可编辑 2.分析实例 (1)contenteditable ...
  • 在C#中使用ASV封装编程实践中遇到的问题总结 许可证问题:不能直接将SVG VIEWER捆绑发布,但可以要求用户自行下载安装.(另:好像某些公司可以从ADOBE获得独立许可) 3.0.1的缺省安装目录为c:/win ...
  • 多年来,微软公司一直为我们提供一项复制工具:Robocopy(Robust File Copy for Windows,Windows可靠文件复制).Windows Server 2008也提供了Robocopy.R ...
  • 源自<The C language programming> 编写一个程序,删除每个输入行末尾的空格以及制表符,并删除完全是空格的行   getline函数,能够在读入文本行时返回该行的长度,而在遇到文件 ...
  • 今天学习了关于菜单的创建. 1.拖取一个菜单,进行编辑想要创建的每个菜单项.记录每个菜单项的ID 在要菜单弹出的地方进行如下的操作: 1 CMenu menu; 2 menu.LoadMenu(IDR_MENU1); ...
  • 今天小编给大家带来的是关于DOTA2 RPG死亡竞技场通关攻略,小伙伴们一起来看一看吧. 今天小编给大家带来的是关于DOTA2 RPG死亡竞技场通关攻略,小伙伴们一起来看一看吧. 死亡竞技场通关攻略 先给一段地图介绍 ...