oracle数据库的安装首先安装的时候需要设置口令:这里的口令只是针对system、sys等用户登陆时候的口令;口令管理:此时可以针对scott用户进行设置口令、如果此时不修改scott的口令scott的默认口令为tigeroracle数据库的安装与卸载(删除之前需要将服务停止)1.开始菜单中程序oracle-oradb10g_home1下面有个卸载2.清理注册表:a.删除HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE目录b.删除HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services中所有以oracle或OraWeb为开头的键。c.HKEY_LOCAL_MACHINE/SYSETM/CurrentControlSet/Services/Eventlog/application中所有以oracle开头的键。d.删除HKEY_CLASSES_ROOT目录下所有以Ora、Oracle、Orcl或EnumOra为前缀的键e.HKEY_CURRENT_USER/SOFTWARE/Microsoft/windows/CurrentVersion/Explorer/MenuOrder/StartMenu/Programs中所有以oracle开头的键。f.删除HKDY_LOCAL_MACHINE/SOFTWARE/ODBC/ODBCINST.INI中除MicrosoftODBCforOracle注册表键以外的所有含有Oracle的键到这一步,检查一下环境变量,看oracle配置的环境变量是否存在(path)完了重启电脑Oracle数据库开发工具(PL/SQLdeveloper和微软的sqldeveloper)Oracle服务器由Oracle数据库和Oracle实例组成Oracle实例由系统全局区内存结构和用于管理数据库的后台进程组成Oracle中用于访问数据库的主要查询工具有SQL*Plus、iSQL*Plus和PL/SQLOracle企业管理器是用于管理、诊断和调整多个数据库的工具Oracle中的SYSTEM用户和SYS用户具有管理权限,而SCOTT用户只有基本的权限Oracle服务在Windows注册表中注册,并由Windows操作系统管理Oracle的数据类型:数值类型Number(p,s):数字型p为整数位s为小数位Decimal(p,s):数字型p为整数位s为小数位Integer:整数类型Float:浮点型双精度Real:实数类型精度更高字符数据类型Char:固定长度字符,最大长度为2000bytesvarchar2:可变长度的字符串,最大长度为4000bytes可做索引的最大长度为749nchar:根据字符集而定的固定长度字符串最大长度为2000bytesnvarchar2:根据字符集而定的可变长度字符串最大长度为4000bytesLong:超长字符串最大长度2G(2^31-1)日期时间Date日期(日-月-年):格式DD_MM_YY(HH_MI_SS)LOB(数据)RAW:固定长度的二进制数据最大长度2000bytes可存放多媒体图像声音LongRAW:可变长度的二进制数据最大长度2GBlob:二进制数据,最大长度4GClob:字符数据最大长度4GNclob:根据字符集而定的字符数据最大长度4GBfile:存放在数据库外的二进制数据,最大长度4G伪列Rowid:表示行的存储地址,该地址可以唯一标识数据库中的一行,可以使用ROWID伪列快速的定位表中的一行Rownum:是查询返回的结果集中行的序号,可以使用它来限制查询返回的行数Oracle的语句--创建同义词createpublicsynonymtb_studentforscott.tb_student--创建表空间sys账户可以默认有创建表空间的权限--其余的账户创建表空间需要呗赋予权限createtablespacelingedatafile'e:/linge_data.dbf'size100Mautoextendon--删除表空间droptablespacelinge--创建新用户分配默认空间createuserlingeidentifiedbylingedefaulttablespacelingecreateuserzhangsanidentifiedbyzhangsan--删除用户dropuserzhangsanalteruserzhangsandefaulttablespacelinge--权限分配grantconnecttolingegrantconnecttozhangsan--授予resource角色grantresourcetolingegrantcreatesession,createtable,createview,unlimitedtablespacetolinge数据库查询Sql语言按功能划分:DDL、DML、DCL和数据库事务处理语言查询关键字:ALTER、DROP、REVOKE、AUDIT、GRANT、ROLLBACK、COMMIT、INSERT、SELECT、COMMENT、LOCK、UPDATE、CREATE、NOAUDIT、VALIDATE、DELETE、RENAME--查询emp表中部门编号为10的所有人员信息select*fromempwheredeptno=10select*fromSCOTT.emp;--查询部门中部门编号和部门名称selectdeptno,dnamefromdept;selectrownum,enamefromemp;--计算列不是表中的列计算出来的selectename,sal,sal*(1+20/100)fromempselectenameasa姓名,salas薪水fromemp;selectename||job||deptnoas雇员和职务表fromempselectename||'is'||jobas雇员和职务表fromempselect'你好'||ename||',您的薪水是'||salfromemp--orderbydesc(降序)asc(升序默认)selectename,salfromemporderbysaldescselectename,hiredatefromemporderbyhiredateselectename,hiredate,deptnofromemporderbydeptno,hiredate--对计算列排序selectempno,ename,sal*months_between(sysdate,hiredate)astotalfromemporderbytotal--Months_betweensys_date--条件查询--注意大小写--字符串的值对大小写敏感selectename,job,salfromempwherejob='SALESMAN'selectename,job,salfromempwherejob='salesman'select*fromempwhereename='SMITH'selectename,job,salfromempwheresal=3000;selectename,hiredatefromempwherehiredate='1-1月-82'--数值是整数在查询的条件的时候可以不要单引号selectename,hiredate,deptnofromempwheredeptno=10--多条件查询--逻辑与select*fromempwheresal=1000andsal=2000select*fromempwheresal1500anddeptno=10--逻辑或select*fromempwherejob='CLERK'orjob='MANAGER'--不等于的三种表达方式select*fromempwherenotdeptno=10select*fromempwheredeptno!=10select*fromempwheredeptno10--逻辑与和逻辑或一起使用select*fromempwhere(deptno=10ordeptno=20)andsal1500;--逻辑与和逻辑或一起使用的时候不要括号的时候select*fromempwheredeptno=10ordeptno=20andsal1500;--betweenand--查询范围包含上下限值selectename,job,mgr,hiredatefromempwheresalbetween1000and2000--notbetweenandselectename,job,mgr,hiredatefromempwheresalnotbetween1000and2000--inselect*fromempwhereJOBin('SALESMAN','CLERK','MANAGER');--notinselect*fromempwherejobNOTin('SALESMAN','CLERK','MANAGER');select*fromempwheredeptnoin(20,10);--模糊查询select*fromempwhereenamelike'S%'select*fromempwhereenamelike'_MITH';--null判断不能用=号判断selectename,mgrfromempwheremgrisnull--返回字符串并将字符串第一个字符大些selectinitcap('hello')fromdualselectinitcap('林哥')fromdual--将字符串改成小写selectlower('LINGE')fromdualselectlower('LinGE')fromdual;selectupper('linge')fromdual;--将字符串去掉从第一个字符开始的指定字符串字符串必须连续一个一个的匹配--如果按顺序没有找到就返回字符串selectltrim('lingeweiwu','linge')fromdualselectltrim('lingeweiwu','linw')fromdualselectltrim('lingweiwu','gwei')fromdual--从字符串末尾去掉指定字符串selectRtrim('lingeweiwu','weiwu')fromdual--用指定字符替换字符串中的字符--只能替换相同数量的字符selecttranslate('lingeweiwu','in','oh')fromdual--用指定字符替换字符串中的字符--可以用多个字符替换一个字符--也可以用多个字符替换多个字符selectreplace('jackandjue','j','bl')fromdualselectreplace('jackandjaue','ja','bl')fromdual--查询指定字符串或者字符在字符串中第一次出现的位置selectinstr('worldwilde','ld')fromdual--截取第一参数开始截取的位置第二个参数截取字符的数量selectsubstr('abcdefg',3,2)fromdual--字符串拼接selectconcat('Hello','world')fromdual--查询字符串的长度selectlength('linge')fromdual--日期函数--增加减去月份add_monthsselectto_char(add_months(to_date('199912','yyyymm'),2),'yyyymm')fromdual--系统时间加1加的是天数selectto_char(sysdate,'yyyy.mm.dd'),to_char((sysdate)+1,'yyyy.mm.dd')fromdual--返回日期最后天selectlast_day(sysdate)fr