oracle学习总结3
1:ddl语句
创建一张学生表
create table stu(
id number(6) not null,
name varchar2(20),
age number(3),
gender char(1) default 'm',
grade number(1),
class varchar2(20) constraint stu_class_fk foreign key references class(id),
email varchar2(50)
);
create table class(
id number(4),
name varchar2(30),
constraint class_id_pk primary key(id)
);
default 'm' 该字段默认是m,如果insert语句没有向该字段插入值,那么默认是m
2:约束类型五种:
not null 非空约束,就是在向表中插入数据时,必须给值。
unique 唯一性约束,插入数据时,该字段的值不能够重复
主键 primary key:非空约束,唯一性约束,逻辑上面有意义。
外键 foreign key:参考另外一张表的某个字段(该字段必须是主键),插入数据时,必须在被参考字段数据范围内。
如果被参考字段数据不存在,则插不进去。
被参考字段所在的表不能别删除,在参考表没有被删除前。
check
注:主键概念:能够唯一表示一行记录的字段
3:表级约束和字段级约束
字段级约束,只能作用于一个字段:
create table stu(
id number(6) constraint stu_id_uni unique, --给id字段唯一性约束
name varchar2(20)
);
表级约束,如果是两个字段组合约束:
create table stu(
id number(6),
name varchar2(20),
email varchar2(50),
constraint stu_uni unique(name,email) --给name和email这两个字段组合加约束
);
4:修改表结构 alter
--向表中添加一个字段
alter table stu add (addr varchar2(20));
--修改表中的字段
alter table stu modify (addr varchar2(50));
--删除表中的字段
alter table stu drop (addr);
5:修改表中的约束 constraint
alter table stu drop constraint stu_class_fk; --删除表中的外键约束
alter table stu add constraint stu_class_fk foreign key(class) references class(id);
6:修改表的名字
rename old_name to new_name;
7:oracle,数据字典表,当前用户下的所有表都在dictionary中
select * from dictionary;
只有两个字段:table_name comments
--用户表user_tables,该用户下所有的表都在这个表中
--用户视图user_view
--用户索引user_indexes
--用户约束user_constraint
8:创建索引index
索引可以提高查询效率,但是插入数据时效率降低,因为在插入数据的同时还要插入索引表
在给字段设置主键或者唯一性约束时,索引会自动创建。
create index idx_stu_id on stu(id); --创建索引
drop index idx_stu_id; --删除索引
缺点:
1:不轻易建索引,建大量索引会占用表空间。
2:降低修改数据的效率,插入数据时还要插入索引表。
9:视图view 虚表
概念:就是一张虚表,一条select语句、
create view v$_stu as select * from stu; --创建一张视图
drop view v$_stu; --删除一张视图
优点:
1:方便查询,简化查询。
2:保护表中相关数据不被查看,保护隐私。
不足:
维护成本升高,如果修改原来的表结构,那么视图中的数据也要做相应的修改。
修改视图中的数据,实际上修改的就是原表中的数据。
10:序列
create sequence seq1;
insert into stu values(seq1.nextval,'','');--插入索引,一般给主键添加值
create sequence seq2 start with 1 increment by 1; --从1开始,步长为1
mysql:auto increment;
oracle学习总结3的更多相关文章
- Oracle学习笔记三 SQL命令
SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)
- Oracle学习线路
出自huyangg的博客,地址是:oracle学习路线图 1.sql.pl/sql(网上有很多的视频,可以做一个简单的入手,然后看几本书,多做实验) 作为oracle的基本功,需要大家对sql和 ...
- Oracle学习指南
Oracle学习指南 你走的那天,我决定不落泪,迎着风撑着眼帘用力不眨眼 创建数据库.创建用户.创建表空间.创建表.插入数据..... 1.用系统用户登录,任选系统用户 代码: >>sql ...
- Oracle学习系列1-7
Oracle学习系列1 两个服务必须启动: OracleOraDb10g*TNListener 和 OracleService*** 使用sqlplusw先进行环境的设置 set linesize 3 ...
- Oracle学习系列7
Oracle学习系列7 ************************************************************************************ 关联表 ...
- Oracle学习系列6
Oracle学习系列6 ************************************************************************************ 删除约 ...
- Oracle学习系列5
Oracle学习系列5 ************************************************************************************ ,掌握 ...
- Oracle学习系列4
Oracle学习系列4 ************************************************************************************ 数据库 ...
- Oracle学习系列3
Oracle学习系列3 ************************************************************************************ 多表查 ...
- oracle学习笔记(一)用户管理
--oracle学习第一天 --连接 @后面连接数据库实例,具体连接到那个数据库 conn scott/tiger@MYORA1; --修改密码 passw; --显示用户 show user; -- ...
随机推荐
- DELL R710服务器可以安装的VMWare ESX Server 4.1 全套下载带注册码
随着R710的停产,R720随之面世,但DELL R720服务器只支持vmware esxi5.0以上,DELL客户经理给了一套系统安装后序列号无法解决,还是用4.1好了,却又发现怎么都无法安装.按网 ...
- 第一章 :绪论-Twitter数据的收集和处理
为什么要用twitter,我心里是一万头CNM在飞奔.这个国外的东西很不好访问到的,国内的政策,你懂的,不说这个了,还是想办法翻出去再说吧. 不知道别人都用的什么工具,看到太多的注册就头大,就选了一个 ...
- C# 发送邮件整理,包括控制台程序、WPF、WebForm 及 ASP.NET MVC
一直想把发送邮件的功能掌握,总是各种情况拖着了,这两天终于看了一下,整理一下,希望能帮到想学的. 发送邮件使用SMTP服务器,有两种方案,一种是使用IIS的SMTP功能:另一种是直接使用邮件供应商的S ...
- 面向对象基础3(class0523)
怎么实现多态2-接口 接口是定义一种能力,规定子类能干什么和抽象类有些相似,解决类的单根继承.接口可以实现多继承 案例 鸟-麻雀sparrow,鸵鸟ostrich,企鹅penguin,鹦鹉parrot ...
- 【noip2007】树网的核
题解: 首先我们要知道一个性质:如果有多条直径 这个核不论在哪条直径上 答案都是一样的 这样我们就可以随便找一条直径 在这条直径上枚举核的位置 并且dfs预处理maxlon[i] (i在直径上) 表示 ...
- 【转】Mybatis Generator最完整配置详解
本文转简书:http://www.jianshu.com/p/e09d2370b796 --> --> <!-- 自动识别数据库关键字,默认false,如果设置为true,根据Sql ...
- URL编码原理解释
当你在浏览器中输入一个URL时,浏览器会将你输入到地址栏的非数字字母转化为URI编码. 那么,它是按照什么样的规则来转换的呢 是这样的,URI编码就是一个字符的ASCII码,它的ACSII码的十六进制 ...
- C#操作符的重载
操作符也是可以重载的,先总结一下操作符的性质: 如我们所知,操作符在不同的情况下有不同的语义,具体取决于它所操作的类型.例如,操作符“+”在操作数值类型的时候意味着“加”,在操作字符串时意味着“连接” ...
- 磐石加密狗NT88管理层API
磐石加密狗NT88管理层API 直接贴代码了 1 using System; 2 using System.Collections.Generic; 3 using System.Text; 4 ...
- 知方可补不足~SQL数据库用户的克隆,SQL集群的用户同步问题
我们知道在为sqlserver建立功能数据库时,通过会为库再建立一个登陆名,而这个登陆名时,只用来管理这个数据库,这是安全的,正确的.