oracle 基本语法

1.数据库:存放数据的仓库;
2.常见的数据库:Access、Sql Sever、Oracle、DB2、Mysql(免费)
3.字段:表中的列;
   实体:表中的一行对于一个实体,或者叫做一条记录;
4.数据类型

varchar2(length)----->java String ;可变字符串,不会用空格填充至最大长度;

char(length)------>java String;定长字符串,当位数不足自动用空格填充来达到其最大长度;

Number(length,小数位数)----->java Integer/Double/Float/double/int;

NUMBER( p,s ) p表示精度(总长度) s表示小数位置且四舍五入;

Date------>java Date

TIMESTAMP----->java Date

BLOB----->二进制(电子表格、字处理文档、图像文件等)

CLOB----->大文本数据(4G)

5.约束

   1.主键约束  primary key(字段)   非空+唯一

   2.唯一约束 unique(字段)

   3.非空约束 not null

   4.检查约束 check(约束)

   5.外键约束 

   constraint FK_外键字段_主键表 foreign key(外键列) references 主键表(主键)

6.建表语法

create table 表名(

列名   数据类型 字段名 约束,

列名   数据类型 字段名 约束

7.创建约束的的两种方式

    1.在创建表的时候创建约束(不推荐)

    2.创建表之后单独创建约束;(但是主键在创建表的时候创建一般)
8.增删改查的基本语法
  新增语法:
     insert into 表名 values('值1','值2',...);
     insert into 表名(列1,列2,...)values('值1','值2',...);
 修改的语法:
   update 表名 set 列=值 [where 条件];
删除的语法:
  delete from 表名 [where 条件];
查询的语法:
  select * from 表名 [where 条件]

删除表的语法:

    drop table  表名

在A和B之间(包含A和B):between...and...
为空:is null;
不为空:is not null;
不在...当中:not in
在...当中:in
排序:order by 列名 asc/desc(升序/降序)默认升序

模糊查询:列名 like '包含通配符的字符串';
9.通配符
   1._:一个字符;
   2.%:任意个字符;
   3.[-]:表示某一个范围;
   4[^]:表示不在某一个范围:
10.聚合函数(分组函数)
    max():最大值
     min():最小值
    avg():平均值
    sum():求和
   count:统计(统计有多少条数据)
11.group by 分组
  根据什么分组就只能显示什么,其他的所以信息都要通过聚合函数来查询;
  select 分组字段 聚合函数 from 表名
  where 分组前条件(没有使用聚合函数的条件)
  group by 分组字段
  having 分组后条件(使用集合函数的条件);
12.日期函数
--获取当前日期
select sysdate from dual;
--日期的运算
--1.10天后的日期
select sysdate+10 from dual;
13.转换函数
--trunc(日期)函数
select trunc(sysdate) from dual;---2018/10/15
select trunc(sysdate ,'dd') from dual; ---2018/10/15
select trunc(sysdate ,'yyyy') from dual;---2018-1-1
select trunc(sysdate ,'mm') from dual; ---2018-10-1
---to_char(日期,'日期部分')把日期或数字转换为字符串 
select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss D DDD WW W') from dual;--2018-10-15 22:13:18 2 288 42 3
select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from dual;--2018-10-15 22:13:18
select to_char(sysdate,'YYYY') FROM DUAL; --2018
--to_char('数字',frm)
select to_char(88.86,'$9999.99') from dual;

---to_date('字符串','日期部分')把字符串转换为数据库中得日期类型 
select to_date('2004-05-07 13:23:44','yyyy-mm-dd hh24:mi:ss') from dual

select to_date(to_char(sysdate,'yyyy-MM-dd'),'yyyy-MM-dd') from dual;
日期部分: 
   年:yyyy
   月:MM 
   日:dd 
   时:HH24/HH
   分: mi 
   秒:ss
   星期:D  星期日=1;星期一=2;...
   一年之中第几天:DDD
   一年之中第几周:WW
   一月之中第几周:W
14.字符串函数:
length();
substr(str,index);
replace(str,oldstr,newstr);
instr();--返回下标(从1开始)
select instr('abc','b')from dual;
concat();
select concat('b','cc') from dual;
Lower();upper();
select Lower('GSDS'),upper('aabc') from dual;

15.数学函数
ceil()向上取整;
floor()向下取整
round()四舍五入;
16.分析函数
over(order by 列名 asc/desc)
row_number()排序从1开始
rank()如果值相等,会排同名次,但会跳跃
dense_rank() 如果值相同,会排同名词,不会跳跃;

排名函数必须有 OVER 子句
17.其他函数
nvl(列名,0)空值替换函数
nvl2(列名,非空值,空值)
decode()相当于 case when the end;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值