参考网上资料,整理Oracle sql语法:
DDL:
①.、创建表
? ?根据已有的表创建新表:
? ?drop table?tabname
? ?说明:alter table?表名?rename to?新表名
? ? ?eg:alter table tablename?rename to newtablename
? ?说明:alter table?表名?add?(字段名 字段类型 默认值 是否为空);
? ? ?例:alter table tablename add (ID int);
? ?说明:alter table?表名?modify?(字段名 字段类型 默认值 是否为空);
? ?说明:alter table?表名?rename column?列名?to?新列名 (其中:column是关键字)
? ?eg:alter table tablename?rename column ID to newID;
? ?说明:alter table?表名?drop column?字段名;
? ?eg:alter table tablename?drop column ID;
? ?alter table?tabname?add primary key(col)
? ?alter table?tabname?drop primary key(col)
①.0、创建索引
? ?create?[unique]?index?idxname on tabname(col....)
①.1、删除索引
? ?drop index?idxname
?注:索引是不可更改的,想更改必须删除重新建.
?create view?viewname?as select 语句
?drop view?viewname
create tablespace schooltbs datafile 'D:\oracle\datasource\schooltbs.dbf' size 1000M autoextend on;
drop tablespace schooltbs[including contents and datafiles];
注:查询表空间和表空间存储路径
SELECT * FROM dba_data_files WHERE tablespace_name = 表空间名;
DML:
①.、数据查询
?select?列名?from?表名 [where?查询条件表达试] [order by?排序的列名[asc或desc]]
?insert into?表名?values(所有列的值);
?insert into?表名(列)?values(对应的值);
? ?update?表?set?列=新的值 [where?条件] --更新满足条件的记录
? ?update?表?set?列=新的值 --更新所有的数据
delete from?表名?where?条件 --删除满足条件的记录
? ?delete from test where id = 1;
? ?delete from test --删除所有
? ?commit; --提交数据
? ?rollback; --回滚数据
? ?delete方式可以恢复删除的数据,但是提交了,就没办法了 delete删除的时候,会记录日志 --删除会很慢很慢
truncate table?表名
? ?删除所有数据,不会影响表结构,不会记录日志,数据不能恢复 --删除很快
drop table?表名
? ?删除所有数据,包括表结构一并删除,不会记录日志,数据不能恢复--删除很快
表数据复制
复制表结构
复制表结构和数据
复制指定字段
建表,测试数据:
create?table?test
(收款标志?int)
insert?into?test?values?(1);
commit;
执行:
select?case
when?a.cnt?=?b.cnt?then
'未收款'
when?a.cnt?=?d.cnt?then
'已收款'
when?c.cnt?0?then
'部分收款'
end?收款状态
from?(select?count(*)?cnt?from?test)?a,
(select?count(*)?cnt?from?test?where?收款标志?=?1)?b,
结果:
然后你自己换点其他数据测试一下吧,思路就这么个思路了.
①.、首先我们先看一下我们的这个表信息.
update tb
where exsist (
select c.courseid
from tb c
你是要修改查询到的结果? 可以在查询语句中使用case when来根据条件得到不同的值:
from tb s;
这个是不是你想要的?
通过where .....and (or)...语句进行多条件查询即可.
sql:select * from tablename t where t.id =1 and t.name ='zhangsan'.
解释:and的意思是 "并且",两个条件同时满足的话才会输出.上面的sql意思就是:从tablename表中查询出id是1并且name是zhangsan的用户信息.
在Oracle中,可以使用instr函数对某个字符串进行判断,判断其是否含有指定的字符.其语法为:
eg: dbms_lob.instr(字段名(clod类型),'查询条件',1,1)
其中sourceString代表想要查询的字段;
destString代表查询条件;
start代表查找的开始位置,该参数可选的,默认为1;
appearPosition代表想从源字符中查找出第几次出现的destString,该参数也是可选的,默认为1;
如果start的值为负数,那么代表从右往左进行查找.
返回值为:当目标字符串没有在源字符串中找到,返回0;当源字符串或目标字符串为null,则返回null;
其他情况则返回目标字符串在源字符串中的其实位置
以上就是土嘎嘎小编为大家整理的oracle语法怎么条件查询相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!