oracle基本

数据库:对数据进行持久化操作
数据库存储数据的结构
Table(表格):用于存储数据的结构
Column(列):数据的属性(特点)
Row(行):具体对应数据内容
主键(primary key):唯一标示一行数据
外键(Foreign key):多张表之间的关系

数据库分类

关系型数据库(RDB Relationship DataBase)

MYSQL | SQLServer | postgre

对象型数据库(Object DataBase 对象)
NOSQL(not only sql)

数据库查询语句

全表查询

1、select * from 表名

2、select employee_id,frist_name,last_name,email…

​ from 表名

注意:* 进行又有列的查询,运行效率偏低。可读性偏低

查询特定内容

select 列名1,列名2…

from 表名

对查询内容进行运算(±*/)

select last_name,first_name,salary*12
from employees;

列起别名 alias

select 列名 [as] 别名,列名 [as] 别名
from employees;
注意as关键字可以省略

多列内容的连接

||运算符可以完成2个列或者多个列的内容拼接

select first_name||last_name as name , salary
from employees;

条件查询(where查询)
比较查询 > < = != >= <=
逻辑运算 and or not
特殊谓词 in not in
between … and 在一个范围 或者 区间中 (闭区间)
查询某一些列的内容为null 不能应用 = null 判断is null is not null
模糊查询
like ‘s%’ like‘s_’

%代表0~n个字符,_代表多个字符

排序子句
order by

默认升序asc 降序desc

order by语句必须写在sql语句最后

函数

内置函数
sysdate获取当前时间
to_char():把内容转成字符串
to_date(‘2019-01-21’,‘yyyy’): 把字符串转成时间类型
组函数
max()最大值、 min()最小值、avg()平均值、sum()和、count()条数(统计非null)

分组

group by

1、只有出现在group by中的列名,才可以书写在select字句中。

2、如果列名出现在组函数中,也可以书写在select字句中。

3、普通的内置函数,如果应用在了group by子句中,可以书写在select字句中。

having判断

在分组之后进行判断

having的使用依据: 如果你的条件判断中,涉及到应用组函数的条件判断,则需要使用having,其他条件判断 需使用 where

子查询

where子查询
单值子查询

select * from 表名

where 列名 = (select…)

多值子查询

select * from 表名

where 列名 in(select…)

from子查询

select * from (select…)

伪列

特殊列:不需要程序员手工创建的列,oracle自动创建。

​ 不主动发起查询,看不到伪列的数据内容。

rowid
rownum

rownum和*出现表需要起别名

多表操作

内连接 inner join

左外链接 left outer join

右外链接 right outer join

创建表
基本语法

create table 表名(

字段1数据类型 约束,

字段2数据类型 约束,

…//最后一个字段没有逗号

);

2.标识符命名规范:针对于表名和字段名

2.1.由数字、字母、_、$、#、组成,数字不能开头。

2.2.不能与关键字重名

2.3.最长不能超过30个字符

3.数据类型

3.1数值类型

1)number:允许存储最长38位(长度)

2)number(6,2) // 值得总长度是6位,其中小数位2位,整数位4位–9999.99

3.2 字符串类型

​ 1)varchar2(n):n是一个整数,指定存储最大的字节(byte)数,n最大为4000,意为存储长度为最大4000byte。

​ 2)char(n):n是一个整数,指定存储最大字节数,n的最大值为2000

Varchar2与char的区别:

Varchar2是可变长字符串

Char:是定长字符串

3.3日期类型

1)date[重点]

​ 2)timestamp:表示时间比较精确,但是不是特别适用

3.4 大数据类型【了解】

1)clob:字符型大对象,最多存储4G、存储文本类型的信息。

2)long:字符型大对象,存储2G,适用于存储文本文档。

3)blob:二进制大对象,最多存储4G,存储视频、音频、图片等信息。

4.约束[了解]–约束指的是按照您的意愿指定字段存储长度、格式。

4.1 主键约束:

​ 关键字:primarykey

​ 作用:主键每一张表只有一个,主键的值不允许为null,并且唯一。

4.2 非空约束

​ 关键字:notnull

​ 作用:字段值不能为null;

4.3 唯一约束

​ 关键字:unique

​ 作用:字段有值则必须唯一,没有值–null,可以重复,

4.4 检查约束

​ 关键字:check(约束的条件)

​ 案例:–mobile varchar2(11) check(length(mobile)=11)

​ --email varchar2(50) check(email like ‘%@%’)

4.5 外键约束(foreign key)

​ 概念:外键代表本表记录与其他表的关联关系。

​ 外键的特点:外键的值可以为null,有值得时候,值必须来自于其他表的主键。

​ 外键的声明:创建员工表的时候语法–

​ department_id number(10) references departments(department_id)

SQL

1.DQL–数据查询语言 比如:select
2.DML–数据操纵语言 :向表中添加数据(insert)、修改数据(update)、删除数据(delete).
3.DDL–数据定义语言:create/drop/alter
4.DCL–数据控制语言:grant(授权)、revoke(撤销)。
5.TCL–事务控制语言:commit(提交)、rollback(回滚)。
3.1 DML【重点】

1)insert(向表中添加数据)
a) 所有字段添加数据
语法:insert into 表名 values(值1,值2,值3,…)
insert into t_clazz values(2,‘三年三十班’)

 b)有选择的添加数据【重点】
  语法:insert into 表名(字段1,字段2,..) values(值1,值2,...)
insert into t_User(userId,username,age,birthDay,password) values(2,'李小玫',22,to_date('1999-10-10','yyyy-mm-dd'),'123456')

 c)使用子查询添加
    语法:insert into 表名 子查询语句

insert into t_User(userId,username,age) select employee_id,last_name,department_id from employees where employee_id = 100

2) delete

​ a) 语法:delete from 表名 where 条件
案例:
Delete from t_user where userid=110
注意:使用delete一定要加上where条件,不然会全部删除。

3) update

​ a) 语法:update 表名 set 字段名=值1,字段名2=值2… Where 条件
案例:update t_user set username=‘李蕾’,sex=‘男’ where userid=110;
注意:在执行修改的时候,一定要加上where条件,否则全部被修改,修改其实是先删除再添加。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值