安装:oracle
(oracle安装包)链接:https://pan.baidu.com/s/1can3354NiIuUu5CkWjc2Vw
提取码:ryyi
安装服务端:
Oracle 数据库: 一个相关的操作系统文件(即存储在计算机硬盘上的文件)集合,这些文件组织在一起, 成为一个逻辑整体, 即为 Oracle 数据库.
Oracle 实例: 位于物理内存里的数据结构,它由操作系统的多个后台进程和一个共享的内存池所组成,共享的内存池可以被所有进程访问.Oracle 实例就是平常所说的数据库服务(service) .
区别:实例可以操作数据库;在任何时刻一个实例只能与一个数据库关联,访问一个数据库;而同一个数据库可由多个实例访问(RAC)
安装客户端:
oracle卸载:
1、导入外部.sql文件
2、常用操作
select sysdate from dual; 返回当前系统的时间;
select * from tab; 返回所有的表。
解决:sqlplus中中文乱码问题
第一步:执行:select userenv('language') from dual;查看当前数据库的字符集。
第二步:在环境变量查找一个名为 NLS_LANG的环境变量,如果找不到,则新建一个,把变量值赋值为
"SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
使用图像化工具:sqldeveloper
3、记录问题
空值不是0是null,null参与的运算都是null
|| 连接符
select table_name from user_tables; //查询用户下所有的表
4、 between value1 and value2
between and 包括边界。
select * from table where number between 100 and 200;
5、转义字符escape
查询名字中带有_的字符
6、单行函数
lower() 转小写
upper() 转大写
initcap()首字母转大写
concat(str1,str2) 字符串拼接
substr(str,beignPlace,endLength); beignPlace开始位置,endLength结束长度。
length(str) ;返回当前字符串的长度
instr(str,char);返回当前字符首次出现的位置
lpad(str,10,'*') 左补函数
rpad();右补函数
trim('h' from 'hello') 移除ello 只移除首尾
replace(’abcd‘,'b','m') 取代amcd 替换所有
MONTHS_BETWEEN() 两个日期相差的月份
ADD_MONTHS() 向指定日期加上若干的月数
NEXT_DAT(date) 指定日期的下一个星期对应的日期
last_day(time):返回指定日期所在月份的最后一天;
ROUND 日期四舍五入
TRUNC 日期截断
7、转换函数
隐式转换 date <= => varchar2 <= => number
日期转换成字符类型:to_char(date,"格式") to_char(sysdate,'yyyy-mm-dd')
字符转换成日期类型:to_date(字符,’格式‘)
数字转换字符:to_char(数字, 格式)
字符转换数字: to_number(字符,格式)
8、通用函数
nvl(st1,st2) 如果st1为null则使用st2。注意:st1 与st2的类型要相同。
nvl2(st1,st2,st3) 如果st1不为null返回st2否则返回st3。
nullif(st1,st2) 如果st1和st2相等返回null,如果不相等返回st1。
coalesce(st1,st2,st3,st4....)如果st2为null判断st2,如果st2不为null返回st2,否则判断st3...依次判断后面的值。
9、case
10、 decode
11、创建表
12、数据类型
13、修改字段
新增列: ALTER TABLE 表名 ADD (字段名 类型);
修改列: ALTER TABLE 表名 MODIFY (字段名 类型);
删除列:ALTER TABLE 表名 DROP COLUMN 字段名 ;
修列名:ALTER TABLE 表名 RENAME COLUMN 旧字段名TO 新字段名;
14、序列
创建序列:
查询所有索引:select * from user_sequences
可供多个用户用来产生唯一数值的数据库对象,主要用于提供主键值。
nextval:返回序列中下一个有效的值。
currval:返回序列中的当前值。
修改序列:
删除序列:Drop sequence 序列名。
15、索引
自动创建索引:在定义 PRIMARY KEY 或 UNIQUE 约束后系统自动在相应的列上创建唯一性索引。
手动创建索引:
查询所有索引:select * from user_ind_columns
删除索引:DROP INDEX 索引名;
16、同义词
相当于给表起一个别名。
创建同义词:
删除同义词:
列如:
17、UNION UNION ALL
UNION 去除重复的
UNION ALL 不去除重复的
18、PL/SQL
PL/SQL是对SQL语言存储过程的语言的扩展。
PL/SQL程序由三个块组成,即声明部分、执行部分、异常处理部分。
PL/SQL命名类型:
定义类型:
19、if 语句
20、case
21、loop
22、while
23、for
-----------------------------------------------------------------------------------------分割线--------------------------------------------------------------------------------
分页:
https://www.imooc.com/article/19758
select * from (
select temp.*,rownum rn
from (
select * from 表名
) temp
where rownum <= 20
) where rn > 10