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。
相关文档:
http://www.umgr.com/blog/PostView.aspx?bpId=36294
1. 执行sql语句
int sqlite3_exec(sqlite3*, const char *sql, sqlite3_callbacksql 语法
, void *, char **errmsg );
这就是执行一条 sql 语句的函数。
第1个参数不再说了,是前面open函数得到的指针。说了是关键数据结构。
第2个参数const char ......
只是sqlserver 提供的远程数据访问函数; 在本地sqlserver 中取外部数据源数据时候可用;
对连接本地 oracle 操作远程 oracle 不能使用; 测试: pl/sql 中使用:
select * from openrowset(................); 无效!!!!!!!!!!!!!!
在oracle 中需要访问远程数据,需要建立一连接远程oracle 的 dblink ;
再用如下方 ......
【转】http://www.gbunix.com/htmldata/2004_06/2/5/article_53_1.html
oracle系统表查询【GBUnix】
数据字典dict总是属于Oracle用户sys的。
1、用户:
select username from dba_users;
改口令
alter user spgroup identified by spgtest;
2、表空间:
select * fro ......
NULL指的是空值,或者非法值。
NVL (expr1, expr2)->expr1为NULL,返回expr2;不为NULL,返回expr1。注意两者的类型要一致
NVL2 (expr1, expr2, expr3) ->expr1不为NULL,返回expr2;为NULL,返回expr3。expr2和expr3类型不同的话,expr3会转换为expr2的类型
NULLIF (expr1, expr2) ->相等返回NULL,不等返回ex ......
先构造一个表:
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 ......