Oracle数据库Sql语句详解大全

合集下载

ORACLE常用SQL语句大全

ORACLE常用SQL语句大全

ORACLE常用SQL语句大全一、基础1、说明:创建数据库CREATE DATABASE database-name2、说明:删除数据库drop database dbname3、说明:备份sql server--- 创建备份数据的 deviceUSE masterEXEC sp_addumpdevice 'disk', 'testBack', 'c:/mssql7backup/MyNwind_1.dat'--- 开始备份BACKUP DATABASE pubs TO testBack4、说明:创建新表create table tabname(col1 type1 [not null] [primary key],col2 type2 [not nul l],..)根据已有的表创建新表:A:select * into table_new from table_old (使用旧表创建新表)B:create table tab_new as select col1,col2… from tab_old definition only<仅适用于Oracle>5、说明:删除表drop table tablename6、说明:增加一个列,删除一个列A:alter table tabname add column col typeB:alter table tabname drop column colname注:DB2DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。

7、添加主键:Alter table tabname add primary key(col)删除主键:Alter table tabname drop primary key(col)8、创建索引:create [unique] index idxname on tabname(col….)删除索引:drop index idxname注:索引是不可更改的,想更改必须删除重新建。

oracle中的sql语句

oracle中的sql语句

Oracle中的SQL语句主要包括以下几种:1. SELECT:用于从数据库表中查询数据。

例如:SELECT column1, column2 FROM table_name;2. INSERT INTO:用于向数据库表中插入数据。

例如:INSERT INTO table_name (column1, column2) VALUES (value1, value2);3. UPDATE:用于更新数据库表中的数据。

例如:UPDATE table_name SET column1 = value1, column2 = value2 WHERE condition;4. DELETE:用于删除数据库表中的数据。

例如:DELETE FROM table_name WHERE condition;5. CREATE TABLE:用于创建数据库表。

例如:CREATE TABLE table_name (column1 datatype,column2 datatype,...);6. ALTER TABLE:用于修改数据库表的结构。

例如:ALTER TABLE table_name ADD COLUMN column_name datatype;7. DROP TABLE:用于删除数据库表。

例如:DROP TABLE table_name;8. CREATE INDEX:用于创建索引以提高查询性能。

例如:CREATE INDEX index_name ON table_name (column_name);9. DROP INDEX:用于删除索引。

例如:DROP INDEX index_name;10. CREATE VIEW:用于创建视图,以便在不实际执行查询的情况下查看查询结果。

例如:CREATE VIEW view_name AS SELECT column1, column2 FROM table_name WHERE condition;11. DROP VIEW:用于删除视图。

最新Oracle数据库Sql语句详解大全教学讲义PPT课件

最新Oracle数据库Sql语句详解大全教学讲义PPT课件
• 请查询出s_emp表中部门ID为50并且工资大于1500的员 工的信息:
SELECT * FROM s_emp WHERE salary>1500 and dept_id=50
WHERE条件查询-BETWEEN&IN
• 请查询出s_emp表中工资在1500到2000之间的员工信息:
SELECT * FROM s_emp WHERE salary between 1500 and 2000 • 请查询出s_dept表中region_id为1,3的部门信息:
SELECT * FROM s_emp WHERE dept_id=41 ORDER BY salary DESC
SQL> SELECTlast_name, dept_id, salary
2 FROM
s_emp
3 ORDER BYdept_id, salary DESC;
小结
Where条件查询 Between…and & In & Like 模糊查询 对查询结果排序
SELECT[DISTINCT] {*, column [alias], ...}
FROM
table
[WHERE
condition(s)]
[ORDER BY{column, expr, alias} [ASC|DESC]];
第三章 单行函数
本章目标
熟悉各种类型单行函数的使用 掌握转换函数的使用
两种SQL函数
• 请查询出当前用户下所有以‘s_’开头的表: SELECT table_name FROM user_tables WHERE table_name like 'S\_%' escape '\'

Oracle数据库Sql语句详解大全

Oracle数据库Sql语句详解大全
SELECT * FROM s_emp WHERE dept_id=41
ORDER BY salary DESC
SQL> SELECTlast_name, dept_id, salary
2 FROM
s_emp
3 ORDER BYdept_id, salary DESC;
学习改变命运,知 识创造未来
Oracle数据库Sql语句详解大全
运用算数表达式
• 括号可以改变运算符运算的优先顺序:
SQL> SELECT last_name, salary, 12 * salary + 100
2 FROM
s_emp;
...
Velasquez 2500 30100
SQL> SELECT last_name, salary, 12 * (salary + 100)
SELECT [DISTINCT] {*,column[alias],...} FROM table;
学习改变命运,知 识创造未来
Oracle数据库Sql语句详解大全
引言
学习改变命运,知 识创造未来
Oracle数据库Sql语知 识创造未来
Oracle数据库Sql语句详解大全
小结
Where条件查询 Between…and & In & Like 模糊查询 对查询结果排序
SELECT[DISTINCT] {*, column [alias], ...}
FROM
table
[WHERE
condition(s)]
[ORDER BY{column, expr, alias} [ASC|DESC]];
返回日期所在月的最后一天

oracle常用的sql语句

oracle常用的sql语句

一、简介Oracle是一种常见的数据库管理系统,广泛应用于各类企业和组织中。

在Oracle数据库中,SQL语句是对数据库进行操作的重要工具。

本文将介绍Oracle常用的SQL语句,包括查询、插入、更新、删除等操作,以帮助读者更好地理解和应用这些语句。

二、查询数据1. SELECT语句SELECT语句用于从数据库中检索数据,语法如下:```sqlSELECT column1, column2, ...FROM table_nameWHERE condition;```其中,column1, column2是要检索的列名,可以使用*代表所有列;table_name是要检索的表名;condition是筛选条件,可选。

2. DISTINCT关键字DISTINCT关键字用于返回唯一不同的值,语法如下:```sqlSELECT DISTINCT column1, column2, ...FROM table_name;```3. WHERE子句WHERE子句用于筛选满足条件的数据,可使用运算符(=、>、<等)和逻辑运算符(AND、OR、NOT等),语法如下:```sqlSELECT column1, column2, ...FROM table_nameWHERE condition1 AND condition2;```4. ORDER BY子句ORDER BY子句用于对结果集进行排序,语法如下:```sqlSELECT column1, column2, ...FROM table_nameORDER BY column1 DESC;```其中,DESC代表降序,ASC代表升序,默认为升序。

5. GROUP BY子句GROUP BY子句用于对结果集进行分组统计,常与聚合函数一起使用,语法如下:```sqlSELECT column1, SUM(column2)FROM table_nameGROUP BY column1;```三、插入、更新和删除数据1. INSERT INTO语句INSERT INTO语句用于向数据库中插入新记录,语法如下:```sqlINSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);```2. UPDATE语句UPDATE语句用于更新数据库中的记录,语法如下:```sqlUPDATE table_nameSET column1 = value1, column2 = value2, ... WHERE condition;```3. DELETE语句DELETE语句用于删除数据库中的记录,语法如下:```sqlDELETE FROM table_nameWHERE condition;```四、连接表和子查询1. JOIN子句JOIN子句用于连接多个表的数据,常用的有INNER JOIN、LEFT JOIN、RIGHT JOIN和FULL JOIN。

Oracle数据库常用Sql语句大全

Oracle数据库常用Sql语句大全

Oracle数据库常用Sql语句大全最简单的就是查询:select语句数据库操作语言DML:update、insert、delete等数据库定义语言DDL:create、drop、alter等等oracle取前几条数据语句sqlserver中可以用top n 的方法,oracle中用rownum,但如果只用rownum会随机取数据,如果想按一定顺序取前几条数据则可这样写:select * from (select列 from 表 where 条件 order by列 desc) where rownum<>select * from (select rownum r ,* from test) ttwhere tt.r 50 and tt.r <= 100;=””>这样子写是会全表扫描的的,小的表不觉得会有多慢,数据量大了你就知道有多不好了,改成这样就不会了oracle怎幺写”IF”语句?如果是 SQL 语句里面使用。

使用 DECODE 或者 CASE WHENDECODE 的用法就是DECODE(abc, 50, 'A’, 'B’)CASE WHEN 的用法就是CASE WHEN abc=50 THEN 'A’ ELSE 'B’ END如果是在存储过程里面的话,就是简单的 IF/ELSE 了SQL 语句的话,就是SELECTabc, DECODE(abc, 50, 'A’, 'B’)FROM表什幺是oracle实例,写出在oracle如何查找实例名的sql语句oracle数据库实例(instance_name)是用于和操作系统进行联系的标识,也就是说数据库和操作系统之间的交互使用的是数据库实例。

数据库名和实例名可以相同也可以不同。

在一般情况下,数据库名和实例名是一对一的关系,但如果在oracle并行服务器架构(即oracle实时应用集群)中,数据库名和实例名是一对多的关系。

Oracle-sql语句收集整理大全

Oracle-sql语句收集整理大全

∙ 帆软(中国)有限公司∙ 商务咨询电话:86-025-5186 2240∙ 商务咨询邮箱:business@ ∙公司网址:Oracle-sql 语句收集整理大全感谢FineReport 提供的材料和整理 FineReport ——报表技术领跑者 说明:复制表(只复制结构,源表名:a 新表名:b)SQL: select * into b from a where 1<>1说明:拷贝表(拷贝数据,源表名:a 目标表名:b)SQL: insert into b(a, b, c) select d,e,f from b;说明:显示文章、提交人和最后回复时间SQL: select a.title,ername,b.adddate from table a,(select max(adddate) adddate from table where table.title=a.title) b说明:外连接查询(表名1:a 表名2:b)SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c 说明:日程安排提前五分钟提醒SQL: select * from 日程安排 where datediff('minute',f 开始时间,getdate())>5说明:两张关联表,删除主表中已经在副表中没有的信息SQL:delete from info where not exists ( select * from infobz whereinfo.infid=infobz.infid )∙帆软(中国)有限公司∙商务咨询电话:86-025-5186 2240∙商务咨询邮箱:business@ ∙公司网址:说明:--SQL:SELECT A.NUM, , B.UPD_DATE, B.PREV_UPD_DATE FROM TABLE1,(SELECT X.NUM, X.UPD_DATE, Y.UPD_DATEPREV_UPD_DATE FROM (SELECT NUM, UPD_DATE, INBOUND_QTY, STOCK_ONHAND FROM TABLE2 WHERETO_CHAR(UPD_DATE,'YYYY/MM') = TO_CHAR(SYSDATE,'YYYY/MM')) X, (SELECT NUM, UPD_DATE, STOCK_ONHANDFROM TABLE2 WHERE TO_CHAR(UPD_DATE,'YYYY/MM') = TO_CHAR(TO_DATE(TO_CHAR(SYSDATE, 'YYYY/MM') &brvbar;&brvbar; '/01','YYYY/MM/DD') - 1, 'YYYY/MM') ) Y,WHERE X.NUM = Y.NUM (+)AND X.INBOUND_QTY + NVL(Y.STOCK_ONHAND,0) <> X.STOCK_ONHAND ) B WHEREA.NUM =B.NUM说明:--SQL:select * from studentinfo where not exists(select * from student where studentinfo.id=student.id) and 系名称='"&strdepartmentname&"' and 专业名称='"&strprofessionname&"' order by 性别,生源地,高考总成绩说明: 从数据库中去一年的各单位电话费统计(电话费定额贺电化肥清单两个表来源)SQL:SELECT erper, a.tel, a.standfee, TO_CHAR(a.telfeedate, 'yyyy') AS telyear, SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '01', a.factration)) AS JAN, SUM(decode(TO_CHAR(a.telfeedate,'mm'), '02', a.factration)) AS FRI,SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '03', a.factration))AS MAR, SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '04',a.factration)) AS APR, SUM(decode(TO_CHAR(a.telfeedate,'mm'), '05', a.factration)) AS MAY,SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '06', a.factration)) AS JUE,SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '07',a.factration)) AS JUL, SUM(decode(TO_CHAR(a.telfeedate,∙帆软(中国)有限公司∙商务咨询电话:86-025-5186 2240∙商务咨询邮箱:business@ ∙公司网址:'mm'), '08', a.factration)) AS AGU,SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '09', a.factration)) AS SEP, SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '10',a.factration)) AS OCT, SUM(decode(TO_CHAR(a.telfeedate,'mm'), '11', a.factration)) ASNOV,SUM(decode(TO_CHAR(a.telfeedate, 'mm'), '12',a.factration)) AS DEC FROM (SELECT erper, a.tel, a.standfee,b.telfeedate, b.factration FROM TELFEESTAND a, TELFEE b WHERE a.tel = b.telfax) a GROUP BY erper, a.tel, a.standfee,TO_CHAR(a.telfeedate, 'yyyy')说明:四表联查问题:SQL: select * from a left inner join b on a.a=b.b right inner join c ona.a=c.c inner join d on a.a=d.d where .....说明:得到表中最小的未使用的ID号SQL:SELECT (CASE WHEN EXISTS(SELECT * FROM Handle b WHEREb.HandleID = 1) THEN MIN(HandleID) + 1 ELSE 1 END) asHandleID FROM Handle WHERE NOT HandleID IN (SELECTa.HandleID - 1 FROM Handle a)一、简单查询简单的Transact-SQL查询只包括选择列表、FROM子句和WHERE子句。

ORACLE基本SQL语句

ORACLE基本SQL语句

ORACLE基本定义、操作语句一、表1.创建表CREATE TABLE TAB_NAME(COL_01 V ARCHAR2(10) NOT NULL,COL_02 NUMBER(8,2),COL_03 DATE);2.添加主键约束ALTER TABLE TAB_NAME ADD CONSTRAINT PK_COL_01 PRIMARY KEY(COL_01); 3.添加唯一性约束ALTER TABLE TAB_NAME ADD CONSTRAINT UK_COL_02 UNIQUE(COL_02);4.添加外键约束ALTER TABLE TAB_NAME ADD CONSTRAINT FK_COL0_03 FOREIGN KEY(COL_03) REFERENCES TAB_2(COL_03);5.添加check约束ALTER TABLE TAB_NAME ADD CONSTRAINT CHK_COL_03 CHECK(COL_01 <> ‘ABC’);6.创建索引――创建唯一索引CREATE UNIQUE INDEX IDX_NAME ON TAB_NAME(COL_01);――创建非唯一索引CREATE INDEX IDX_NAME ON TAB_NAME(COL_01);7.给表添加一个新列ALTER TABLE TAB_NAME ADD COL_04 V ARCHAR2(10);8.修改列的数据类型ALTER TABLE TAB_NAME MODIFY COL_04 NUMBER(8);9.删除一列ALTER TABLE TAB_NAME DROP COLUMN COL_04;10.更改表的名称ALTER TABLE TAB_NAME RENAME TO TAB_NEW_NAME;11.更改表的列名ALTER TABLE TAB_NAME RENAME COLUMN COL_04 TO COL_05;12.给表和列添加注释说明--add comments to the tableCOMMENT ON TABLE TAB_NAME IS‘示例表’;--add comments to the columnCOMMENT ON COLUMN TAB_NAME.COL_01 IS‘列名’;13.删除表DROP TABLE TAB_NAME;14.MERGEmerge into tj_test1 tt1using tj_test tton (tt1.id=tt.id)when matched thenupdate set=,tt1.age=tt.agewhen not matched theninsert values(tt.id,,tt.age)alter table Tab_Name modify(字段varchar(20), 字段varchar(50));二、视图1.创建视图CREATE OR REPLACE VIEW VW_NAME ASSELECT A.COL_01,A.COL_02,A.COL_03,B.COL_04FROM TAB_ONE A,TAB_TWO BWHERE A.COL_01 = B.COL_01;三、序列1.创建序列CREATE SEQUENCE SQ_NAMEINCREMENT BY 10 --序列增量START WITH 20 --开始值MAXV ALUE 1000 --最大值MINV ALUE 20 --最小值NOCACHE /*如果要指定cache给序列,应该写成CACHE N其中N为要指定的数值*/NOCYCLE; /*如果序列到了最大值还要继续取值,就写成CYCLE*/2.修改序列ALTER SEQUENCE SQ_NAMEINCREMENT BY 10 --序列增量START WITH 20 --开始值MAXV ALUE 1000 --最大值MINV ALUE 20 --最小值CACHE 5CYCLE;注:如果想要按不同的值从新开始一个序列,该序列必须删掉重建四、同义词1.创建同义词CREATE SYNONYM SY_NAME FOR TAB_NAME;五、函数创建函数CREATE OR REPLACE FUNCTION FN_NAME([参数1],[参数2],[…..]) RETURN return_typeAS--定义变量BEGIN--函数内容Return [返回值];END;六、存储过程创建过程CREATE OR REPLACE PROCEDURE SP_NAME([参数1],[参数2],[…..]) AS--定义变量BEGIN--过程内容END;七、触发器创建过程CREATE OR REPLACE TRIGGER TR_NAMEAFTER[BEFORE ] [INSERT/UPDATE/DROP] ON TAB_NAMEREFERENCING OLD AS old NEW AS newFOR EACH ROWDECLARE--定义变量BEGIN--触发器内容END;八、包和包体创建包CREATE OR REPLACE PACKAGE PK_NAMEAS--包内容END PK_NAME;创建保体CREATE OR REPLACE PACKAGE BODY PK_NAMEAS--包体的内容END PK_NAME;九、用户1.创建一个用户CREATE USER USR_NAMEIDENTIFIED BY PASSWORDDEFAULT TABLESPACE TAB_SPACE_NAMETEMPORARY TABLESPACE TMP_TABSPACE_NAMEPROFILE DEFAULT;2.给该用户授权GRANT权限类型TO USR_NAME;3.撤销用户权限REVOKE权限类型FROM USR_NAME;4.修改用户密码ALTER USER USR_NAME IDENTIFIED BY NEW_PSD;5.设定用户缺省的角色ALTER USER USR_NAME DEFAULT ROLE ROLE_NAME;设定缺省角色后,用户登陆后就只有该缺省的角色权限了。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档