oracle数据库常用语句

Ø复制表(带数据)

CREATE TABLE 表名1 AS

SELECT * FROM 表名2;

Ø复制表结构(不带数据)

CREATE TABLE 表名1 AS

SELECT * FROM 表名2

WHERE 1 = 2;

Ø添加列:

ALTER TABLE 表名

ADD 列名 数据类型 [默认值|NOT NULL] 约束;

Ø修改列

  ALTERTABLE 表名

  MODIFY列名  数据类型 [默认值|NOT NULL] 约束;

Ø删除列

  ALTERTABLE 表名

  DROPCOLUMN 列名

Ø给表重命名

  ALTER TABLE 表名 RENAME TO 新表名;

Ø给列重命名

  ALTER TABLE 表名

  RENAMECOLUMN 列名 TO 新列名;

Ø给列添加约束(主键、外键、唯一、检查)

  ALTER TABLE 表名

  ADD CONSTRAINT 约束名  约束类型(列名);

约束类型:PRIMARY KEY/FOREIGNKEY/CHECK/UNIQUE

Ø删除约束

  ALTER TABLE 表名

  DROP CONSTRAINT 约束名;

==========================================================================================

序列上用来生成唯一、连续的整数的数据库对象,通常用来生成主键或者唯一键值,可按升序排列或者减序排列。
创建语法如下:
 CREATE SEQUENCE   SEQUENCE_NAME
         START  WITH integer                  ---开始值
         INCREMENT BY  integer             ---递增值
          MAXVALUE  integer|MAXVALUE  ---最大值
        MINVALUE  integer|MINVALUE   ---最小值
          CYCLE|NOCYCLE                        ---是否重新生成
           CACHE|NOCACHE                      ---预生成序列个数

获取序列的当前值
Select  sequence_name.currval from dual
获取序列的下一个值
Selectsequence_name.nextval from dual
删除序列
Drop  SEQUENCE sequence_name

=========================================================================================

视图是从一个或几个基表导出的表。他与基本表不同的是它是一个虚拟的表。数据库中只存放视图的定义,而不存放视图对应的数据,这些数据任存放在原来的基本表中。
视图的特点:
简单
安全性
不受基表的影响
可以通过重命名列,从另一个角度提供了数据,而不影响到基表
创建视图
Createview view_name asselect * from table_name where  table_column=?
更改视图
Updateview_name set view_column=? Where view_row=?
删除视图
Dropview view_name

========================================================================================
索引的作用

   1.索引只是一种快速访问数据的途径,它只影响执行的速度索引是与表相关的一个可选结构

   2.用以提高SQL 语句执行的性能

   3.减少磁盘I/O

索引的类型:
唯一索引:唯一索引确保在定义索引的列中没有重复值,Oracle 自动在表的主键列上创建唯一索引。
组合索引:组合索引是在表的多个列上创建的索引
反向键索引:反转索引列键值的每个字节,另外还有位图索引、基于函数的索引等。

唯一索引
Create unique index index_name on table_name(table_column)
组合索引
Createi ndex index_name on table_name(table_column1,table_column2)
反向键索引
Create index index_name on table_name(table_column) REVERSE
将反向键索引重新转化为标准索引
Alter index index_namerebuild NOREVERSE-----不能进行相反操作
位图索引(适用于列中出现不同值的数目比表中的行数少的列,比如性别列就比较合适建立位图索引)
Create BITMAP index index_name on table_name(table_column)
基于函数的索引
Create index index_name on table_name(UPPER(table_column))
如果我们经常使用大写字母进行查询,那么这样的索引就起到作用了
要创建基于函数的索引,那么必须要赋予用户一个系统权限:query rewrite
Grant query rewrite to user_name

********************************************************************************************************************
存储过程 就是一段进行预编译的PL/SQL块,并以对象的形式保留在数据库中,以备调用。
函数用于计算和返回特定的数据,可以将经常需要进行的计算写成函数,函数的调用是表达式的一部分,而过程呢个的调用是一条PL/SQL语句。
这两者的区别就是存储过程没有返回值而函数有。
存储过程和函数的优点:  
模块化
可重用性
可维护行
安全性

CREATE OR REPLACE PROCEDURE procedure_name
[(parameter_list)]
[IS|AS]
[local_declarations]
BEGIN
  executable_statments
[EXCEPTION]
   exception_handlers
END [procedure_name];

例子:

如何使用存储过程读取t_config表的一个配置项名
createor replace procedure find_t_config(configid number)
as
  config_namevarchar(200);
  begin
     select configname into config_name from t_config where    configid=configid;
     dbms_output.put_line(‘配置项的名称为:’||config_name);
 exception
           when NO_DATA_FOUNDthen
           dbms_output.put_line(‘没有合适的配置项');
 end find_t_config ;
注意:要看到效果,请执行:set serverout put on

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值