oracle常用的sql命令
数据定义语言(DDL)<操作表的结构>:create( 创建)、
alter(更改)、
drop(删除)
数据操纵语言(DML)<操作表的数据>:insert(插入)、select(选择)、delete(删除)、update(更新)
事务控制语言(TCL):commit ( 提交)、savepoint(保存点)、rollback(回滚)
数据控制语言:grant(授予)和revoke(回收)。与权限有关
举例:
1、数据定义语言DDL
SQL> create table myTable(no number(4),name varchar2(20)); // 创建一个名为myTable的表,包含两列分别为no 和name,其中no为数字,name为字符串
SQL> alter table myTable modify (name varchar2(25)); //修改myTable中的name 列,使此列能容纳25 个字符;
SQL> alter table myTable add (tel_no varchar2(20)); //给表myTab 增加一列tel_no;
SQL> alter table myTable drop column tel_no; //删除表myTab 的tel_no 列;
SQL> drop table myTable; //删除表myTable;
SQL> truncate table myTable; //删除表myTable中的所有行(截断表),注意:此操作不可以rollback(回滚)。
2、数据操纵语言DML
SQL> insert into myTable values(‘001’,’John’); //向表myTab 中插入一行数据;
SQL> select distinct salary “薪水” from s_emp where salary>1500 order by sal
desc; //选择表中salary 大于1500 的数据,以别名“薪水”显示并按照salary 的降序进行排列输出;
SQL> create table empa as select empno,ename,job,sal from emp;
//从emp 表中选择“empno,ename,job,sal”四列的数据建立新表empa;
SQL> create table empa as select * from emp where 1=2;
//使用一个假条件根据现有表emp 创建一个只包含结构的空表empa;
SQL> delete from empa where sal<1500;
//删除表empa 中sal 小于1500 的行;
SQL> update empa set sal=1500 where sal<1500;
//更新,将表empa 中sal 小于1500 的行的sal 值全部改为1500。
3、事务控制语言TCL
SQL> commit; //用于提交并结束事务处理;
SQL> savepoint mark1; //保存点类似于标记,用来标记事务中可以应用回滚的点;
SQL> rollback to savepoint mark1; //回滚到保存点mark1。
相关文档:
如果你经常遇到下面的问题,你就要考虑使用SQL Server的模板来写规范的SQL语句了:
SQL初学者。
经常忘记常用的DML或是DDL SQL 语句。
在多人开发维护的SQL中,每个人都有自己的SQL习惯,没有一套统一的规范。
在SQL Server Management Studio中,已经给大家提供了很多常用的现成SQL规范模板。
SQL Server Management ......
oracle不同版本间数据的导入导出
Oracle的imp/exp组件是我们常用的工具,它的一个操作原则就是向下兼容。下面是据此总结的几个使用规则和相关测试:
规则1:低版本的exp/imp可以连接到高版本(或同版本)的数据库服务器,但高版本的exp/imp不能连接到低版本的数据库服务器
1.1 使用9i客户端通过imp连 ......
select * from (select t.*,rownum rn from (select * from emp) t where rownum<=10) where rn>=6;
创建分页结果集的游标
create or replace package fenyepackage as
type testcursor is ref cursor;
end fenyepackage;
创建分页存储过程
create or replace procedure fenye3(
tableName varchar2, --表名
......
先构造一个表:
create table emp2(
id number(2),
name varchar(10),
currdate date,
action varchar2(1)
)
创建触发器:
create or replace trigger d_i_u_emp2
after insert or update or delete on mysort
begin
if inserting then
insert into emp2 values (12,'dog',sysdate,'i');
elsif deleting then ......