数据库分类:
关系型数据库: oracle MySQL
非关系型数据库:
一个认知:oracle 特点、优点
oracle:商业运用第一的关系型数据库
实质:关系型数据库
二个概念:
数据库:数据存储的仓库
关系型数据库:数据库中保存的对象之间可以存在一定的关联关系,并非完全独立。主要反映到以后学习的主外键.
三个名词:
sql:结构化的查询语句,操作oracle数据库的语言
sqlplus:oracle软件自带的可以输入sql,且将sql执行结果显示的终端
pl/sql:程序化的sql语句,在sql语句的基础上加入一定的逻辑操作,如if for...,使之成为一个sql块,完成一定的功能
四种对象:
table:表格
view:视图
sequence:序列
index: 索引
五种分类:
select 查询
DML 行级操作
DDL 表级操作
transaction事物控制
DCL 数据控制
select 语句
1.sql命令书写规则
命令可以使一行或者多行(只要不加;)
命令不区分大小写,但是值区分
命令在执行过后会被写到缓存中
select 列名(*代表全部列) from 表名
2.计算 先乘除再加减 ()先算
3.给列取别名
select 列名 【as】 新的名称,
或者 select 列名 新的名称
from 表名
4.字符串的拼接(列的拼接)||
select 列名1|| ‘想添加的字符’|| 列名2 from 表名
5.对空值进行运算 :nvl
原来是什么数据类型,就替换成什么类型
select 列1,nvl(存在null的列名,如果为空用什么替代)from 表名
6.distinct(去重) 关键词只能放在select关键词之后
第二章:
order by: 排序 (放在语句的最后一句)
select column from table order by 列名 asc/desc
排序可以使用列的别名
select id ,salary sal from s_emp order by sal desc
排序可以用之前列名的数字编号
select id,salary from s_emp order by 1,2
where :
select colum from table where 条件1 逻辑运算 条件2 order by
执行顺序:(使用表或者列的别名时需注意是否能使用)
1.from
2.where
3.select
4.order by
第三章:单值函数
lower:将所有字母转换成小写
upper:将所有字母转换成大写
initcap:首字母大写,其余字母小写
concat(value1,value2)
substr:(字符串,开始位置,截取长度) 开始位置下标为1,截取长度随意
length:获取字符串长度
数字函数
round(操作数,保留位) 四舍五入 0为个位 -1十位 1为小数点后一位
trunc(操作数,截取位) 截取到截取位,后面全部舍弃,个位前截取补0
mod(除数,被除数) 求余
日期函数:
sysdate
months_between('15-3月-19','15-3月-17') 日期之间差多少个月份
add_month(sysdate,'日期格式') 4当前时间往后推4个月 -4为往前推4个月
next_day(date,'星期几') 距离这个日期最近的下一个星期几
last_day(date,'星期几') 上一个
round(date,'MONTH') 把当前日期进位到月
round(日期,保留位数) MOUTH 看天,如果是15那就舍弃 如果是16进位
YEAR 看月,如果是6月以下舍弃 如果是7以上进位
trunc 截断
类型转换函数:
字符类型 number date
date/number -----> 字符类型
to_char(日期/number,'转换格式')
字符类型------>number
to_number(字符类型,'转换格式')
to_date 把字符转换为日期
to_date(‘10-12月-15’,dd-mon-yy)
mm:不能添加月
关系型数据库: oracle MySQL
非关系型数据库:
一个认知:oracle 特点、优点
oracle:商业运用第一的关系型数据库
实质:关系型数据库
二个概念:
数据库:数据存储的仓库
关系型数据库:数据库中保存的对象之间可以存在一定的关联关系,并非完全独立。主要反映到以后学习的主外键.
三个名词:
sql:结构化的查询语句,操作oracle数据库的语言
sqlplus:oracle软件自带的可以输入sql,且将sql执行结果显示的终端
pl/sql:程序化的sql语句,在sql语句的基础上加入一定的逻辑操作,如if for...,使之成为一个sql块,完成一定的功能
四种对象:
table:表格
view:视图
sequence:序列
index: 索引
五种分类:
select 查询
DML 行级操作
DDL 表级操作
transaction事物控制
DCL 数据控制
select 语句
1.sql命令书写规则
命令可以使一行或者多行(只要不加;)
命令不区分大小写,但是值区分
命令在执行过后会被写到缓存中
select 列名(*代表全部列) from 表名
2.计算 先乘除再加减 ()先算
3.给列取别名
select 列名 【as】 新的名称,
或者 select 列名 新的名称
from 表名
4.字符串的拼接(列的拼接)||
select 列名1|| ‘想添加的字符’|| 列名2 from 表名
5.对空值进行运算 :nvl
原来是什么数据类型,就替换成什么类型
select 列1,nvl(存在null的列名,如果为空用什么替代)from 表名
6.distinct(去重) 关键词只能放在select关键词之后
第二章:
order by: 排序 (放在语句的最后一句)
select column from table order by 列名 asc/desc
排序可以使用列的别名
select id ,salary sal from s_emp order by sal desc
排序可以用之前列名的数字编号
select id,salary from s_emp order by 1,2
where :
select colum from table where 条件1 逻辑运算 条件2 order by
执行顺序:(使用表或者列的别名时需注意是否能使用)
1.from
2.where
3.select
4.order by
第三章:单值函数
lower:将所有字母转换成小写
upper:将所有字母转换成大写
initcap:首字母大写,其余字母小写
concat(value1,value2)
substr:(字符串,开始位置,截取长度) 开始位置下标为1,截取长度随意
length:获取字符串长度
数字函数
round(操作数,保留位) 四舍五入 0为个位 -1十位 1为小数点后一位
trunc(操作数,截取位) 截取到截取位,后面全部舍弃,个位前截取补0
mod(除数,被除数) 求余
日期函数:
sysdate
months_between('15-3月-19','15-3月-17') 日期之间差多少个月份
add_month(sysdate,'日期格式') 4当前时间往后推4个月 -4为往前推4个月
next_day(date,'星期几') 距离这个日期最近的下一个星期几
last_day(date,'星期几') 上一个
round(date,'MONTH') 把当前日期进位到月
round(日期,保留位数) MOUTH 看天,如果是15那就舍弃 如果是16进位
YEAR 看月,如果是6月以下舍弃 如果是7以上进位
trunc 截断
类型转换函数:
字符类型 number date
date/number -----> 字符类型
to_char(日期/number,'转换格式')
字符类型------>number
to_number(字符类型,'转换格式')
to_date 把字符转换为日期
to_date(‘10-12月-15’,dd-mon-yy)
mm:不能添加月