ORACLE--基础

张开发
2026/4/9 15:02:19 15 分钟阅读

分享文章

ORACLE--基础
一、创建表空间(业务数据和oracle系统数据的隔离)create tablespace waterbossdatafile d:\waterboss1.dbfsize 100mautoextend onnext 10m;二、创建用户create user wateruseridentified by user01default tablespace waterboss;--给wateruser赋予dba权限grant dba to wateruser--用watersuer连接数据库三、创建业主表CREATE TABLE T_OWNERS(ID NUMBER PRIMARY KEY,NAME VARCHAR2(30),ADDERSSID NUMBER,HOUSENUMBER VARCHAR2(30),WATERMETER VARCHAR2(30),ADDDATE DATE,OWNETYPEIN NUMBER)CREATE TABLE T_OWNERS2(ID NUMBER PRIMARY KEY,NAME VARCHAR2(30))四、alter修改表追加字段ALTER TABLE T_OWNERS ADD(REMARK VARCHAR2(30),OUTDATE DATE)--修改字段ALTER TABLE T_OWNERS MODIFY(REMARK CHAR(20),OUTDATE TIMESTAMP)--修改字段名ALTER TABLE T_OWNERS RENAME COLUMN OUTDATE TO OUTEDATE;--删除字段名ALTER TABLE T_OWNERS DROP COLUMN OUTEDATE;五、insert插入--插入语句--SYSDATE是获取当前时间的INSERT INTO T_OWNERS VALUES (1,LZH,10,1-1,2-1,SYSDATE,1,1)INSERT INTO T_OWNERS2 (ID,NAME) VALUES (1,111)--只插入指定的字段INSERT INTO T_OWNERS (ID,NAME) VALUES (2,LZH02)--修改语句--把日期修改成3天前--默认是操作日的操作年或者月得用函数来实现UPDATE T_OWNERS SET ADDDATEADDDATE-4 WHERE ID 1;--删除语句DELETE FROM T_OWNERS WHERE ID 2;TRUNCATE TABLE T_OWNERS2; //删除整改表的记录六、基础总结数据类型1.字符型CHAR:固定长度VARCHAR2:可变长度LONG:大文本类型2.数值型NUMBER:数值类型例如NUMBER(5)可以存的数为99999 NUMBER(5,2)数为999.993.日期型DATE:日期时间型精确到秒TIMESTAMP:精确到小数点后9位4.二进制型CLOB:存储字符BLOG:存储图像声音视频等表的增删改1.增加ALTER TABLE 表名称列名|类型2.修改字段ALTER TABLE 表名称MMODIFY(列名|类型)3.修改字段名ALTER TABLE 表名称 RENAME COLUMN 原列名 TO 新列名4.删除字段名ALTER TABLE 表名称 DROP COLUMN 列名1列名25.删除表DROP TABLE 表名称数据的增删改数据最终修改完要执行commit提交1.插入数据INSERT INTO 表名列名1列名2VALUES(值1值2)2.修改语句UPDATE 表名 SET 列名1新值列名2新值2 WHERE 更新条件3.删除语句DELETE是可以回滚的TRUNCATE不可以回滚DELETE 表名 WHERE 条件TRUNCATE TABLE 表名expdp和impdp数据的导入和导出与exp和imp不同需要创建目录和授权su - oraclemkdir -p /home/oracle/backupchmod 777 /home/oracle/backupsqlplus / as sysdba创建数据库目录对象create directory BACKUP_DIR AS home/oracle/backup;授权用户grant read,write on directory BACKUP_DIR TO wateruser;1.导出全库导出expdp system/密码 dirrctoryBACKUP_DIR dumpfilefull.dmp logfilefull.log fully按用户导出expdp system/密码 dirrctoryBACKUP_DIR dumpfilewateruser.dmp logfilewateruser.log schemaswateruser按表导出expdp system/密码 dirrctoryBACKUP_DIR dumpfileemp.dmp logfileemp.log tablswateruser.T_OWNERS2.导入全库导入impdp system/密码 dirrctoryBACKUP_DIR dumpfilefull.dmp logfileimp_full.log fully按用户导入impdp system/密码 dirrctoryBACKUP_DIR dumpfilewateruser.dmp logfileimp_wateruser.log schemaswateruser单表导入impdp system/密码 dirrctoryBACKUP_DIR dumpfileemp.dmp logfileimp_emp.log tableswateruser.T_OWNERS七、增量导入导出和全局导入导出的区别# 增量导出必须加闪回参数唯一语法区别//导出 “从这个 SCN 号之后发生过变化的数据expdp 用户名/密码 directory目录 dumpfile增量.dmp logfile增量.log flashback_scn123456# 增量导入必须加 append 追加数据唯一语法区别//如果目标表已经存在不要删、不要覆盖直接把数据追加进去impdp 用户名/密码 directory目录 dumpfile增量.dmp logfile增量.log table_exists_actionappend# 全局导出无特殊参数expdp 用户名/密码 directory目录 dumpfile全量.dmp logfile全量.log fully# 全局导入无特殊参数impdp 用户名/密码 directory目录 dumpfile全量.dmp logfile全量.log fullyexp 用户名/密码 file增量文件.dmp inctypeincremental# 必须加 inctypeincremental这是唯一语法区别exp 用户名/密码 file全量文件.dmp [inctypecomplete]# inctypecomplete 可省略默认就是全局导出exp和imp导入导出这个比expdp和impdp简单多不用创建目录1.导出owner表示导出时要指定导出哪个用户全库导出exp system/密码 fully filefull.dmp logfull.log按用户导出exp system/密码 ownerwateruser filewaterboss.dmp logwateruser.log按表导出exp system/密码 tableswateruser.test filetable.dmp logtable.log2.导入fromuser表示从哪个用户导出来的touser表示导入到哪个用户里去因为。dmp备份文件里记录的是原来的用户导入时必须告诉来源于谁导入给谁全库导入imp system/密码 fully filefull.dmp logimp_full.log按用户导入imp system/密码 fliewateruser.dmp fromuserwateruser touserwateruser logimp_watersuer.log按表导入imp system/密码 filetable.dmp tablestest fromuserwateruser touserwateruser区分文件是exp还是expdp1.看文件本身strings xxx.dmp | head -10exp会输出TEXPORT或EXPORTexpdp会输出DUMPSet或DatePump2.看日志exp:EXPORTexpdp:SYS_EXPORT/DataPumpstrings可以从乱码的dmp文件里提前可以看懂的文字*/commit;

更多文章