文档库 最新最全的文档下载
当前位置:文档库 › VC_通过MFCODBC访问Oracle数据库技术浅析

VC_通过MFCODBC访问Oracle数据库技术浅析

VC_通过MFCODBC访问Oracle数据库技术浅析
VC_通过MFCODBC访问Oracle数据库技术浅析

ORACLE常用SQL语句大全

ORACLE常用SQL语句大全 一、基础 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建备份数据的 device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:/mssql7backup/MyNwind_1.dat' --- 开始备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 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 tablename

6、说明:增加一个列,删除一个列 A:alter table tabname add column col type B: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 注:索引是不可更改的,想更改必须删除重新建。 9、创建视图:create view viewname as select statement 删除视图:drop view viewname 10、几个简单的基本的sql语句 选择:select * from table1 where 范围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where 范围 更新:update table1 set field1=value1 where 范围 查找:select * from table1 where field1 like ’%value1%’ ---like的语法很精妙,查资料! 排序:select * from table1 order by field1,field2 [desc] 总数:select count as totalcount from table1 求和:select sum(field1) as sumvalue from table1 平均:select avg(field1) as avgvalue from table1 最大:select max(field1) as maxvalue from table1 最小:select min(field1) as minvalue from table1 11、几个高级查询运算词 A:UNION 运算符 UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表。当 ALL 随 UNION 一起使用时(即 UNION ALL),不消除重复行。两种情况下,派生表的每一行不是来自 TABLE1 就是来自 TABLE2。 B:EXCEPT 运算符 EXCEPT 运算符通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重复行而派生出一个结果表。当ALL 随 EXCEPT 一起使用时 (EXCEPT ALL),不消除重复行。 C:INTERSECT 运算符 INTERSECT 运算符通过只包括 TABLE1 和 TABLE2 中都有的行并消除所有重复行而派生出一个结果表。当 ALL 随 INTERSECT 一起使用时 (INTERSECT ALL),不消除重复行。 注:使用运算词的几个查询结果行必须是一致的。 12、使用外连接

Oracle数据库基本知识点

1、数据库基本语句 (1)表结构处理 创建一个表:cteate table 表名(列1 类型,列2 类型); 修改表的名字 alter table 旧表名 rename to 新表名 查看表结构 desc 表名(cmd) 添加一个字段 alter table 表名 add(列类型); 修改字段类型 alter table 表名 modify(列类型); 删除一个字段 alter table 表名 drop column列名; 删除表 drop table 表名 修改列名 alter table 表名 rename column 旧列名 to 新列名; (2)表数据处理 增加数据:insert into 表名 values(所有列的值); insert into 表名(列)values(对应的值); 更新语句:update 表 set 列=新的值,…[where 条件] 删除数据:delete from 表名 where 条件 删除所有数据,不会影响表结构,不会记录日志, 数据不能恢复--》删除很快: truncate table 表名 删除所有数据,包括表结构一并删除: drop table 表名 去除重复的显示:select distinct 列 from 表名 日期类型:to_date(字符串1,字符串2)字符串1是日期的字 符串,字符串2是格式 to_date('1990-1-1','yyyy-mm-dd')-->返回日期的 类型是1990-1-1 (3)查询语句 1)内连接 select a.*,b.* from a inner join b on a.id=b.parent_id

Oracle 数据库 常用命令

SPOOL将屏幕所有的输出输出到指定文件 -- spool 文件路径名; spool g:\mysql.sql; --业务操作 --结束输出 spool off; 执行一个SQL脚本文件 我们可以将多条sql语句保存在一个文本文件中,这样当要执行这个文件中的所有的sql语句时,用上面的任一命令即可,这类似于dos中的批处理。 --start file_name -- @ file_name start g:\mysql.sql; @ g:\mysql.sql; 对当前的输入进行编辑 edit ed 重新运行上一次运行的sql语句 / 显示一个表的结构 desc table_name ; 清屏 clear screen; 退出 exit; 置当前session是否对修改的数据进行自动提交 --SET AUTO[COMMIT] {ON|OFF|IMM[EDIATE]| n} set autocommit on; 在用start命令执行一个sql脚本时,是否显示脚本中正在执行的SQL语句 -- SET ECHO {ON|OFF}; set echo on; 是否显示当前sql语句查询或修改的行数 --SET FEED[BACK] {6|n|ON|OFF}

-- 默认只有结果大于6行时才显示结果的行数。如果set feedback 1 ,则不管查询到多少行都返回。当为off 时,一律不显示查询的行数 set feedback 1; 是否显示列标题 --当set heading off 时,在每页的上面不显示列标题,而是以空白行代替 --SET HEA[DING] {ON|OFF} set heading on; 设置一行可以容纳的字符数 -- 如果一行的输出内容大于设置的一行可容纳的字符数,则折行显示 --SET LIN[ESIZE] {80|n} set linesize 100; 设置页与页之间的分隔 -- SET NEWP[AGE] {1|n|NONE} --当set newpage 0 时,会在每页的开头有一个小的黑方框。 --当set newpage n 时,会在页和页之间隔着n个空行。 --当set newpage none 时,会在页和页之间没有任何间隔 set newpage 1; 设置一页有多少行数 --如果设为0,则所有的输出内容为一页并且不显示列标题 --SET PAGES[IZE] {24|n} set pagesize 20; 是否显示用DBMS_OUTPUT.PUT_LINE包进行输出的信息。 --SET SERVEROUT[PUT] {ON|OFF} set serveroutput on; 是否在屏幕上显示输出的内容,主要用与SPOOL结合使用。 --在用spool命令将一个大表中的内容输出到一个文件中时,将内容输出在屏幕上会耗费大量的时间,--设置set termspool off后,则输出的内容只会保存在输出文件中,不会显示在屏幕上,极大的提高了spool的速度 --SET TERM[OUT] {ON|OFF} set termout off; 在dos里连接oracle数据库 CONNECT user_name/passwd@l_jiayou

ORACLE数据库日常维护手册(最全+最实用)

ORACLE 日常维护手册 查看数据库版本 SELECT*FROM V$VERSION; 查看数据库语言环境 SELECT USERENV('LANGUAGE')FROM DUAL; 查看ORACLE实例状态 SELECT INSTANCE_NAME,HOST_NAME,STARTUP_TIME,STATUS,DATABASE_STATUS FROM V$INSTANCE; 查看ORACLE监听状态 lsnrctl status 查看数据库归档模式 SELECT NAME,LOG_MODE,OPEN_MODE FROM V$DATABASE; 查看回收站中对象 SELECT OBJECT_NAME,ORIGINAL_NAME,TYPE FROM RECYCLEBIN; 清空回收站中对象 PURGE RECYCLEBIN; 还原回收站中的对象 FLASHBACK TABLE"BIN$GOZUQZ6GS222JZDCCTFLHQ==$0" TO BEFORE DROP RENAME TO TEST;

闪回误删除的表 FLASHBACK TABLE AAA TO BEFORE DROP; 闪回表中记录到某一时间点 ALTER TABLE TEST ENABLE ROW MOVEMENT; FLASHBACK TABLE TEST TO TIMESTAMP TO_TIMESTAMP('2009-10-15 21:17:47','YYYY-MM-DD HH24:MI:SS'); 查看当前会话 SELECT SID,SERIAL#,USERNAME,PROGRAM,MACHINE,STATUS FROM V$SESSION; 查看DDL锁 SELECT* FROM DBA_DDL_LOCKS WHERE OWNER ='FWYANG'; 检查等待事件 SELECT SID, https://www.wendangku.net/doc/8f13462402.html,ERNAME, EVENT, WAIT_CLASS, T1.SQL_TEXT FROM V$SESSION A, V$SQLAREA T1 WHERE WAIT_CLASS <>'Idle' AND A.SQL_ID = T1.SQL_ID; 检查数据文件状态 SELECT FILE_NAME,STATUS FROM DBA_DATA_FILES; 检查表空间使用情况 SELECT UPPER(F.TABLESPACE_NAME) "表空间名", D.TOT_GROOTTE_MB "表空间大小(M)", D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)", TO_CHAR(ROUND((D.TOT_GROOTTE_MB -F.TOTAL_BYTES)/D.TOT_GROOTTE_MB *100, 2), '990.99') "使用比", F.TOTAL_BYTES "空闲空间(M)",

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 lihua identified by lihua default tablespace schooltbs temporary tablespace temp; 5.更改用户 alter user lihua identified by 123 default 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,resource 9.授予连接服务器的角色 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 https://www.wendangku.net/doc/8f13462402.html,er_tbl to scott;--系统管理员 二.SQL查询和SQL函数 1.SQl支持的命令: 数据定义语言(DDL):create,alter,drop 数据操纵语言(DML):insert,delete,update,select 数据控制语言(DCL):grant,revoke 事务控制语言(TCL):commit,savepoint,rollback 2.Oracle数据类型 字符,数值,日期,RAW,LOB 字符型 char:1-2000字节的定长字符

Oracle数据库常用的Sql语句

Oracle数据库常用的Sql语句 今天想查询一下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 https://www.wendangku.net/doc/8f13462402.html,er_tab_columns; //查询表名,并显示列名 describe 表名//查询表结构 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操作语句:

Oracle数据库SQLPLUS中几个常用set语句

Oracle数据库SQLPLUS中几个常用set语句 在大家写脚本的时候,我们常常用set语句在设置一些需要的格式规范。下面,列举了几个常见set语句的应用。 SQL> set echo on—————————————————设置运行命令是是否显示语句 SQL> set feedback on———————————————-设置显示“已选择XX行” SQL> set colsep | —————————————————设置列与列之间的分割符号 SQL> set pagesize 10———————————————–设置每一页的行数 SQL> SET SERVEROUTPUT ON——————————-设置允许显示输出类似dbms_output.putline SQL> set heading on————————————————设置显示列名 SQL> set timing on————————————————–设置显示“已用时间:XXXX” SQL> set time on—————————————————–设置显示当前时间 SQL> set autotrace on———————————————–设置允许对执行的sql进行分析00:38:28 SQL> set echo on 00:38:37 SQL> @E:echo.sql 00:38:41 SQL> select status from v$datafile where rownum<6;

STA TUS ------- SYSTEM ONLINE ONLINE ONLINE ONLINE 已选择5行。 已用时间: 00: 00: 01.08 00:38:43 SQL> set echo off 00:38:58 SQL> @E:echo.sql STA TUS ——- SYSTEM ONLINE

Oracle数据库语句大全

Oracle数据库语句大全 ORACLE支持五种类型的完整性约束 NOT NULL (非空)--防止NULL值进入指定的列,在单列基础上定义,默认情况下,ORACLE允许在任何列中有NULL值. CHECK (检查)--检查在约束中指定的条件是否得到了满足. UNIQUE (唯一)--保证在指定的列中没有重复值.在该表中每一个值或者每一组值都将是唯一的. PRIMARY KEY (主键)--用来唯一的标识出表的每一行,并且防止出现NULL值,一个表只能有一个主键约束. POREIGN KEY (外部键)--通过使用公共列在表之间建立一种父子(parent-child)关系,在表上定义的外部键可以指向主键或者其他表的唯一键.ORACLE支持五种类型的完整性约束 NOT NULL (非空)--防止NULL值进入指定的列,在单列基础上定义,默认情况下,ORACLE允许在任何列中有NULL值. CHECK (检查)--检查在约束中指定的条件是否得到了满足. UNIQUE (唯一)--保证在指定的列中没有重复值.在该表中每一个值或者每一组值都将是唯一的. PRIMARY KEY (主键)--用来唯一的标识出表的每一行,并且防止出现NULL值,一个表只能有一个主键约束. POREIGN KEY (外部键)--通过使用公共列在表之间建立一种父子(parent-child)关系,在表上定义的外部键可以指向主键或者其他表的唯一键. 1--设置每行显示多少字符set linesize 300; 2 设置每页显示多少条记录set pagesize 30; 3 用户名的切换: 如conn system/tiger Conn sys/change_on_install as sysdba(注意超级用户在后面加as sysdba) 4 在超级用户下查找普通用户的表是查不到的必须这样查找如select * from scott.emp(普通用户下的emp表) 5 查看当前是那个用户身份登录: show user; 6 查看有多少张表: select * from tab;(注意不同用户下的表是不同的) 7查看表的结构: desc emp(emp为表名) 8 取出重复的列(DISTINCT): 如S ELECT DISTINCT JOB EMP(去掉job的重复的值) 9字符串的链接操作用: || 10 查询有奖金的员工: select* from emp where comm is not null; 11 查询没有奖金的员工信息: select * from emp where comm is null; 12 两个条件以上就得用and 如查询工资大雨1500和有奖金的员工select * from emp where sal>1500 and comm is not null; 13 表示两个条件有一个满足就可就用:or 如查询工资大于1500或者没有奖金的员工信息 Select * from emp where sal>1500 or comm is not null; 14取反可以用not 如查询员工工资不大于1500和有奖金的员工信息如: Select * from emp where not (sal>1500 or comm is not null); 15 在什么什么之间用between----and----如查询工资在1500和3000之间的员工信息: Select * from emp where sal between 1500 and 3000; 16 查询员工编号是2323, 4555, 2222的员工具体信息: 如 Select * from emp where empno in(2323,4555,2222);

Oracle数据库的常用语句

Oracle数据导入/导出命令 文章分类:数据库 1、单独备份一个或多个用户: D:>exp scott/tiger file=导出文件 D:>exp system/manager owner=(用户1,用户2,…,用户n) file=导出文件 2、单独备份一个或多个表: D:>exp 用户/密码 tables=表 D:>exp 用户/密码 tables=(表1,…,表2) D:>exp system/manager tables=(用户.表) D:>exp system/manager tables=(用户1.表1,用户2.表2) 3、导入指定表 D:>exp scott/tiger file=a.dmp D:>imp test/test fromuser=scott tables=emp file=a.dmp D:>imp test/test tables=dept file=a.dmp (说明:如果导出用户没有DBA权限,则导入用户可以不用指定fromuser、touser 参数如果导出用户拥有DBA权限,则导入用户也必须拥有DBA权限) 4、给表、列加注释 SQL>comment on table 表 is '表注释'; 注释已创建。 SQL>comment on column 表.列 is '列注释'; 注释已创建。 SQL> select * from user_tab_comments where comments is not null; SQL> select * from user_col_comments where comments is not null; 5、查看当前用户下有什么对象(表、视图、同义词、快照) SQL> select * from tab; 查看表结构 SQL> describe 表名 简写以上命令 SQL> desc 表名 6、 DDL、数据定义语言:create、alter、drop、truncate(创建、修改结构、删除、截断)(其他:rename) DML、数据操纵语言:insert、delete、select、update(增、删、查、改)DCL、数据控制语言:grant、revoke(授权、回收)、set role 事务控制:commit、rollback、savepoint(其他:lock table、set constraint(s)、set transaction)

oracle数据库基本语法考题

一、常用查询统计 选择题 1.ORACLE用来判断列值是否为空的操作符是____ A.= NULL B.IS NULL C.AS NULL D.NULL IS 答案:B 2.在客户定单表(CUSTOMER)中有一列为单价(PRICE),写一个SELECT命令显示所有 单价在500以上的查询语句。 A.SELECT * FROM CUSTOMER WHERE PRICE>500; B.SELECT * FROM CUSTOMER WHERE PRICE BETWEEN 500 AND *; C.SELECT * FROM CUSTOMER WHERE PRICE LIKE '%500%'; D.SELECT * FROM CUSTOMER WHERE PRICE>=500; 答案:A 3.分析以下SQL 命令: SELECT price FROM inventory

WHERE price BETWEEN 1 AND 50 AND (price IN(55, 30, 95); 命令执行后的输出结果是:() A 55 B 30 C 95 D NULL 答案:B 4.分析以下的SQL 命令: SELECT manufacturer_id FROM inventory WHERE manufacturer_id LIKE '%N\%P\%O%' ESCAPE '\'; 命令执行的返回结果是() A 所有包含'NPO'的纪录 B 所有包含'N\P\O'的纪录 C 所有包含'N%P%O'的纪录 D 所有包含'%N\P\O%'的纪录 答案:C 5.ROUND 和TRUNC操作的区别是() A ROUND在截掉数据时有四舍五入的判断,TRUNC直接按要求截掉没有进位。 B 都是将数据按指定的长度截断 C TRUNC是四舍五入,ROUND是截断 D 都会四舍五入

oracle数据库常用语句

数据类型:字符类型:char(标准通用拉丁字符),nchar(汉字等其他字符),varchar2(长度可变字符),nvarchar2,long; 数字类型:number(通用),integer,float 日期和时间:date,timestamps(分秒,时区) 行:rowid(逻辑地址),urowid(逻辑地址,内存地址); 二进制:raw(size)(原始二进制数据),long raw,blob(二进制大型对象;最大4G字节),clob(字符大型对象),nclob,bfile; 2.oracle WEB管理页面:localhost:5560/isqlplus; localhost:5500/em https://www.wendangku.net/doc/8f13462402.html,设置远程测试:tnsping datebasename;远程连接:sqlplus name/password@datebasename; 4.创建表空间:create tablespace test datafile 'test.dbf' size 10m autoextend on next 2m maxsize unlimited logging permanent extent management local autoallocate blocksize 8k segment space management manuaL;//段空间

5.创建用户并连接: create user "TEST" identified by "TEST" default tablespace TEST temporary tablespace TEMP quota unlimited on TEST quota unlimited on TEMP grant "connect" to test//分配基本权限。 conn test/test; 6.重设用户密码:scott/tiger为默认用户,alter user scott identified by tiger; 解锁:alter user scott account unlock; 7.sql脚本的执行:@路径/filename.sql; 8.创建表:create table t1(c1 type 约束,c2 type 约束(not null,unique,check,primary key)) 9.查询:select distinct c1 from t1 where 条件group by c1 having by 子条件order by c1; 10.连接字符串:select c1 (as可省) 列1 ||c2 from t1;

oracle常用SQL语句(汇总版)

Oracle数据库常用sql语句 ORACLE 常用的SQL语法和数据对象 一.数据控制语句(DML) 部分 1.INSERT (往数据表里插入记录的语句) 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()还有很多种日期格式, 可以参看ORACLE DOC. 年-月-日小时:分钟:秒的格式YYYY-MM-DD HH24:MI:SS INSERT时最大可操作的字符串长度小于等于4000个单字节, 如果要插入更长的字符串, 请考虑字段用CLOB类型, 方法借用ORACLE里自带的DBMS_LOB程序包. INSERT时如果要用到从1开始自动增长的序列号, 应该先建立一个序列号 CREATE SEQUENCE 序列号的名称(最好是表名+序列号标记) INCREMENT BY 1 START WITH 1 MAXVALUE 99999 CYCLE NOCACHE;

其中最大的值按字段的长度来定, 如果定义的自动增长的序列号NUMBER(6) , 最大值为999999 INSERT 语句插入这个字段值为: 序列号的名称.NEXTVAL 2.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 复原.

完整版oracle基本操作语句适合初学者

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;// 用户的所有的表 select * from https://www.wendangku.net/doc/8f13462402.html,er_tab_columns; // 查询表名 ,并显示列名 describe 表名 //查询表结构 select * from https://www.wendangku.net/doc/8f13462402.html,er_tab_columns where table_name= 表名 // 查询指定表名的字段 2: 查询数据库参数 show parameter db; 3:查询数据库的实例名 一下是转贴的 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

Oracle数据库常用操作

一、Oracle数据库操作 1、创建数据库 create database databasename 2、删除数据库 drop database dbname 3、备份数据库 ?完全备份 exp demo/demo@orcl buffer=1024 file=d:\back.dmp full=y demo:用户名、密码 buffer:缓存大小 file:具体的备份文件地址 full:是否导出全部文件 ignore:忽略错误,如果表已经存在,则也是覆盖 ?将数据库中system用户与sys用户的表导出 exp demo/demo@orcl file=d:\backup\1.dmp owner=(system,s ys) ?导出指定的表 exp demo/demo@orcl file=d:\backup2.dmp tables=(teachers,s tudents) ?按过滤条件,导出 exp demo/demo@orcl file=d:\back.dmp tables=(table1)que ry=\" where filed1 like 'fg%'\" 导出时可以进行压缩;命令后面加上compress=y ;如果需要日志,后面:log=d:\log.txt ?备份远程服务器的数据库 exp用户名/密码@远程的IP:端口/实例file=存放的位置:\文件名称.dm p full=y

4、数据库还原 打开cmd直接执行如下命令,不用再登陆sqlplus。 ?完整还原 imp demo/demo@orcl file=d:\back.dmp full=y ignore=y log= D:\implog.txt 指定log很重要,便于分析错误进行补救。 ?导入指定表 imp demo/demo@orcl file=d:\backup2.dmp tables=(teachers,s tudents) ?还原到远程服务器 imp用户名/密码@远程的IP:端口/实例file=存放的位置:\文件名称.dm p full=y 二、Oracle表操作 1、创建表 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) 根据已有的表创建新表: A:select * into table_new from table_old (使用旧表创建新表) B:create table tab_new as select col1,col2… from tab_old def inition only<仅适用于Oracle> 2、删除表 drop table tabname 3、重命名表 说明:alter table表名rename to新表名 eg:alter table tablename rename to newtablename 4、增加字段 说明:alter table表名add(字段名字段类型默认值是否为空); 例:alter table tablename add (ID int); eg:alter table tablename add (ID varchar2(30) default '空' not null); 5、修改字段

Oracle数据库常用操作语句

Oracle数据库常用操作语句 1.创建目录 system create directory egoms_file as 'd:\dump'; select * from dba_directories; 2.创建表空间 创建临时表空间 create temporary tablespace egoms_temp tempfile 'f:\oracle\data\wpms2\egoms_temp.dbf' size 1024m autoextend on next 32m extent management local; 创建数据表空间 create tablespace egoms_data logging datafile 'f:\oracle\data\wpms2\egoms_data.dbf' size 512m autoextend on next 32m extent management local; 3.创建用户并修改表空间 create user egoms identified by egoms default tablespace egoms_data temporary tablespace egoms_temp; conn system/system@orcl; drop user egoms cascade; select * dba_data_files; 4.赋权限 grant resource,connect,dba,create table to egoms; grant read,write on directory egoms_file to egoms; 5.导出 expdp wpms/ucstcl@orcl directory=egoms_file

常用的SQL语句语法(Oracle)ddl和dml分列

一.数据控制语句 (DML) 部分 1.INSERT (往数据表里插入记录的语句) 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()还有很多种日期格式, 可以参看ORACLE DOC. 年-月-日小时:分钟:秒的格式YYYY-MM-DD HH24:MI:SS INSERT时最大可操作的字符串长度小于等于4000个单字节, 如果要插入更长的字符串, 请考虑字段用CLOB类型,方法借用ORACLE里自带的DBMS_LOB程序包. INSERT时如果要用到从1开始自动增长的序列号, 应该先建立一个序列号CREATE SEQUENCE 序列号的名称 (最好是表名+序列号标记) INCREMENT BY 1 START WITH 1 MAXVALUE 99999 CYCLE NOCACHE; 其中最大的值按字段的长度来定, 如果定义的自动增长的序列号 NUMBER(6) , 最大值为999999 INSERT 语句插入这个字段值为: 序列号的名称.NEXTVAL 2.DELETE (删除数据表里记录的语句) DELETE FROM表名 WHERE 条件; 注意:删除记录并不能释放ORACLE里被占用的数据块表空间. 它只把那些被删除的数据块标成unused. 如果确实要删除一个大表里的全部记录, 可以用 TRUNCATE 命令, 它可以释放占用的数据块表空间 TRUNCATE TABLE 表名; 此操作不可回退. 3.UPDATE (修改数据表里记录的语句) UPDATE表名 SET 字段名1=值1, 字段名2=值2, …… WHERE 条件; 如果修改的值N(右操作数)没有赋值或定义时, 将把原来的记录内容清为NULL, 最好在修改前进行非空校验; 值N(右操作数)超过定义的长度会出错, 最好在插入前进行长度校验.. 注意事项: A. 以上SQL语句对表都加上了行级锁,

相关文档