Oracle期末复习知识点总结
- 时光匆匆,又到了期末考试的时间,大概总结一下Oracle数据库这门课程的知识点。
目录
核心技能目标
- 了解Oracle数据库。
- 掌握Oracle的结构。
- 深入了解Oracle及SQL语句的应用。
- 掌握Oracle数据库的函数。
- 掌握Oracle数据库的过程和游标。
- 能够使用Oracle设计出比较合理的数据库。
创建数据库表(基础部分)
create table 表名
(
列名1 数据类型
列名2 数据类型
.....
列名n 数据类型
);
SQL语句(增删改查)
- 查询数据语句
#查询user表中的所有数据
select * from user;
#查询user表中id为1的数据
select * from user where id=1;
- 删除数据语句
#删除user表
drop table user;
#删除表中所有数据
delete from user;
#删除表中id为1的数据
delete from user where id=1;
- 添加数据语句
#添加数据/插入数据
insert into user values (2,'肥肉', '男', 20, 2232.15, '2029-03-02');
insert into user (id,name,age, height, resg date) values(2,'得得', '男', 20, 22.15, '2019-03-02');
- 更新数据语句
#更新数据
update user set name='张三' where id=1;
Oracle数据库中基本数据类型
- 字符类型
CHAR类型:CHAR表示固定长度字符串,长度不足时使用空格补充。
VARCHAR2类型:表示可变长度字符串,在定义该数据类型时,应该指定其大小。 - 数值类型
NUMBER类型:可以存储正数、负数、零、定点数和精度为38位的浮点数,格式为NUMBER(M,N)。其中M表示精度,代表数字的总位数;N表示小数点右侧数字的位数。 - 日期类型
DATA类型:用于存储表中的日期和时间数据。.
Oracle常用函数
字符函数
- ASCII:返回与指定的字符对应的十进制数。
- CHR:参数为整数,表示某个字符的Unicode码,返回对应的字符。
- CONCAT:连接两个字符串。
- INITCAP:返回字符串并将字符串的第一个字母变为大写。
- INSTR:在一个字符串中搜索指定的字符,返回发现指定的字符位置。
- LENGTH:返回字符串的长度。
- LOWER:返回字符串,并将所有的字符小写。
- UPPER:返回字符串,并将所有字符大写。
- RPAD:在列的右边粘贴字符。
- LPAD:在列的左边粘贴字符。
- LTRIM:删除左边出现的字符串。
- RTRIM:删除右边出现的字符串。
- SUBSTR:取子字符串。
- REPLACE:将一个字符串中的子字符串替换成其他的字符串。
- TRIM:删除字符串两边的字符串,如删除字符串两边的空格,删除字符串两边的#字符。
具体的使用方法,网上一搜都有,而且很全面。
数学函数
- ABS:返回指定值的绝对值。
- CEIL:返回大于或等于给出数字的最小整数。
- FLOOR:对给定的数字取整数。
- MOD(n1,n2):返回一个n1除以n2的余数。
- POWER(n1,n2):返回n1的n2次方。
- SIGN:取数字n的符号,大于0返回1,小于0返回-1,等于0返回0。
- SQRT:返回数值的根。
- ROUND:按照指定的精度四舍五入。
- TRUNC:按照指定的精度截取一个数。
日期函数
日期函数常用格式模型
- HH:一天的小时数(01-12)
- HH24:一天的小时数(01-23)
- MI:分钟(00-59)
- SS:秒(00-59)
- MS:毫秒(000-999)
- Y,YYY:带逗号的年(4和更多位)
- YYYY:年(4和更多位)
- YY:年的后两位
- MM:月份(01-12)
- DAY:全长大写日期名(9字符)
- day:全长小写日期名(9字符)
- DY:缩写大小日期名(3字符)
- Dy:缩写混合大小写日期名(3字符)
- dy:缩写小写日期名(3字符)
- DDD:一年里的日子(001-366)
- DD:一个月里的日子(01-31)
- D:一周里的日子(1-7;SUN=1)
- W:一个月里的周数(1-5),这里第一周从该月第一天开始
- WW:一年里的周数(1-53),这里的第一周从该年的第一天开始
- Q:季度
- 常用格式:yyyy-mm-dd 年月日
常用日期函数
- SYSDATE:用来得到系统的当前日期
- ADD_MONTHS:增加或减去月份
- LAST_DAY:返回日期的最后一天
- MONTHS_BETWEEN(date2,date1):给出date2和date1相差的月份
- NEXT_DAY(date,‘day’):给出日期date和星期x之后计算下一个星期的日期
转换函数
- to_char:转换成string类型
- to_date:转换成date类型
- to_number:转换成number类型
索引
索引类型:B-tree索引,位图索引,函数索引。
- 创建索引
CREATE INDEX 索引名 ON 表名(列名);
- 删除索引
DROP INDEX 索引名;
- 查看索引
SELECT * FROM ALL_INDEXES WHERE TABLE_NAME = '表名'
数据完整性(约束)
- 非空约束:not null,非空约束就是限制必须为某个列提供值。
create table user(
user_name varchar2(20) not null --不为空
);
- 主键约束:primary key,主键约束相当于非空约束和唯一性约束的组合。
create table user(
user_name varchar2(20) primary key --主键
);
- 唯一约束:unique,表示数据不允许出现重复的情况。
create table user(
user_name varchar2(20) unique --唯一约束
);
-
外键约束:foreign key,外键约束指定的就是子表的某一个字段 的内容取值范围必须由主表指定,通过外键将两张数据表联系起来。
-
默认约束:default,默认约束表示不输入值,默认输入指定的值。
create table user(
user_name varchar2(20) default '张三' --默认约束
);
序列
- 创建序列
#创建序列,seq_name序列名。一般以seq开头,或者s开头
create sequence seq_name;
#创建序列,从1开始
create sequence seq_name start with 1;
- 删除序列
#删除序列
drop sequence seq_name;