停止oracle的服务,只在使用它的时候才去启动会加快电脑运行速度
Oracle的服务:
OracleServiceORCL 使用SQL plus时需要启用它
OracleOraDb11g_home 1TNSListener 使用第三方工具时,像PL/SQLDeveloper时需要启用
约束
数据类型是用来控制输入的格式,约束是用来控制输入的值满足要求
约束的作用
用来定义规则,确保数据的完整性
非空约束
在创建表时设置非空约束
Create table tablename
(column_name datatype NOT NULL,…..);
在修改表的时候添加非空约束
Alter table userinfo
Modify id number(6,0) not null;
为id字段添加非空约束,前提是id字段下没有空值
在修改表的时候去除非空约束
Alter table userinfo
Modify pwd varchar(15) null;
去除了pwd字段的非空约束
主键约束
作用:确保表当中每一行数据的唯一性
设置了主见约束的字段,要求非空,唯一
一张表只能有一个主键,一个主键可以由多个字段构成(联合主键或者复合主键)
创建表的时候添加主键约束
Create table userinfo_2
(id number(6,0) primary key,
Name varchar(10));
Create table userinfo_3
(id number(6,0),
Name varchar(10),
Constraint ID_NAME primary key(id,name));
在创建的时候添加联合主键
查询主键约束名称
在数据字典user_constraints
修改表的时候添加主键约束
Alter table userinfo
Add constraint id_name_2 primarykey(id,name));
修改主键约束的名字
Alter table userinfo
Rename constraint id_name_2 to new_id_name;
禁用主键约束
Alter table userinfo
Disable constraint new_id_name;
删除主键约束
Alter table userinfo
Drop constraint new_id_name;
外键约束
主从表关系,设置外键约束时,主表当中的字段必须为主键字段,主从表中相应的字段必须为同一种数据类型,从表中的值必须为主表当中字段的值,或者为空值
在创建表时添加外键约束
Create table userinfo_5
(email varchar(15) primary key,
Userid number(6,0) referencesuserinfo_4(id));
在表级添加外键约束
Constraint constraint_name
FOREIGN KEY(column_name) REFERENCES
Table_name(column_name)[ON DELETE CASCADE]
On delete cascade级联删除,主表中删除数据,从表中数据也会跟着被删除
在修改表时添加外键约束
alter tableuserinfo_7
addconstraint fk_id_phone foreign key (userid) references userinfo_4(id) on deletecascade;
禁用外键约束
Alter tableuserinfo_7
Disable constraintfk_id_phone;
删除外键约束
Alter tableuserinfo_7
Dropconstraint fk_id_phone;
唯一约束
作用:保证数据的唯一性
主键约束约束与唯一约束的区别:唯一约束可以允许有一个值为空,主键约束要求非空;一张表只能有一个主键约束,但是可以有很多个唯一约束
在创建表时添加唯一约束
Create table userinfo_8
(id number(6,0) primary key,
Name varchar(10) unique);
在表级添加唯一约束
Create table userinfo_9
(id number(6,0) primary key,
Name varchar(10),
Constraint un_name unique(name));
在修改表时添加唯一约束
Alter table user_10
Add constraint un_name_new unique(name);
禁用唯一约束
Alter table user_10
Disable constraint un_name_new;
删除唯一约束
Alter table use_10
Drop constraint un_name_new;
检查约束
作用:让表中的值更具有实际意义
在创建表时添加检查约束
Create table userinfo_11
(id number(6,0),
Salary number(5,0) check(salary>0));
在表级添加检查约束
Create table userinfo_12
(id number(6,0),
Salary number(5,0),
Constraint ck_sal check(salary>0));
在修改表的时候添加检查约束
Alter table userinfo_12
Add constraint ck_id check(id>0));
禁用检查约束
Alter table userinfo_12
Disable constraint ck_id;
删除检查约束
Alter table userinfo_12
Drop constraint ck_id;
总结
非空约束
主键约束
外键约束
唯一约束
检查约束
主键约束在每一张表只能有一个,但是可以由多个字段构成
外键约束涉及两张表之间关系
在创建表时添加约束,只有非空约束只能在列级设置,不能在表级设置,并且非空约束没有名字
在修改表时添加约束,非空约束用的是修改字段的语句
更改约束名称,非空约束没有名称
数据字典user_constraints
删除约束,非空约束用的是修改字段的语句
索引
是一种让数据提供给用户的形式与它在数据库中的存储形式不同的方法
作用:排序;提高查询速度。
创建索引
Crate index ind_userinfo_13 on userinfo_13(agedesc);
删除索引
Drop index ind_userinfo_13;
Order by
Select * from userinfo_13 order by salary;
索引与orderby的区别
当使用orderby时,每次运行都要重新排序,当使用索引时数据库会建立一个物理索引对象,每次运行查询时都会访问同一个索引
当表被删除时,所有相关索引都被删除
笛卡尔积
设A,B为集合,用A中元素为第一元素,B中元素为第二元素构成有序对,所有这样的有序对组成的集合叫做笛卡尔积,记作AXB
PL/SQL
服务启动有顺序,先启动Listener,再启动ORCL
从excel导入Oracle
准备excel数据
excel文件另存为(文本文件(指标分隔符)(*.txt))
导入plsql,tools——text importer——opendatafile
设置导入数据表结构
从oracle导出excel
写出要导出的数据,new——report window——F8
导出
?desc 查询结果依然升序排列
Word中取消拼写检查
文件——选项——校对
Word中隐藏换行符
文件——选项——显示