学习Oracle的历程(三)
今天,我们接着学习Oracle的相关内容, (#^.^#)重点来了!
因为今天的是关于语句操作的所以小喵就只留截图了哦!
一. 表的操作
1) 创建表
语法1 : 创建一个新表
createtable 表名(字段名 类型 [约束],
字段名2 类型 [约束],
);
语法2:拷贝一个表(结构 + 数据 )
create table 新表名 as 查询语句
数据类型
分类
类型
描述
数值类型
NUMBER
表示整数和浮点数
INT/INTEGER
整数
FLOAT
双精度浮点数
字符类型
CHAR(3)
定长字符,最大2000B
NCHAR(1)
定长unicode 字符,最大1000B
VARCHAR2(3)
变长字符,最大4000B
NVARCHAR2(1)
变长unicode字符,最大1000B
LONG
变长字符类型,最大4GB(已淘汰)
日期类型
DATE
日期,精确到秒
TIMESTAMP
日期类型,精确到小数秒
大对象类型
LOB
8-12TB数据 并可分段处理
CLOB
存储字符,最大可以存4个G
BLOB
存储图像、声音、视频等二进制数据,最多可以存4个G
2) 修改表
alter table 表名 具体操作 数据;-- 添加
alter table 表名 add (列描述,....);
-- 修改
alter table 表名 modify (列描述,....);
-- 删除列
alter table 表名 drop column 列名;
3)删除表
drop table 表名
二.约束
1. 约束的概念及作用
约束是可以更好的保证数据库数据的完整性和一致性的一套机制。
约束可以限制加入表的数据的类型。
如果存在依赖关系,约束可以防止错误的删除数据,也可以级联删除数据。
数据库的约束可以认为是对表的数据的一种规则。
2. 约束创建的时机
创建表的时候,同时创建约束。
表结构创建完成后,可以再添加约束。
3. 常见的约束类型
> PRIMARY KEY 主键约束
> NOT NULL 非空约束
> UNIQUE 唯一约束
> DEFAULT 默认约束
> CHECK—用来检查一个字段的值是否符合某表达式,表达式的结果必须是布尔值。
> FOREIGN KEY 外键约束
primary key
关键字约束
被关键字约束修饰的列不允许为空,不允许重复
not null
非空约束
被非空约束修饰的列不允许为空
unique
唯一约束
被唯一约束修饰的列不允许重复
default
默认约束
被默认约束修饰的列如果只为null,使用默认值
foreign key
外键约束
通过主外键关系描述一对多关系
check
检查约束
被检查约束修饰的列修改数据时,使用检查的条件
进行校验
1> 主键约束 ----- primary key
2>唯一约束 ------ unique
3>非空约束 ----- not null
4>默认约束 ----- default
5> 检查约束 ----- check
6> 外键约束 ---- foreign key
4.约束的应用选择
在应用开发中,主键约束一般要设置,其他如非空、唯一、默认值、检查等约束,可以根据实际情况来添加。而外键约束是否要设置,是存在一点争议的。(争议在性能上)
一般建议:
- 在大型系统中(性能要求不高,安全要求高),可以使用外键;在大型系统中(性能要求高,安全自己控制),不用外键;小系统随便。
- 不用外键的话,可以用程序控制数据一致性和完整性,可以在代码的数据层通过代码来保证一致性和完整性。
- 用外键要适当,不能过分追求。
总结 :
在项目中,我们只使用了主键约束,其余约束没有使用。因为约束越多,
数据库占用的空间越大、执行的速度越慢,而且一般违反了约束,我们无法控制,
所以我们的项目中是通过页面js脚本以及java 的业务层对 非法数据进行过滤.
这样我们的约束就告一段落了,其他就需要小伙伴们勤加练习了!
三 . DML 语句/操作
1) 添加
2) 修改
3)删除
比较truncate与delete实现数据删除?
- delete删除的数据可以rollback
- delete删除可能产生碎片,并且不释放空间
- truncate是先摧毁表结构,再重构表结构
今天的知识就分享到这里了,
觉得小喵分享的知识对你有帮助的话,就留下你的痕迹吧!
(^_^)~喵~!!
以上是 学习Oracle的历程(三) 的全部内容, 来源链接: utcz.com/z/533783.html