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语句ORACLE 常用的SQL语法和数据对象一.数据控制语句(DML) 部分1.INSER T (往数据表里插入记录的语句)INSERT INTO 表名(字段名1, 字段名2, ……) VALUES ( 值1, 值2, ……);INSERT INTO 表名(字段名1, 字段名2, ……) SELECT (字段名1, 字段名2, ……) FROM 另外的表名;字符串类型的字段值必须用单引号括起来, 例如: ’GOOD DAY’如果字段值里包含单引号’ 需要进行字符串转换, 我们把它替换成两个单引号''.字符串类型的字段值超过定义的长度会出错, 最好在插入前进行长度校验.日期字段的字段值可以用当前数据库的系统时间SYSDATE, 精确到秒或者用字符串转换成日期型函数TO_DATE(‘2001-08-01’,’YYYY-MM-DD’)TO_DATE()还有很多种日期格式, 可以参看OR ACLE DOC.年-月-日小时:分钟:秒的格式YYYY-MM-DD HH24:MI:SSINSERT时最大可操作的字符串长度小于等于4000个单字节, 如果要插入更长的字符串, 请考虑字段用CLOB类型,方法借用ORACLE里自带的DBMS_LOB程序包.INSERT时如果要用到从1开始自动增长的序列号, 应该先建立一个序列号CREATE SEQUENCE 序列号的名称(最好是表名+序列号标记) INCREMENT BY 1 START WI TH 1 MAXVALUE 99999 CYCLE NOCACHE;其中最大的值按字段的长度来定, 如果定义的自动增长的序列号NUMBER(6) , 最大值为999999 INSERT 语句插入这个字段值为: 序列号的名称.NEXTVAL2.DELETE (删除数据表里记录的语句)DELETE FROM表名 WHERE 条件;注意:删除记录并不能释放ORACLE里被占用的数据块表空间. 它只把那些被删除的数据块标成unused.如果确实要删除一个大表里的全部记录, 可以用TRUNCATE 命令, 它可以释放占用的数据块表空间TRUNCATE TABLE 表名;此操作不可回退.3.UPDATE (修改数据表里记录的语句)UPDATE表名SET 字段名1=值1, 字段名2=值2, …… WHERE 条件;如果修改的值N没有赋值或定义时, 将把原来的记录内容清为NULL, 最好在修改前进行非空校验;值N超过定义的长度会出错, 最好在插入前进行长度校验..注意事项:A. 以上SQL语句对表都加上了行级锁,确认完成后, 必须加上事物处理结束的命令COMMIT 才能正式生效,否则改变不一定写入数据库里.如果想撤回这些操作, 可以用命令ROLLBACK 复原.B. 在运行INSERT, DELETE 和UPDATE 语句前最好估算一下可能操作的记录范围,应该把它限定在较小(一万条记录) 范围内,. 否则ORACLE处理这个事物用到很大的回退段.程序响应慢甚至失去响应. 如果记录数上十万以上这些操作, 可以把这些SQL语句分段分次完成, 其间加上COMMIT 确认事物处理.二.数据定义(DDL) 部分1.CREATE (创建表, 索引, 视图, 同义词, 过程, 函数, 数据库链接等)ORACLE常用的字段类型有CHAR 固定长度的字符串VARCHAR2 可变长度的字符串NUMBER(M,N) 数字型M是位数总长度, N是小数的长度DATE 日期类型创建表时要把较小的不为空的字段放在前面, 可能为空的字段放在后面创建表时可以用中文的字段名, 但最好还是用英文的字段名创建表时可以给字段加上默认值, 例如DEFAUL T SYSDATE这样每次插入和修改时, 不用程序操作这个字段都能得到动作的时间创建表时可以给字段加上约束条件例如不允许重复UNIQUE, 关键字PRIMAR Y KEY2.AL TER (改变表, 索引, 视图等)改变表的名称AL TER TABLE 表名1 TO 表名2;在表的后面增加一个字段AL TER TABLE表名ADD 字段名字段名描述;修改表里字段的定义描述AL TER TABLE表名MODIFY字段名字段名描述;给表里的字段加上约束条件AL TER TABLE 表名ADD CONSTRAINT 约束名PRIMAR Y KEY (字段名);AL TER TABLE 表名ADD CONSTRAINT 约束名UNIQUE (字段名);把表放在或取出数据库的内存区AL TER TABLE 表名CACHE;AL TER TABLE 表名NOCACHE;3.DROP (删除表, 索引, 视图, 同义词, 过程, 函数, 数据库链接等)删除表和它所有的约束条件DROP TABLE 表名CASCADE CONSTRAINTS;4.TRUNCATE (清空表里的所有记录, 保留表的结构)TRUNCATE 表名;三.查询语句(SELECT) 部分SELECT字段名1, 字段名2, …… FROM 表名1, [表名2, ……] WHERE 条件;字段名可以带入函数例如: COUNT(*), MIN(字段名), MAX(字段名), AVG(字段名), DISTINCT(字段名), TO_CHAR(DATE字段名,'YYYY-MM-DD HH24:MI:SS')NVL(EXPR1, EXPR2)函数解释:IF EXPR1=NULLRETURN EXPR2ELSERETURN EXPR1DECODE(AA﹐V1﹐R1﹐V2﹐R2....)函数解释:IF AA=V1 THEN RETURN R1IF AA=V2 THEN RETURN R2..…ELSERETURN NULLLPAD(char1,n,char2)函数解释:字符char1按制定的位数n显示,不足的位数用char2字符串替换左边的空位字段名之间可以进行算术运算例如: (字段名1*字段名1)/3查询语句可以嵌套例如: SELECT …… FROM(SELECT …… FROM表名1, [表名2, ……] WHERE 条件) WHERE 条件2;两个查询语句的结果可以做集合操作例如: 并集UNION(去掉重复记录), 并集UNION ALL(不去掉重复记录), 差集MINUS, 交集INTERSECT分组查询SELECT字段名1, 字段名2, …… FROM 表名1, [表名2, ……] GROUP BY字段名1[HAVING 条件] ;两个以上表之间的连接查询SELECT字段名1, 字段名2, …… FROM 表名1, [表名2, ……] WHERE表名1.字段名= 表名2. 字段名[ AND ……] ;SELECT字段名1, 字段名2, …… FROM 表名1, [表名2, ……] WHERE表名1.字段名= 表名2. 字段名(+) [ AND ……] ;有(+)号的字段位置自动补空值查询结果集的排序操作, 默认的排序是升序ASC, 降序是DESCSELECT字段名1, 字段名2, …… FROM 表名1, [表名2, ……]ORDER BY字段名1, 字段名2 DESC;字符串模糊比较的方法INSTR(字段名, ‘字符串’)>0字段名LIKE ‘字符串%’[‘%字符串%’]每个表都有一个隐含的字段ROWID, 它标记着记录的唯一性.四.ORACLE里常用的数据对象 (SCHEMA)1.索引(INDEX)CREATE INDEX 索引名ON 表名( 字段1, [字段2, ……] );AL TER INDEX 索引名REBUILD;一个表的索引最好不要超过三个(特殊的大表除外), 最好用单字段索引, 结合SQL语句的分析执行情况, 也可以建立多字段的组合索引和基于函数的索引ORACLE8.1.7字符串可以索引的最大长度为1578 单字节ORACLE8.0.6字符串可以索引的最大长度为758 单字节2.视图(VIEW)CREATE VIEW 视图名AS SELECT …. FROM …..;AL TER VIEW视图名COMPILE;视图仅是一个SQL查询语句, 它可以把表之间复杂的关系简洁化.3.同义词(SYNONMY)CREATE SYNONYM同义词名FOR 表名;CREATE SYNONYM同义词名FOR 表名@数据库链接名;4.数据库链接(DATABASE LINK)CREATE DATABASE LINK数据库链接名CONNECT TO 用户名IDENTIFIED BY 密码USING ‘数据库连接字符串’;数据库连接字符串可以用NET8 EASY CONFIG或者直接修改TNSNAMES.ORA里定义.数据库参数global_name=true时要求数据库链接名称跟远端数据库名称一样数据库全局名称可以用以下命令查出SELECT * FROM GLOBAL_NAME;查询远端数据库里的表SELECT …… FROM 表名@数据库链接名;五.权限管理(DCL) 语句1.GRANT 赋于权限常用的系统权限集合有以下三个:CONNECT(基本的连接), RESOURCE(程序开发), DBA(数据库管理)常用的数据对象权限有以下五个:ALL ON 数据对象名, SELECT ON 数据对象名, UPDATE ON 数据对象名, DELETE ON 数据对象名, INSER T ON 数据对象名, AL TER ON 数据对象名GRANT CONNECT, RESOURCE TO 用户名;GRANT SELECT ON 表名 TO 用户名;GRANT SELECT, INSERT, DELETE ON表名 TO 用户名1, 用户名2;2.REVOKE 回收权限REVOKE CONNECT, RESOURCE FROM 用户名;REVOKE SELECT ON 表名FROM 用户名;REVOKE SELECT, INSERT, DELETE ON表名FROM 用户名1, 用户名2;查询数据库中第63号错误:select orgaddr,destaddr from sm_histable0116 where error_code='63';查询数据库中开户用户最大提交和最大下发数:select MSISDN,TCOS,OCOS from ms_usertable;查询数据库中各种错误代码的总和:select error_code,count(*) from sm_histable0513 group by error_code orderby error_code;查询报表数据库中话单统计种类查询。

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数据库语句汇总

oracle数据库语句汇总在Oracle数据库中,有许多常用的SQL语句可以用于查询、插入、更新和删除数据。

下面列举了一些常见的Oracle数据库语句,以供参考。

1. 查询表中的所有数据:```SELECT * FROM 表名;```2. 查询表中的特定字段数据:```SELECT 字段1, 字段2, ... FROM 表名;```3. 查询表中满足特定条件的数据:```SELECT * FROM 表名 WHERE 条件;```4. 对查询结果进行排序:```SELECT * FROM 表名 ORDER BY 字段 ASC/DESC;```5. 对查询结果进行分组:```SELECT 字段1, 字段2, ... FROM 表名 GROUP BY 字段;```6. 对查询结果进行统计:```SELECT COUNT(*) FROM 表名;```7. 插入数据到表中:```INSERT INTO 表名(字段1, 字段2, ...) VALUES (值1, 值2, ...);```8. 更新表中的数据:```UPDATE 表名 SET 字段1 = 值1, 字段2 = 值2 WHERE 条件;9. 删除表中的数据:```DELETE FROM 表名 WHERE 条件;```10. 创建新表:```CREATE TABLE 表名 (字段1 数据类型,字段2 数据类型,...);```11. 修改表结构:```ALTER TABLE 表名 ADD (字段数据类型); ```12. 删除表:DROP TABLE 表名;```13. 创建索引:```CREATE INDEX 索引名 ON 表名 (字段);```14. 删除索引:```DROP INDEX 索引名;```15. 创建视图:```CREATE VIEW 视图名 AS SELECT * FROM 表名 WHERE 条件; ```16. 删除视图:```DROP VIEW 视图名;17. 创建存储过程:```CREATE PROCEDURE 存储过程名ISBEGIN-- 存储过程的具体逻辑END;```18. 调用存储过程:```EXEC 存储过程名;```以上是一些常见的Oracle数据库语句,可以满足大部分基本的数据操作需求。

oracle数据库常用语句大全

Oracle数据库是甲骨文公司的一款关系数据库管理系统,它在数据库领域一直处于领先地位。

以下是Oracle数据库常用的一些SQL语句:SELECT:查询语句,用于从一个或多个表中检索数据。

例如:sqlSELECT column1, column2 FROM table_name;INSERT:插入语句,用于向表中插入新记录。

例如:sqlINSERT INTO table_name (column1, column2) VALUES (value1, value2);UPDATE:更新语句,用于修改表中的数据。

例如:sqlUPDATE table_name SET column1 = value1, column2 = value2 WHERE condition;DELETE:删除语句,用于从表中删除记录。

例如:sqlDELETE FROM table_name WHERE condition;CREATE TABLE:创建表语句,用于创建新的数据库表。

例如:scssCREATE TABLE table_name (column1 datatype, column2 datatype, ...);ALTER TABLE:修改表语句,用于添加、删除或修改表中的列。

例如:sqlALTER TABLE table_name ADD column_name datatype;ALTER TABLE table_name DROP COLUMN column_name;ALTER TABLE table_name MODIFY COLUMN column_name datatype; WHERE:条件语句,用于在查询中过滤数据。

例如:sqlSELECT * FROM table_name WHERE condition;GROUP BY:分组语句,用于将查询结果分组。

在使用GROUP BY时,SELECT子句中的列表中的所有个体值(除聚组函数avg、count等外)必须是GROUP BY子句中的表达式或常量。

oracle的sql语句

oracle的sql语句Oracle的SQL语句可以用于查询、插入、更新和删除数据库中的数据。

以下是一些常见的Oracle SQL语句示例:1. 查询数据:- 查询所有记录:SELECT * FROM 表名;- 查询指定列:SELECT 列名1, 列名2 FROM 表名;- 带条件查询:SELECT * FROM 表名 WHERE 条件;- 排序查询:SELECT * FROM 表名 ORDER BY 列名ASC/DESC;- 分组查询:SELECT 列名, COUNT(*) FROM 表名GROUP BY 列名;2. 插入数据:- 插入单条记录:INSERT INTO 表名 (列1, 列2) VALUES (值1, 值2);- 插入多条记录:INSERT INTO 表名 (列1, 列2) VALUES (值1, 值2), (值3, 值4), ...;3. 更新数据:- 更新单个字段:UPDATE 表名 SET 列名 = 新值WHERE 条件;- 更新多个字段:UPDATE 表名 SET 列名1 = 新值1, 列名2 = 新值2 WHERE 条件;4. 删除数据:- 删除所有记录:DELETE FROM 表名;- 删除满足条件的记录:DELETE FROM 表名 WHERE 条件;5. 聚合函数:- 计算总数:SELECT COUNT(*) FROM 表名;- 计算平均值:SELECT AVG(列名) FROM 表名;- 计算最大值:SELECT MAX(列名) FROM 表名;- 计算最小值:SELECT MIN(列名) FROM 表名;- 计算求和:SELECT SUM(列名) FROM 表名;这些只是一些常见的Oracle SQL语句示例,实际使用中还可以结合其他语句和函数进行更复杂的查询和操作。

oracle常用sql语句

创建表Create table student(id number(5));用查询结果创建新表这个命令是一种快捷的建表方式CREATE TABLE mytable (id, name, sal, job, deptno) as SELECT empno, ename, sal, job, deptno FROM emp;修改表添加一个字段Alter table student add (name varchar2(10));修改一个字段的长度alter table student modify (name varchar2(20))修改一个字段的类型,名字(里面不能有数据)Alter table student modify(name varchar2(20))删除一个字段//不建议,因为顺序变了Alter table student drop column name修改表的名字Rename student to stu;删除表Drop table student添加数据Insert into student values(‘1’,’01-5月-15’)Insert into student (id,name) values(‘1’,’zhanshan’)Insert into student (id,name) values(‘1’,null);修改数据Update student set name=‘你好’ where id=1UPDATE student SET sex = '男', birthday = '1984-04-01' WHERE xh = 'A001';删除数据Savepoint aDelete from empRollback to aDrop table student—删除表的数据和结构Delete from emp where id=?查看表的结构Desc empSelete ename from emp –查看一列Select distinct deptno from emp 取消重复的行Selete ename from emp where ename=?oracle内容分大小写,字段不分NvlSelect sal*12+nvl(comm,0)“年薪” from emp null的加减乘除都为null||连接符Select ename || ‘is a’|| job from empLike % 0到多个字符 -一个字符Select * from emp where ename=’S%’Where中使用inSelect * from emp where deptno in(????,????,????)Is nullSelect * from emp where comm. Is null使用逻辑操作符andSELECT * FROM emp WHERE (sal >500 or job = 'MANAGER') and ename LIKE 'J%';Order by 默认是asc升序还有desc降序Select * from emp order by sal使用别名别名需要使用“”号圈中,英文不需要“”号Select sal*12 “年薪” from emp order by “年薪”数据分组Select max(sal),min(sal),avg(sal),sum(.),count(.) from emp错误写法:select ename, sal from emp where sal=max(sal);正确写法:select ename, sal from emp where sal=(select max(sal) from emp);Group by havingSelect max(sal) deptno from emp group by deptno;Select max(sal) deptno from emp group by deptno having sal >1000;顺序 group by having order by多表查询SELECT e.ename, e.sal, d.dname FROM emp e, dept d WHERE e.deptno = d.deptno;SELECT d.dname, e.ename, e.sal FROM emp e, dept d WHERE e.deptno = d.deptnoand e.deptno = 10;自连接SELECT worker.ename, boss.ename FROM emp worker,emp boss WHERE worker.mgr = boss.empno AND worker.ename = 'FORD';子查询嵌套查询单行子查询SELECT * FROM emp WHERE deptno = (select deptno from emp WHERE ename ='SMITH');数据库在执行sql 是从左到右扫描的,如果有括号的话,括号里面的先被优先执行。

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