版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Phone_1070333541/article/details/84646434
一、持久化
1. 持久化包括读和写。2. 数据存在于 表中 --> 表空间 --> 实例 --> 数据库
3. 持久化步骤:
空 3.1.创建表空间。
空 3.2.创建自己的数据文件。
空 3.3. 创建用户。
空 3.4. 登陆自己的用户开始创建表。
空 3.5. 为了确保数据准确性 -->约束 。
空 3.6. 增删查改。
4.谁能创建表空间。
空 4.1.system数据层面的DBA
空 4.2.sys 运维超级管理员,保证实例的运行。
二、创建表空间
1.语法。
空 create tablespace spc_test002空 datafile 'D:\ datafiles\test_002.dbf ,D:\ datafiles\test_002_01.dbf '
空 size 30M
空 autoextend on(开启) --->正常情况要关闭,假如以后这个数据库废弃,自己会越来越大。
空 next 10M; 关闭时不写
2.删除表空间。
空 drop tablespace spc_test002 including contents AND datafiles;三、创建用户
1.场景
空 用来操作表空间。2.语法
空 create user test002空 identified by orcl
空 default tablespace spc_test002;
3.注意
空 3.1. 没有指定表空间的用户,会自动放到user的表空间中,这个表空间是自动增长的空 3.2. 新创建的用户,是没有任何权限的,oracle 是非常安全的 注重权限管理
空 3.3. 因为权限过多 赋予权限的时候不好操作,所以oracle 设定好了,直接赋予就行
空空空空 1.connect。一般用户,只有登陆查询权限。
空空空空 2.resource。更为正式的角色,可以增删该查,一般是程序员拥有。
空空空空 3.dba。dba权限,很厉害,所以不用。
四、赋予权限
1.语法
空 grant connect,resource to test002.2.收回权限
空 revoke connect ,resource from test002。五、验证当前用户
空 1.窗口最上面(标题栏)写着。空 2.查看某个用户下有几张表。
空空空 select * from user_tables;
六、创建表,进行数据操作
1. 数据类型,大体分四类。
空 1. 数值类型空空空 1)number(p,s)
空空空空空 p 代表有效位数从左数,去掉第一个不为0的数
空空空空空 s代表 小数位
空 2. 字符类型。
空空空 1)varchar2 和 nvarchar2
空空空空空 varchar2 (1) 1字节 男 存不了
空空空空空 nvarchar2(1) unicode编码 男.length() ==1
空空空空空 面试题:varchar2(1) nvarchar2(1) 哪个能存字
空 3. 日期类型。
空空空空空 1)date 毫秒 timestamp 毫秒加3
空 4. 文件类型。
空空空空空 1)lob clob(大文件)
空空空空空 2)BLOB(大文件) 单条存储4G 以内的文件。
2. 语法。
空 2.1. 创建人类表。空空空空空 create table person (
空空空空空空空空空 pid number(11),
空空空空空空空空空 pname varchar2(64),
空空空空空空空空空 gender number(1), -- 0代表女,1代表男
空空空空空空空空空 birthday date
空空空空空k )
七、DDL
1. 表修改。
空空 1.1.语法。空空空空空 alter table person add (
空空空空空空空空空 address nvarchar2(512) ;
空空空空空k )
2. 删除表。
空空 1.2.复制表,约束不会复制空空空空空 create table p1 as select * from person;
空空 1.3.删除表
空空空空空 drop table p1。
3. 修改表。
空空 3.1.语法。空空空空空 alter table person modify (name varchar2(128));
八、添加约束
1. 约束是把双刃剑降低数据灵活性,慎用,数据的约束应该在service 层。2. 主键约束。
空 2.1.特点空空空 非空且唯一
空 2.2.语法。
空空空空空 alter table person add constraint pk_pserson_pid primary key(pid);
3. 非空约束。
空 3.1.特点空空空 字段不能为null
空 3.2.语法。
空空空空空 alter table person modify(name varchar2 (128) not null)
4. 唯一约束。
空 4.1.特点。空空空 不能重复。
空 4.2.语法。
空空空空空 alter table person modify (name varchar2(128) unique)
5. 检查约束。
空 5.1.特点。空空空 检查某个字段的值是否符合要求。
空 5.2.语法。
空空空空空 alter table person add constraint ck_person_gender check(
空空空空空空空空空空 gender in (0,1)
空空空空空 )
6. 外键约束
空 6.1.特点。空空空 主键表和外键表的数据约束。
空 6.2. 语法。
空空空空空 alter table [外键表名] add constraint fk_od_orderid foreign key
空空空空空空空空 (order_id) reference orders(order_id) ;