oracle数据库基础
来源:互联网 发布:淘宝客优惠券口令推广 编辑:程序博客网 时间:2024/06/15 14:22
sql:结构化的查询语句
T-sql:标准结构化查询语句
1.sql的分类
a)DML:数据管理语句
insert、delete、update
统称为 修改操作
executeUpdate
b)DQL:数据查询语句
select
i)单表查询
ii)多表查询:
可以是 基表 也可以是 视图 或者是查询的结果
1)不同的表之间链接
2)自连接
以上DML和DQL统称为 CRUD
c)DDL:数据定义语言
create
drop
alter
d)TPL(TCL):事务控制语言
commit
rollback
注意:oracle操作中在客户端(plsql)中进行insert 、delete、udpate 必须commit
oracle会对操作的表 自动加锁
团队开发
e)DCL:数据控制语言
grant :授予用户权限
revoke :收回用户的权限
2.数据类型:
a)数值类型:number
number(n) :最多存放 n 个整数
number(m,n):最多m个数字 其中 n 个小数
number :最大装载 37 个整数
b)字符类型;
char(n):
varchar2(n):
c)date,datetime: varchar2
'12-7月/2017'
2017-07-12
d)blob,clob 4G varchar2
存放图片的地址
3.常用的约束:
主键约束:不能为空 必须唯一 自动添加聚集索引
唯一约束:值必须唯一,可以为null ajax 完成用户名检查
非空约束:该列不能为空
检查约束:check
外键约束:
默认约束:
创建表的时候不添加约束
添加数据 进行 各种 select 查询 如果都能满足要
再通过 alter 添加相应约束
设计软件:完形填空
ooad
4.建表的语法:
create table 表名
(
列名 数据类型 特征,
列名 数据类型 特征
)
alter table 表名
操作
5.使用oracle数据库
启动oracle的监听程序
启动操作数据库 服务
6.插入语句
insert into 表名(列名列表)values(值)
7.删除
delete from 表名 where 条件 ;条件 以 主键为主
建议 把 delete 用 update 修改 状态完成
8.修改
update 表名 set 列=值,列=值 where 条件
9.查询语句
a)清楚要显示哪些数据 放入到 select 后面
b)显示数据的来源(来自哪些表或视图) 放在from 的后面 表与表之间以 , 分割
c)搞清楚表与表之间的关联关系,可能两张表没有之间关系,找第三方表
放在where 后面 多个关系 以 and 链接
d)是否有其他条件 直接 在where 后 添加 and 链接 即可
10.sql 中的运算符:
a)算术运算符:
+ :如果一边为null 计算的结果 为 null
nvl(列,值) :检测 列的值是否 为null 如果为null 输出后面的值
b)比较运算符:
>
>=
<
<=
=
!=
<>
c)特殊的比较运算符
between and 相当于 >= and <=
in(值1,值2) :批量删除 列=值1 or 列=值2
like :模糊查询
% :表示 任意个 任意字符
_ :表示 一个任意字符
自动补全(智能提示):想想百度
Oracle 中的数据 区分大小写
like '_M%'
like '____'
like '%M_'
d)逻辑运算符:and 运算符的优先级 比 or 高
and
or
not
e) nvl(列,值)
upper()
lower()
11.视图:虚拟表,其中不存放任何数据,不能进行insert、delete、update操作
和基本的查询用法相同
他就是 一条复杂sql语句的别名,是预编译
create or replace view 视图名称
as
select 语句;
因为 scott 账户没有创建视图的权利
必须使用 sys 对scott用户进行授权
grant create view to scott;
revoke create view from scott;
12.触发器:
a)对表进行insert、delete、update操作是自动执行的一组 sql代码
b)分类:
before:在把数据装载到表中以前 执行 太监 替皇帝 尝食品
after :在把数据添加到表中后 在执行
instead of :替代 只能添加到视图
before: 要修改本表中的数据,用before触发器
在插入数据是 生成 用户的编号
after :自己操作完后影响其他表中的数据
c)触发的事件,一个事件只能触发一个
insert delete update
d)两张虚拟的表:
:new :存放的是要添加到表中的数据
:old :存放的是 从表中删除的数据
特点:与触发器操作的表 结构完全相同
只存放一行数据
操作 :new :old
insert 有 无
delete 无 有
update 有 有
//示例
T-sql:标准结构化查询语句
1.sql的分类
a)DML:数据管理语句
insert、delete、update
统称为 修改操作
executeUpdate
b)DQL:数据查询语句
select
i)单表查询
ii)多表查询:
可以是 基表 也可以是 视图 或者是查询的结果
1)不同的表之间链接
2)自连接
以上DML和DQL统称为 CRUD
c)DDL:数据定义语言
create
drop
alter
d)TPL(TCL):事务控制语言
commit
rollback
注意:oracle操作中在客户端(plsql)中进行insert 、delete、udpate 必须commit
oracle会对操作的表 自动加锁
团队开发
e)DCL:数据控制语言
grant :授予用户权限
revoke :收回用户的权限
2.数据类型:
a)数值类型:number
number(n) :最多存放 n 个整数
number(m,n):最多m个数字 其中 n 个小数
number :最大装载 37 个整数
b)字符类型;
char(n):
varchar2(n):
c)date,datetime: varchar2
'12-7月/2017'
2017-07-12
d)blob,clob 4G varchar2
存放图片的地址
3.常用的约束:
主键约束:不能为空 必须唯一 自动添加聚集索引
唯一约束:值必须唯一,可以为null ajax 完成用户名检查
非空约束:该列不能为空
检查约束:check
外键约束:
默认约束:
创建表的时候不添加约束
添加数据 进行 各种 select 查询 如果都能满足要
再通过 alter 添加相应约束
设计软件:完形填空
ooad
4.建表的语法:
create table 表名
(
列名 数据类型 特征,
列名 数据类型 特征
)
alter table 表名
操作
5.使用oracle数据库
启动oracle的监听程序
启动操作数据库 服务
6.插入语句
insert into 表名(列名列表)values(值)
7.删除
delete from 表名 where 条件 ;条件 以 主键为主
建议 把 delete 用 update 修改 状态完成
8.修改
update 表名 set 列=值,列=值 where 条件
9.查询语句
a)清楚要显示哪些数据 放入到 select 后面
b)显示数据的来源(来自哪些表或视图) 放在from 的后面 表与表之间以 , 分割
c)搞清楚表与表之间的关联关系,可能两张表没有之间关系,找第三方表
放在where 后面 多个关系 以 and 链接
d)是否有其他条件 直接 在where 后 添加 and 链接 即可
10.sql 中的运算符:
a)算术运算符:
+ :如果一边为null 计算的结果 为 null
nvl(列,值) :检测 列的值是否 为null 如果为null 输出后面的值
b)比较运算符:
>
>=
<
<=
=
!=
<>
c)特殊的比较运算符
between and 相当于 >= and <=
in(值1,值2) :批量删除 列=值1 or 列=值2
like :模糊查询
% :表示 任意个 任意字符
_ :表示 一个任意字符
自动补全(智能提示):想想百度
Oracle 中的数据 区分大小写
like '_M%'
like '____'
like '%M_'
d)逻辑运算符:and 运算符的优先级 比 or 高
and
or
not
e) nvl(列,值)
upper()
lower()
11.视图:虚拟表,其中不存放任何数据,不能进行insert、delete、update操作
和基本的查询用法相同
他就是 一条复杂sql语句的别名,是预编译
create or replace view 视图名称
as
select 语句;
因为 scott 账户没有创建视图的权利
必须使用 sys 对scott用户进行授权
grant create view to scott;
revoke create view from scott;
12.触发器:
a)对表进行insert、delete、update操作是自动执行的一组 sql代码
b)分类:
before:在把数据装载到表中以前 执行 太监 替皇帝 尝食品
after :在把数据添加到表中后 在执行
instead of :替代 只能添加到视图
before: 要修改本表中的数据,用before触发器
在插入数据是 生成 用户的编号
after :自己操作完后影响其他表中的数据
c)触发的事件,一个事件只能触发一个
insert delete update
d)两张虚拟的表:
:new :存放的是要添加到表中的数据
:old :存放的是 从表中删除的数据
特点:与触发器操作的表 结构完全相同
只存放一行数据
操作 :new :old
insert 有 无
delete 无 有
update 有 有
//示例
create or replace trigger trig_stu_idbefore inserton stu_infofor each row --SQL语句影响几行 触发器就执行几次 declare n number; --存放表中 主键的最大值begin select max(stu_id) into n from stu_info; --n可能为空 if n is null then n :=0; end if; :new.stu_id := n+1;end;
阅读全文
0 0
- 【Oracle数据库】Oracle数据库基础
- oracle数据库优化基础
- ORACLE数据库基础
- oracle 数据库 基础
- oracle数据库基础学习
- 第一章Oracle数据库基础
- Oracle数据库基础介绍
- Oracle数据库基础
- 数据库--基础--Oracle
- oracle 数据库基础
- oracle 数据库管理基础
- Oracle数据库基础
- Oracle数据库迁移-基础
- Oracle数据库基础
- Oracle数据库基础
- Oracle数据库基础(一)
- Oracle数据库基础
- Oracle数据库迁移-基础
- Spring Mvc 公共Controller 使用拦截器注入请求信息
- POST请求接口
- MQTT QoS
- WINFORM 设置PICTUREBOX背景透明
- Android唤醒、解锁屏幕代码实例
- oracle数据库基础
- linux查找日志技巧
- SQL Server系统表sysobjects介绍与使用
- offset的bug
- C++的STL中集合(set)的使用说明
- 在启动HDFS时,针对集群中namenode无法识别datanode的问题的解决方法
- 08 CSS-隐藏盒子的5种方法
- 按照从小到大的顺序输出字符串
- JBOSS启动报错Given parent is not an ancestor of this virt