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 ......
如果你经常遇到下面的问题,你就要考虑使用SQL Server的模板来写规范的SQL语句了:
SQL初学者。
经常忘记常用的DML或是DDL SQL 语句。
在多人开发维护的SQL中,每个人都有自己的SQL习惯,没有一套统一的规范。
在SQL Server Management Studio中,已经给大家提供了很多常用的现成SQL规范模板。
SQL Server Management ......
我在把oracle数据导入sqlserver中时,发现在oracle中字段定义为唯一索引时,不同记录的此字段如果为空不被认为是重复的,但在sqlserver中如果此字段为唯一索引字段,不允许有2个以上的空值。郁闷。所以只好将sqlserver中的唯一索引字段手工修改为几个非空的值,但这样程序肯定要进行修改了。需要在程序中为此字段设置不重复 ......
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 ......
限制索引是一些没有经验的开发人员经常犯的错误之一。在SQL中有很多陷阱会使一些索引无法使用。下面讨论一些常见的问题:
1 使用不等于操作符(<>、!=)
下面的查询即使在cust_rating列有一个索引,查询语句仍然执行一次全表扫描。
  ......