oracle基本操作语句(适合初学者)

合集下载

oracle数据库基本语句

oracle数据库基本语句

oracle数据库基本语句oracle 数据库是一种常用的关系型数据库管理系统,常用的oracle数据库包括oracle10g、oracle11g和oracle12c。

要掌握oracle的基本用法,必须掌握其基本的语句。

oracle的常用基本语句有:一、数据定义语言(DDL)1、创建数据表:CREATE TABLE 表名(字段名数据类型[完整性约束条件],字段名数据类型[完整性约束条件],……);2、修改数据表: ALTER TABLE 表名 ADD(字段名数据类型[完整性约束条件],字段名数据类型[完整性约束条件],……);3、删除数据表: DROP TABLE 表名;4、创建索引:CREATE [UNIQUE] INDEX 索引名ON 表名[字段名[,字段名];5、删除索引: DROP INDEX 索引名;三、数据控制语言(DCL)1、建立用户: CREATE USER 用户名 IDENTIFIED BY 密码;2、删除用户: DROP USER 用户名;3、授权:GRANT 权限 ON 对象 TO 用户[WITH GRANT OPTION];4、回收授权: REVOKR 权限 ON 对象 FROM 用户;5、控制事务: COMMIT/ROLLBACK;四、数据库控制语言(DBCL)1、创建数据库:CREATE DATABASE 数据库名;2、删除数据库: DROP DATABASE 数据库名;3、创建表空间:CREATE TABLESPACE 表空间名 SEGMENT SPACE MANAGEMENT 自动;4、删除表空间: DROP TABLESPACE 表空间名;5、管理会话: ALTER SYSTEM KILL SESSION ['会话号'];。

oracle语法大全

oracle语法大全

第一篇基本操作--解锁用户alter user 用户account unlock;--锁定用户alter user 用户account lock;alter user scott account unlock;--创建一个用户yc 密码为a create user 用户名identified by 密码;create user yc identified by a;--登录不成功,会缺少create session 权限,赋予权限的语法grant 权限名to 用户;grant create session to yc;--修改密码alter user 用户名identified by 新密码;alter user yc identified by b;--删除用户drop user yc ;--查询表空间select *from dba_tablespaces;--查询用户信息select *from dba_users;--创建表空间create tablespace ycspacedatafile 'E:\oracle\app\product\11.2.0\dbhome_1\oradata\ycspace.dbf'size 2mautoextend on next 2m maxsize 5moffline ;--创建临时表空间create temporary yctempspacetempfile 'E:\oracle\app\product\11.2.0\dbhome_1\oradata\ycspace.dbf'size 2mautoextend on next 2m maxsize 5moffline ;--查询数据文件select *from dba_data_files;--修改表空间--1、修改表空间的状态--默认情况下是online,只有在非离线情况下才可以进行修改alter tablespace ycspace offline ; --离线状态,不允许任何对象对该表空间的使用,使用情况:应用需要更新或维护的时候;数据库备份的时候alter tablespace ycspace read write;--读写状态alter tablespace ycspace online;alter tablespace ycspace read only; --只读,可以查询信息,可以删除表空间的对象,但是不能创建对象和修改对象。

OracleDDL语句及基本操作

OracleDDL语句及基本操作

OracleDDL语句及基本操作DDL语句create、alter、drop、truncate数据定义 (DDL) 部分⼀、create语句基本语法:CREATE (创建表, 索引, 视图, 同义词, 过程, 函数, 数据库链接等)常⽤的字段类型有CHAR 固定长度的字符串VARCHAR2 可变长度的字符串NUMBER (M,N) 数字型M是位数总长度, N是⼩数的长度DATE ⽇期类型INT 整数型创建表时要把较⼩的不为空的字段放在前⾯, 可能为空的字段放在后⾯,创建表时可以⽤中⽂的字段名, 但最好还是⽤英⽂的字段名,创建表时可以给字段加上默认值, 例如 DEFAULT SYSDATE这样每次插⼊和修改时, 不⽤程序操作这个字段都能得到动作的时间创建表时可以给字段加上约束条件例如:不允许重复 UNIQUE , 主键 PRIMARY KEY ,外键Foreign key⼆、alter语句语法 ALTER (改变表, 索引, 视图等)1.改变表名ALTER TABLE 表名1 TO 表名2;2.增加字段ALTER TABLE表名 ADD 字段名(列)字段名描述;增加⼀列ALTER TABLE table_name ADD column_1 DATE NOT NULL;ALTER TABLE table_name ADD column_2 VARCHAR2(44) DEFAULT '';ALTER TABLE table_name ADD column_3 number(28,10);增加多列ALTER TABLE table_nameADD (column_1 type constraint,--列名类型约束column_2 type constraint,...);3.删除字段删除⼀列ALTER TABLE table_name DROP COLUMN column_name;删除多列ALTER TABLE table_name DROP (column_1,column_2,...);4.修改表⾥字段的定义描述ALTER TABLE表名 MODIFY 字段名字段名描述;5.给表⾥的字段加上约束条件ALTER TABLE 表名 ADD CONSTRAINT 约束名 PRIMARY KEY (字段名);ALTER TABLE 表名 ADD CONSTRAINT 约束名 UNIQUE (字段名);5.把表放在或取出数据库的内存区ALTER TABLE 表名 CACHE;ALTER TABLE 表名 NOCACHE;三、drop语句基本语法:DROP (删除表, 索引, 视图, 同义词, 过程, 函数, 数据库链接等)删除表和它所有的约束条件DROP TABLE 表名 CASCADE CONSTRAINTS四、 TRUNCATE (清空表⾥的所有记录, 保留表的结构)TRUNCATE 表名;。

常用oracle数据库命令

常用oracle数据库命令

常用oracle数据库命令
1. 启动Oracle数据库
$ sqlplus /nolog
SQL> connect / as sysdba
SQL> startup
3. 创建表空间
创建表空间的命令是:
SQL> create tablespace 表空间名 datafile '路径名' size 大小;
6. 创建用户
7. 删除用户
删除用户的命令是:
8. 授权用户
SQL> grant 权限 to 用户名;
9. 撤销用户的权限
11. 查看表结构
查看表结构的命令是:
SQL> desc 表名;
SQL> create table 表名 (列名数据类型, 列名数据类型, …);
13. 删除表
14. 插入数据
插入数据的命令是:
SQL> update 表名 set 列名=新值 where 某条件;
18. 创建索引
20. 查看索引
21. 查询相关信息
查询相关信息的命令是:
SQL> select * from v$session; -- 查看会话 22. 查看数据库版本
24. 备份数据库
$ exp 用户名/密码 file=备份文件路径备注:以上命令均需要在Oracle登录后进行。

Oracle数据库基础知识:SELECT语句

Oracle数据库基础知识:SELECT语句

Oracle数据库基础知识:SELECT语句Oracle数据库基础知识:SELECT语句SELECT语句是指用来查询、添加、和删除数据库中数据的语句, 和删除数据库中数据的语句 , 它们是 SELECT 、 INSERT 、 UPDATE 、DELETE等. 下面是Oracle数据库基础知识——SELECT语句,希望对大家有所帮助!普通用户连接conn scott/tiger超级管理员连接conn “sys/sys as sysdba”Disconnect 断开连接把SQL存到文件 save c:\1.txtEd c:\1.txt编辑SQL语句@c:\1.txt运行SQL语句Desc emp描述EMP结构Select * from tab 查看该用户下大所有对象Show user显示当前用户书写SQL语句的原则大小写不敏感,但单引和双引内的大小写是敏感的。

切记!关键字不能缩写可以分行书写,但关键字不能被跨行书写,单引内也不要跨行书写。

一般每个子句是一行可以排版来增加可读性字符串用单引列的别名用双引SELECT语句1、简单的Select语句Select * from table 不指定查询的字段Select attr1,attr2 from table指定查询某些字段Select attr1,attr2 from table where attr1=xxx查询符合条件的指定字段2、使用算术表达式 + - / *表达式的运算是有优先级的,和程序中的.一样,先乘除后加减,括号强制优先级.+ - * /先乘除,后加减,括号强制优先级Select ename,12*sal+300 from emp;Select ename,12*(sal+300) from emp;3、连接运算符 ||4、使用字段别名 as别名的使用原则1。

区分同名列的名称2。

非法的表达式合法化3。

按照你的意愿显示列的名称4。

特殊的别名要双引5。

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语法大全

oracle语法大全

第一篇基本操作--解锁用户alter user 用户account unlock;--锁定用户alter user 用户account lock;alter user scott account unlock;--创建一个用户yc 密码为a create user 用户名identified by 密码;create user yc identified by a;--登录不成功,会缺少create session 权限,赋予权限的语法grant 权限名to 用户;grant create session to yc;--修改密码alter user 用户名identified by 新密码;alter user yc identified by b;--删除用户drop user yc ;--查询表空间select *from dba_tablespaces;--查询用户信息select *from dba_users;--创建表空间create tablespace ycspacedatafile 'E:\oracle\app\product\11.2.0\dbhome_1\oradata\ycspace.dbf'size 2mautoextend on next 2m maxsize 5moffline ;--创建临时表空间create temporary yctempspacetempfile 'E:\oracle\app\product\11.2.0\dbhome_1\oradata\ycspace.dbf'size 2mautoextend on next 2m maxsize 5moffline ;--查询数据文件select *from dba_data_files;--修改表空间--1、修改表空间的状态--默认情况下是online,只有在非离线情况下才可以进行修改alter tablespace ycspace offline ; --离线状态,不允许任何对象对该表空间的使用,使用情况:应用需要更新或维护的时候;数据库备份的时候alter tablespace ycspace read write;--读写状态alter tablespace ycspace online;alter tablespace ycspace read only; --只读,可以查询信息,可以删除表空间的对象,但是不能创建对象和修改对象。

Oracle常用命令大全(很有用,做笔记)

Oracle常用命令大全(很有用,做笔记)

Oracle常⽤命令⼤全(很有⽤,做笔记)⼀、ORACLE的启动和关闭1、在单机环境下要想启动或关闭ORACLE系统必须⾸先切换到ORACLE⽤户,如下su - oraclea、启动ORACLE系统oracle>svrmgrlSVRMGR>connect internalSVRMGR>startupSVRMGR>quitb、关闭ORACLE系统oracle>svrmgrlSVRMGR>connect internalSVRMGR>shutdownSVRMGR>quit启动oracle9i数据库命令:$ sqlplus /nologSQL*Plus: Release 9.2.0.1.0 - Production on Fri Oct 31 13:53:53 2003Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.SQL> connect / as sysdbaConnected to an idle instance.SQL> startup^CSQL> startupORACLE instance started.2、在双机环境下要想启动或关闭ORACLE系统必须⾸先切换到root⽤户,如下su - roota、启动ORACLE系统hareg -y oracleb、关闭ORACLE系统hareg -n oracleOracle数据库有哪⼏种启动⽅式说明:有以下⼏种启动⽅式:1、startup nomount⾮安装启动,这种⽅式启动下可执⾏:重建控制⽂件、重建数据库读取init.ora⽂件,启动instance,即启动SGA和后台进程,这种启动只需要init.ora⽂件。

2、startup mount dbname安装启动,这种⽅式启动下可执⾏:数据库⽇志归档、数据库介质恢复、使数据⽂件联机或脱机,重新定位数据⽂件、重做⽇志⽂件。

Oracle数据库语句大全

Oracle数据库语句大全

Oracle数据库语句大全一.入门部分1.创建表空间create tablespace schooltbs datafile ‘D:\oracle\datasource\schooltbs.dbf’ size 10M autoextend on;2.删除表空间drop tablespace schooltbs[including contents and datafiles];3.查询表空间基本信息select *||tablespace_name from DBA_TABLESPACES;4.创建用户create user lihuaidentified by lihuadefault tablespace schooltbstemporary tablespace temp;5.更改用户alter user lihuaidentified by 123default tablespace users;6.锁定用户alter user lihua account lock|unlock;7.删除用户drop user lihua cascade;--删除用户模式8.oracle数据库中的角色connect,dba,select_catalog_role,delete_catalog_role,execute_catalo g_role,exp_full_database,imp_full_database,resource9.授予连接服务器的角色grant connect to lihua;10.授予使用表空间的角色grant resource to lihua with grant option;--该用户也有授权的权限11.授予操作表的权限grant select,insert on user_tbl to scott;--当前用户grant delete,update on er_tbl to scott;--系统管理员二.SQL查询和SQL函数1.SQl支持的命令:数据定义语言(DDL):create,alter,drop数据操纵语言(DML):insert,delete,update,select数据控制语言(DCL):grant,revoke事务控制语言(TCL):commit,savepoint,rollback2.Oracle数据类型字符,数值,日期,RAW,LOB字符型char:1-2000字节的定长字符varchar2:1-4000字节的变长字符long:2GB的变长字符注意:一个表中最多可有一列为long型Long列不能定义唯一约束或主键约束long列上不能创建索引过程或存储过程不能接受long类型的参数。

oracle19c常用命令

oracle19c常用命令

oracle19c常用命令数据库启动、关闭和状态检查•启动数据库:SqlSQL> STARTUP; # 启动数据库,默认为读写模式SQL> STARTUP MOUNT; # 只装载数据库但不打开SQL> STARTUP OPEN READ ONLY; # 以只读模式打开数据库•关闭数据库:SqlSQL> SHUTDOWN; # 正常关闭数据库,等待所有会话结束SQL> SHUTDOWN IMMEDIATE; # 立即关闭数据库,断开所有会话SQL> SHUTDOWN TRANSACTIONAL; # 在事务结束后关闭数据库SQL> SHUTDOWN ABORT; # 强制立即关闭数据库,可能导致数据丢失•查看数据库状态:SqlSQL> SELECT DATABASE_STATUS FROM V$INSTANCE;SQL> SELECT INSTANCE_NAME, STATUS FROM V$INSTANCE;用户管理•创建用户并分配表空间:SqlCREATE USER username IDENTIFIED BY password DEFAULTTABLESPACE users QUOTA UNLIMITED ON users;•给用户授权:SqlGRANT connect, resource TO username;GRANTdba TO username; # 授予数据库管理员权限表空间操作•创建表空间:SqlCREATE TABLE SPACE new_tbs DATAFILE'/path/to/datafile.dbf' SIZE 100M AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED;•删除表空间(需先离线):SqlALTER TABLE SPACE tbs_name OFFLINE;DROP TABLESPACE tbs_name INCLUDING CONTENTS ANDDATAFILES;PDB(可插拔数据库)管理•创建PDB:SqlCREATE PLUGGABLE DATABASE pdb_nameADMIN USER admin_user identified by passwordFILENAME '/path/to/pdb.xml';•开启/关闭PDB:SqlALTER PLUGGABLE DATABASE pdb_name OPEN;ALTER PLUGGABLE DATABASE pdb_name CLOSE;其他常用操作•查询当前登录用户:SqlSELECT USER FROM DUAL;•备份数据库:Bashrman target / # 进入RMAN恢复管理器BACKUP DATABASE; # 执行全库备份•查询数据库版本信息:SqlSELECT * FROM v$version;数据查询与操作•查询表数据:SqlSELECT * FROM your_table;-- 或者特定列SELECT column1, column2 FROM your_table;•插入数据:SqlINSERT INTO your_table (column1, column2) VALUES('value1', 'value2');•更新数据:SqlUPDATE your_table SET column1 = 'new_value'WHEREcondition;•删除数据:SqlDELETE FROM your_table WHERE condition;索引管理•创建索引:SqlCREATE INDEX idx_your_table_column1 ONyour_table(column1);•删除索引:SqlDROP INDEX idx_your_table_column1;触发器和序列•创建序列:SqlCREATE SEQUENCE seq_your_sequenceSTART WITH1INCREMENT BY1NOMAXVALUE;•使用序列:SqlINSERT INTO your_table (id, column1) VALUES(seq_your_sequence.NEXTVAL, 'value1');•创建触发器:SqlCREATE OR REPLACE TRIGGER trg_your_triggerBEFORE INSERT ON your_tableFOR EACH ROWBEGIN:NEW.column1 := seq_your_sequence.NEXTVAL;END;事务控制•开始事务:SqlSET TRANSACTION;•提交事务:SqlCOMMIT;•回滚事务:SqlROLLBACK;•保存点设置与恢复:SqlSAVEPOINT your_savepoint;ROLLBACK TO your_savepoint;SQL性能分析•查看执行计划:SqlEXPLAIN PLAN FOR SELECT * FROM your_table;SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY); 数据库审计•开启审计:SqlAUDIT ALL BY user_name BY ACCESS;•查看审计记录:SqlSELECT * FROM SYS.AUD$;。

oracle常用语法

oracle常用语法

oracle常用语法Oracle是一种广泛使用的关系型数据库管理系统,它被广泛使用于企业级应用程序和其他高效数据处理方案中。

在使用Oracle时,需要掌握一些常用的语法和技巧,才能更轻松地处理数据。

下面我们来介绍一些常用的Oracle语法。

1. SELECT语句SELECT语句是Oracle中最常用的语句之一,它用于从表中检索数据。

SELECT语句的基本语法如下:SELECT column1, column2, …, columnN FROM table_name;其中,column1, column2, …, columnN是需要检索的列名,table_name是需要从中检索数据的表名。

可以使用通配符(*)来检索所有列。

2. WHERE语句WHERE语句用于从表中选择满足指定条件的行。

它的基本语法如下:SELECT column1, column2, …, columnN FROM table_name WHERE condition;其中,condition是指定的条件,可以使用比较运算符(>、<、=、>=、<=、<>)和逻辑运算符(AND、OR、NOT)来连接多个条件。

例如:SELECT * FROM employees WHERE salary > 50000 AND department = 'Sales';此语句将从employees表中选择薪资大于50000且所在部门为“Sales”的员工。

3. ORDER BY语句ORDER BY语句用于按照指定的列对检索结果进行排序。

它的基本语法如下:SELECT column1, column2, …, columnN FROM table_name ORDER BY column1 [ASC|DESC];其中,ASC表示按升序排列,DESC表示按降序排列。

例如:SELECT * FROM employees ORDER BY salary DESC;此语句将从employees表中选择所有员工,并按薪资从高到低进行排序。

oracle基本操作

oracle基本操作

oracle基本操作Oracle是一种关系数据库管理系统,它是世界上最受欢迎的企业级数据库。

它被各种企业广泛使用,它的功能非常强大,包括数据安全、访问控制、事务处理、性能优化、数据备份和恢复等。

本文将介绍Oracle的基本操作,包括如何创建、修改和删除表,如何插入、更新和删除数据,以及如何查询和导出数据。

这些操作对于初学者来说非常重要,也是使用Oracle的基础。

1.创建表格在Oracle中,创建表的语法如下:CREATE TABLE table_name ( column1 datatype, column2 datatype, column3 datatype, .... );其中,table_name是要创建的表的名称,column1、column2等是列名,datatype是列的数据类型。

例如,创建一个名为“employees”的表格,并添加列“id”、“name”和“salary”,则可以使用以下命令:CREATE TABLE employees ( id NUMBER(4) NOT NULL, name VARCHAR2(15) NOT NULL, salary NUMBER(7,2), PRIMARY KEY (id) );注意,id和name列设置为NOT NULL,这表示这两列不能为空。

salary列的数据类型为NUMBER,并设置了精度和小数位数。

2.修改表格如果需要修改表格,可以使用ALTER TABLE命令。

例如,如果想向employees表格添加新的列“address”,可以使用以下命令:ALTER TABLE employees ADD address VARCHAR2(50);如果需要删除表格中的列,可以使用以下命令:ALTER TABLE employees DROP COLUMN address;3.删除表格如果需要删除一个表格,可以使用以下命令:DROP TABLE table_name;例如,删除名为“employees”的表格:DROP TABLE employees;如果不小心使用了错误的命令或者删除的表格不是自己想要的,则可以使用RECOVER命令来找回删除的表格。

oracle数据库增删改查基本语句举例

oracle数据库增删改查基本语句举例

oracle数据库增删改查基本语句举例Oracle数据库是一种关系型数据库管理系统,具备强大的数据处理和查询功能。

以下是10个基本的Oracle数据库的增删改查语句示例:1. 插入数据:INSERT INTO 表名 (列1, 列2, 列3) VALUES (值1, 值2, 值3);示例:INSERT INTO employees (id, name, age) VALUES (1, '张三', 25);2. 查询数据:SELECT 列1, 列2, 列3 FROM 表名;示例:SELECT id, name, age FROM employees;3. 更新数据:UPDATE 表名 SET 列1 = 值1, 列2 = 值2 WHERE 条件;示例:UPDATE employees SET age = 26 WHERE id = 1;4. 删除数据:DELETE FROM 表名 WHERE 条件;示例:DELETE FROM employees WHERE id = 1;5. 创建表:CREATE TABLE 表名 (列1 数据类型,列2 数据类型,列3 数据类型);示例:CREATE TABLE employees (id NUMBER,name VARCHAR2(50),age NUMBER);6. 修改表:ALTER TABLE 表名ADD 列数据类型;示例:ALTER TABLE employees ADD salary NUMBER;7. 删除表:DROP TABLE 表名;示例:DROP TABLE employees;8. 创建索引:CREATE INDEX 索引名 ON 表名 (列1, 列2);示例:CREATE INDEX idx_name ON employees (name);9. 修改索引:ALTER INDEX 索引名 RENAME TO 新索引名;示例:ALTER INDEX idx_name RENAME TO idx_employee_name;10. 删除索引:DROP INDEX 索引名;示例:DROP INDEX idx_name;以上是一些基本的Oracle数据库的增删改查语句示例。

Oracle操作数据库(增删改语句)

Oracle操作数据库(增删改语句)

Oracle操作数据库(增删改语句) 对数据库的操作除了查询,还包括插⼊、更新和删除等数据操作。

后3种数据操作使⽤的 SQL 语⾔也称为数据操纵语⾔(DML)。

⼀、插⼊数据(insert 语句) 插⼊数据就是将数据记录添加到已经存在的数据表中,可以通过 insert 语句实现向数据表中⼀次插⼊⼀条记录,也可以使⽤ select ⼦句将查询结果批量插⼊数据表。

1、单条插⼊数据 语法:insert into table_name [ (column_name[,column_name2]...) ] values(express1[,express2]... )table_name:要插⼊数据的表名column_name1 和 column_name2:指定表的完全或部分列名称express1 和 express2 :表⽰要插⼊的值列表 EG:SQL > insert into dept(deptno,dname,loc) values(88,'Tony','tianjin') 注意: insert into 中指定添加数据的列,可以是数据表的全部列,也可以是部分列给指定列添加数据时,需要注意哪些列不能空;对于可以为空的列,添加数据可以不指定值;添加数据时,还应该数据添加数据和字段的类型和范围向表中所有列添加数据时,可以省略 insert into ⼦句后⾯的列表清单,使⽤这种⽅法时,必须根据表中定义列的顺序为所有的列提供数据添加数据时,还应该注意哪个字段是主键(主键的字段是不允许重复的),不能给主键字段添加重复的值  2、批量插⼊数据 insert 语句还可以⼀次向表中添加⼀组数据,可以使⽤ select 语句替换原来的 values ⼦句,语法如下:insert into table_name [ (column_name1[,column_name2...]...) ] selectSubquerytable_name:要插⼊数据的表名column_name1 和 column_name2 :表⽰指定的列名selectSubquery:任何合法的 select 语句,其所选列的个数和类型要与语句中的 column 对应。

oracle语句汇总

oracle语句汇总

Oracle 常用语句汇总select * from user_tab_comments 取得所有表的注释select * from user_col_comments 取得所有列的注释select * from user_tables 取得当前用户下所有的表1、查找表的所有索引(包括索引名,类型,构成列):select t.*,i.index_type from user_ind_columns t,user_indexes i where t.index_name = i.index_name and t.table_name = i.table_name and t.table_name = 要查询的表2、查找表的主键(包括名称,构成列):select cu.* from user_cons_columns cu, user_constraints au where cu.constraint_name = au.constraint_name and au.constraint_type = 'P' and au.table_name = 要查询的表3、查找表的唯一性约束(包括名称,构成列):select column_name from user_cons_columns cu, user_constraints au where cu.constraint_name = au.constraint_name and au.constraint_type = 'U' and au.table_name = 要查询的表4、查找表的外键(包括名称,引用表的表名和对应的键名,下面是分成多步查询):select * from user_constraints c where c.constraint_type = 'R' and c.table_name = 要查询的表查询外键约束的列名:select * from user_cons_columns cl where cl.constraint_name = 外键名称查询引用表的键的列名:select * from user_cons_columns cl where cl.constraint_name = 外键引用表的键名5、查询表的所有列及其属性select t.*,MENTS from user_tab_columns t,user_col_comments c where t.table_name = c.table_name and t.column_name = c.column_name and t.table_name = 要查询的表/*1-获取任意用户下的主键字段*/select cons.* from all_cons_columns cons, all_constraints conwhere con.constraint_type='P'and cons.table_name = '表名'and cons.constraint_name=con.constraint_name;/*2-获取本用户下的主键字段*/select cu.* from user_cons_columns cu, user_constraints au where cu.constraint_name = au.constraint_name and au.constraint_type = 'P' and au.table_name = '表名'正在看的ORACLE教程是:oracle常用sql语句。

oracle 语句大全

oracle 语句大全

oracle 语句大全SELECT --从数据库表中检索数据行和列INSERT --向数据库表添加新数据行DELETE --从数据库表中删除数据行UPDATE --更新数据库表中的数据--数据定义CREATE TABLE --创建一个数据库表DROP TABLE --从数据库中删除表ALTER TABLE --修改数据库表结构CREATE VIEW --创建一个视图DROP VIEW --从数据库中删除视图CREATE INDEX --为数据库表创建一个索引DROP INDEX --从数据库中删除索引CREATE PROCEDURE --创建一个存储过程DROP PROCEDURE --从数据库中删除存储过程CREATE TRIGGER --创建一个触发器DROP TRIGGER --从数据库中删除触发器CREATE SCHEMA --向数据库添加一个新模式DROP SCHEMA --从数据库中删除一个模式CREATE DOMAIN --创建一个数据值域ALTER DOMAIN --改变域定义DROP DOMAIN --从数据库中删除一个域--数据控制GRANT --授予用户访问权限DENY --拒绝用户访问REVOKE --解除用户访问权限--事务控制COMMIT --结束当前事务ROLLBACK --中止当前事务SET TRANSACTION --定义当前事务数据访问特征--程序化SQLDECLARE --为查询设定游标EXPLAN --为查询描述数据访问计划OPEN --检索查询结果打开一个游标FETCH --检索一行查询结果CLOSE --关闭游标PREPARE --为动态执行准备SQL 语句EXECUTE --动态地执行SQL 语句DESCRIBE --描述准备好的查询---局部变量declare @id char(10)--set @id = '10010001'select @id = '10010001'---全局变量---必须以@@开头--IF ELSEdeclare @x int @y int @z intselect @x = 1 @y = 2 @z=3if @x > @yprint 'x > y' --打印字符串'x > y'else if @y > @zprint 'y > z'else print 'z > y'--CASEuse panguupdate employeeset e_wage =casewhen job_level = ’1’ then e_wage*1.08when job_level = ’2’ then e_wage*1.07when job_level = ’3’ then e_wage*1.06else e_wage*1.05end--WHILE CONTINUE BREAKdeclare @x int @y int @c intselect @x = 1 @y=1while @x <3 br/>beginprint @x --打印变量x 的值while @y <3 br/>beginselect @c = 100*@x + @yprint @c --打印变量c 的值select @y = @y + 1endselect @x = @x + 1select @y = 1end--WAITFOR--例等待1 小时2 分零3 秒后才执行SELECT 语句waitfor delay ’01:02:03’select * from employee--例等到晚上11 点零8 分后才执行SELECT 语句waitfor time ’23:08:00’select * from employee***SELECT***select *(列名) from table_name(表名) where column_name operator valueex:(宿主)select * from stock_information where stockid = str(nid)stockname = 'str_name'stockname like '% find this %'stockname like '[a-zA-Z]%' --------- ([]指定值的范围)stockname like '[^F-M]%' --------- (^排除指定范围)--------- 只能在使用like关键字的where子句中使用通配符)or stockpath = 'stock_path'or stocknumber <1000 br/>and stockindex = 24not stocksex = 'man'stocknumber between 20 and 100stocknumber in(10,20,30)order by stockid desc(asc) --------- 排序,desc-降序,asc-升序order by 1,2 --------- by列号stockname = (select stockname from stock_information where stockid = 4)--------- 子查询--------- 除非能确保内层select只返回一个行的值,--------- 否则应在外层where子句中用一个in限定符select distinct column_name form table_name --------- distinct指定检索独有的列值,不重复select stocknumber ,"stocknumber + 10" = stocknumber + 10 from table_nameselect stockname , "stocknumber" = count(*) from table_name group by stockname--------- group by 将表按行分组,指定列中有相同的值having count(*) = 2 --------- having选定指定的组select *from table1, table2where table1.id *= table2.id -------- 左外部连接,table1中有的而table2中没有得以null表示table1.id =* table2.id -------- 右外部连接select stockname from table1union [all] ----- union合并查询结果集,all-保留重复行select stockname from table2***insert***insert into table_name (Stock_name,Stock_number) value ("xxx","xxxx")value (select Stockname , Stocknumber from Stock_table2)---value为select语句***update***update table_name set Stockname = "xxx" [where Stockid = 3]Stockname = defaultStockname = nullStocknumber = Stockname + 4***delete***delete from table_name where Stockid = 3truncate table_name ----------- 删除表中所有行,仍保持表的完整性drop table table_name --------------- 完全删除表***alter table*** --- 修改数据库表结构alter table database.owner.table_name add column_name char(2) null .....sp_help table_name ---- 显示表已有特征create table table_name (name char(20), age smallint, lname varchar(30))insert into table_name select ......... ----- 实现删除列的方法(创建新表)alter table table_name drop constraint Stockname_default ---- 删除Stockname的default约束***function(/*常用函数*/)***----统计函数----AVG --求平均值COUNT --统计数目MAX --求最大值MIN --求最小值SUM --求和--AVGuse panguselect avg(e_wage) as dept_avgWagefrom employeegroup by dept_id--MAX--求工资最高的员工姓名use panguselect e_namefrom employeewhere e_wage =(select max(e_wage)from employee)--STDEV()--STDEV()函数返回表达式中所有数据的标准差--STDEVP()--STDEVP()函数返回总体标准差--VAR()--VAR()函数返回表达式中所有值的统计变异数--VARP()--VARP()函数返回总体变异数----算术函数----/***三角函数***/SIN(float_expression) --返回以弧度表示的角的正弦COS(float_expression) --返回以弧度表示的角的余弦TAN(float_expression) --返回以弧度表示的角的正切COT(float_expression) --返回以弧度表示的角的余切/***反三角函数***/ASIN(float_expression) --返回正弦是FLOAT 值的以弧度表示的角ACOS(float_expression) --返回余弦是FLOAT 值的以弧度表示的角ATAN(float_expression) --返回正切是FLOAT 值的以弧度表示的角ATAN2(float_expression1,float_expression2)--返回正切是float_expression1 /float_expres-sion2的以弧度表示的角DEGREES(numeric_expression)--把弧度转换为角度返回与表达式相同的数据类型可为--INTEGER/MONEY/REAL/FLOAT 类型RADIANS(numeric_expression) --把角度转换为弧度返回与表达式相同的数据类型可为--INTEGER/MONEY/REAL/FLOAT 类型EXP(float_expression) --返回表达式的指数值LOG(float_expression) --返回表达式的自然对数值LOG10(float_expression)--返回表达式的以10 为底的对数值SQRT(float_expression) --返回表达式的平方根/***取近似值函数***/CEILING(numeric_expression) --返回>=表达式的最小整数返回的数据类型与表达式相同可为--INTEGER/MONEY/REAL/FLOAT 类型FLOOR(numeric_expression) --返回<=表达式的最小整数返回的数据类型与表达式相同可为--INTEGER/MONEY/REAL/FLOAT 类型ROUND(numeric_expression) --返回以integer_expression 为精度的四舍五入值返回的数据--类型与表达式相同可为INTEGER/MONEY/REAL/FLOAT 类型ABS(numeric_expression) --返回表达式的绝对值返回的数据类型与表达式相同可为--INTEGER/MONEY/REAL/FLOAT 类型SIGN(numeric_expression) --测试参数的正负号返回0 零值1 正数或-1 负数返回的数据类型--与表达式相同可为INTEGER/MONEY/REAL/FLOAT 类型PI() --返回值为π即3.1415926535897936RAND([integer_expression]) --用任选的[integer_expression]做种子值得出0-1 间的随机浮点数----字符串函数----ASCII() --函数返回字符表达式最左端字符的ASCII 码值CHAR() --函数用于将ASCII 码转换为字符--如果没有输入0 ~ 255 之间的ASCII 码值CHAR 函数会返回一个NULL 值LOWER() --函数把字符串全部转换为小写UPPER() --函数把字符串全部转换为大写STR() --函数把数值型数据转换为字符型数据LTRIM() --函数把字符串头部的空格去掉RTRIM() --函数把字符串尾部的空格去掉LEFT(),RIGHT(),SUBSTRING() --函数返回部分字符串CHARINDEX(),PATINDEX() --函数返回字符串中某个指定的子串出现的开始位置SOUNDEX() --函数返回一个四位字符码--SOUNDEX函数可用来查找声音相似的字符串但SOUNDEX函数对数字和汉字均只返回0 值DIFFERENCE() --函数返回由SOUNDEX 函数返回的两个字符表达式的值的差异--0 两个SOUNDEX 函数返回值的第一个字符不同--1 两个SOUNDEX 函数返回值的第一个字符相同--2 两个SOUNDEX 函数返回值的第一二个字符相同--3 两个SOUNDEX 函数返回值的第一二三个字符相同--4 两个SOUNDEX 函数返回值完全相同QUOTENAME() --函数返回被特定字符括起来的字符串/*select quotename('abc', '{') quotename('abc')运行结果如下----------------------------------{{abc} [abc]*/REPLICATE() --函数返回一个重复character_expression 指定次数的字符串/*select replicate('abc', 3) replicate( 'abc', -2)运行结果如下----------- -----------abcabcabc NULL*/REVERSE() --函数将指定的字符串的字符排列顺序颠倒REPLACE() --函数返回被替换了指定子串的字符串/*select replace('abc123g', '123', 'def')运行结果如下----------- -----------abcdefg*/SPACE() --函数返回一个有指定长度的空白字符串STUFF() --函数用另一子串替换字符串指定位置长度的子串----数据类型转换函数----CAST() 函数语法如下CAST() ( AS [ length ])CONVERT() 函数语法如下CONVERT() ([ length ], [, style])select cast(100+99 as char) convert(varchar(12), getdate())运行结果如下------------------------------ ------------199 Jan 15 2000----日期函数----DAY() --函数返回date_expression 中的日期值MONTH() --函数返回date_expression 中的月份值YEAR() --函数返回date_expression 中的年份值DATEADD( , ,)--函数返回指定日期date 加上指定的额外日期间隔number 产生的新日期DATEDIFF( , ,)--函数返回两个指定日期在datepart 方面的不同之处DATENAME( , ) --函数以字符串的形式返回日期的指定部分DATEPART( , ) --函数以整数值的形式返回日期的指定部分GETDATE() --函数以DATETIME 的缺省格式返回系统当前的日期和时间----系统函数----APP_NAME() --函数返回当前执行的应用程序的名称COALESCE() --函数返回众多表达式中第一个非NULL 表达式的值COL_LENGTH(<'table_name'>, <'column_name'>) --函数返回表中指定字段的长度值COL_NAME(, ) --函数返回表中指定字段的名称即列名DATALENGTH() --函数返回数据表达式的数据的实际长度DB_ID(['database_name']) --函数返回数据库的编号DB_NAME(database_id) --函数返回数据库的名称HOST_ID() --函数返回服务器端计算机的名称HOST_NAME() --函数返回服务器端计算机的名称IDENTITY([, seed increment]) [AS column_name])--IDENTITY() 函数只在SELECT INTO 语句中使用用于插入一个identity column列到新表中/*select identity(int, 1, 1) as column_nameinto newtablefrom oldtable*/ISDATE() --函数判断所给定的表达式是否为合理日期ISNULL(, ) --函数将表达式中的NULL 值用指定值替换ISNUMERIC() --函数判断所给定的表达式是否为合理的数值NEWID() --函数返回一个UNIQUEIDENTIFIER 类型的数值NULLIF(, )--NULLIF 函数在expression1 与expression2 相等时返回NULL 值若不相等时则返回expression1 的值??。

oracleI基础入门(6)--sql语句-count

oracleI基础入门(6)--sql语句-count

oracleI基础⼊门(6)--sql语句-count COUNT
COUNT 是函数之⼀,它使⽤⼴泛.基本上, COUNT 让我们能够数出在表格中有多少资料被选出来。

它的语法是:SELECT COUNT("栏位名") FROM "表格名"
举例来说,若我们要找出我们的范例表格中有⼏笔 store_name 栏不是空⽩的资料时,
Store_Information 表格
store_name Sales Date
Los Angeles $1500 Jan-05-1999
San Diego $250 Jan-07-1999
Los Angeles $300 Jan-08-1999
Boston $700 Jan-08-1999
我们就键⼊,
SELECT COUNT(store_name) FROM Store_Information WHERE store_name is not NULL
结果:
Count(store_name)
4
"is not NULL" = "这个栏位不是空⽩"
COUNT 和 DISTINCT 经常被合起来使⽤,⽬的是找出表格中有多少笔不同的资料 (⾄于
这些资料实际上是什么并不重要)。

举例来说,如果我们要找出我们的表格中有多少个不同
的 store_name,我们就键⼊,
SELECT COUNT (DISTINCT store_name) FROM Store_Information
结果:
Count(DISTINCT store_name)。

oracle语句大全及用法

oracle语句大全及用法

oracle语句大全及用法Oracle语句是Oracle数据库中用于管理和操作数据的SQL语句。

以下是一些常用的Oracle语句及其用法:1. 数据定义语句(DDL)CREATE DATABASE:用于创建新的数据库。

CREATE TABLE:用于创建新的表。

语法如下:sql`CREATE TABLE table_name (column1 datatype1, column2 datatype2, ...);`ALTER TABLE:用于修改现有的表结构,如添加、删除或修改列。

DROP TABLE:用于删除现有的表。

CREATE INDEX:用于在表上创建索引,以提高查询性能。

2. 数据操纵语句(DML)SELECT:用于从表中查询数据。

语法如下:sql`SELECT column1, column2, ... FROM table_name;`INSERT INTO:用于向表中插入新的数据行。

语法如下:sql`INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);`UPDATE:用于修改表中的现有数据。

DELETE:用于从表中删除数据。

3. 数据控制语句(DCL)GRANT:用于授予用户或角色对数据库对象的访问权限。

REVOKE:用于撤销用户或角色对数据库对象的访问权限。

4. 事务控制语句(TCL)COMMIT:用于提交当前事务,使所做的更改永久生效。

ROLLBACK:用于撤销当前事务,恢复到事务开始前的状态。

SAVEPOINT:用于在事务中设置保存点,以便在之后的某个时刻可以回滚到该点。

5. 其他常用语句DECLARE:用于声明变量或常量,并为其分配数据类型和初始值。

BEGIN ... END:用于定义PL/SQL代码块的开始和结束。

IF ... THEN ... ELSE:用于条件判断,根据条件执行不同的操作。

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 基本语法

oracle 基本语法

oracle 基本语法Oracle是一种关系数据库管理系统,它使用SQL(Structured Query Language)语言来管理和操作数据。

在使用Oracle时,我们需要掌握一些基本的语法,以便能够有效地操作数据库。

下面将详细介绍Oracle的基本语法。

1. 创建表在Oracle中创建表的语法如下:CREATE TABLE table_name (column1 datatype [ NULL | NOT NULL ],column2 datatype [ NULL | NOT NULL ],...);其中,table_name是要创建的表的名称,column1、column2等是表中的列名,datatype是列的数据类型。

如果一个列允许为空,则可以使用NULL关键字;如果不允许为空,则可以使用NOT NULL关键字。

例如,我们要创建一个名为students的表,包含id、name和age三个字段:CREATE TABLE students (id INT NOT NULL,name VARCHAR(50) NOT NULL,age INT);2. 插入数据向Oracle中插入数据可以使用INSERT INTO语句。

其基本语法如下:INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...);其中,table_name是要插入数据的表名称,column1、column2等为要插入数据的列名,value1、value2等为对应列所要插入的值。

例如,在上面创建的students表中插入一条记录:INSERT INTO students (id, name, age)VALUES (1, '张三', 20);3. 查询数据查询数据是Oracle最常用到的操作之一。

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

1. select * from table_name where rownum>begin and rownum< end
2.sql = "select * from table"
con.prepareCall("SELECT * FROM(SELECT A.*, rownum r FROM("+sql+") A WHERE rownum <=
"+intPage*intPageSize+") B WHERE r > "+(intPage-1)
*intPageSize);
今天想查询一下Oracle数据库下所有的表名或某个用户下的所有表,半天没想起来.还是在网上找到了答案.
select table_name from all_tables;//所有的表明
select table_name from user_all_tables;//用户的所有的表
一下是转贴的sql语句的帖子.
select * from user_objects; //查询所有的表
select * from dba_tables; //查询所有的表
select * from all_tables; //查询所有的表
select * from user_users //查出一个用户
select * from all_users //查询所有用户
select * from dba_users //查询所有用户
select name,dbid from v$database; //查询数据库名和它的ID
select * from er_tab_columns; //查询表名,并显示列名
describe 表名//查询表结构
select * from er_tab_columns where table_name=表名//查询指定表名的字段
2: 查询数据库参数
show parameter db;
3:查询数据库的实例名
select instance_name from v$instance;
4: 数据库域名
数据库安装结束后,如果要知道正在运行额数据库是否有域名以及数据库域名名称可以用
select value from v$parameter where name='db_domain'
show parameter domain
5:数据库服务名
如果数据库有域名,则数据库服务名就是全局数据库名,如果该数据库没有定义域名,则数据库服务名与数据库名相同
show parameter service_name
6:显示当前用户
show user
7:直接登陆
sqlplus "/as sysdba"
8:当前ORACLE系统时间
select sysdate from dual;
9:查询数据库字典v$nls_parameter产看字符集相关参数
select * from v$nls_parameters;
oracle基本操作语句(适合初学者)
oracle操作语句:
1.创建表
create table 表名(
列名1 类型,
列名2 类型
);
2.修改类属性
alter table 表名modify(列名类型);
3.添加列
alter table 表名add(列名类型);
4.添加主键约束和非空约束
alter table 表名add constraint pk_表名primary key(列名); alter table 表名modify(列名not null);
5.删除主键约束
alter table 表名drop primary key;
alter table 表名drop constraint pk_表名;
6.失效约束
alter table 表名disable primary key;
alter table 表名disable constraint pk_表名;
7.有效约束
alter table 表名enable primary key;
alter table 表名enable constraint pk_表名;
8.删除列
alter table 表名drop column 列名;
9.设置某列不可用,然后删除
alter table 表名set unused(列名);
alter table 表名drop unused columns;
10.修改表名
rename 表名1 to 表名2
alter 表名1 rename to 表名2;
11.截断表
truncate table 表名;
12.截断表保留行空间
truncate table 表名resue storage;
13.查看表结构
desc table 表名;
14.删除表
drop table 表名;
15.插入记录
例:insert into 表名values(内容1,内容2,内容3,内容4);
16.带参数对话方式插入行
例:insert into 表名values(&列名1,&列名2);
insert into 表名values(内容1,内容2);
17.插入某几列记录
insert into 表名(列名1,列名2) values(内容1,内容2); 18.为列插入空值(其列不能为not null)
insert into 表名values(内容1,null,null);
19.创建表(包括主键及外键设置)方法一
create table 表名(
列名1 类型
constraint pk_表名primary key,
列名2 类型not null,
列名3 类型
constraint fk_表名reference 表名(列名),
列名3 类型
constraint ck_表名check(列名3 in(''内容1'',''内容2'',''内容3''))
);
20.查询所有行
select * from 表名;
21.查询某几列
select 列名1,列名2 from 表名;
22.重复行消除
select distict 列名from 表名;
23.where语句查询
select * from 表名where 条件order by 列名;
(注:如number类型查出自动按升序排列,如要按降序排列,则select * from 表名where 条件order by 列名desc;)
24.创建表,方法二
create table 表名(
列名1 类型primary key,
列名2 类型not null,
列名3 类型check(列名3 in('''','''','''')),
列名4 类型refernce 表名(列名)
);
25.修改列=‘?’的数据
update 表名set (列=?) where 列=‘?’;
26.删除行
delete from 表名where 条件;
27.事务处理
--事务处理
update 表名
set 列名(日期)= ''30-5月-98''
where 条件;
savepoint mark1;
delete from 表名where 条件;
savepoint mark2;
rollback to savepoint mark1;
rollback;
28.建立用户user1,密码为password
授予用户connect,resource的权限
connect角色用于登录
resource角色用于建表等.
connect system/manager
create user user1 identified by password;
grant connect,resource to password;
29.数据控制语言
connect scott/tiger
30.把对表1查询和修改的权限授予user1
grant select,update on 表1 to user1;
31.把对表表1中列1和列2修改的权限授予user1
grant update(列1,列2) on 表1 to user1;
32.把对表表1查询的权限授予用户user1
并且user1用户还可以把这个权限授予别的用户(with grant option) grant select on 表1 to user1 with grant option;
33.从用户user1撤销对表1查询和修改的权限
revoke select,update on 表1 from user1;。

相关文档
最新文档