您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > oracle基础知识
1基础知识ORACLE安装和删除ORACLE9i9.0.1空间1.76GORACLE9i9.0.2空间2.86GSETUP.exe双击如果启动不了Listener(监听器)1改注册表ImagePathD:\oracle\ora90\BIN\TNSLSNR2用命令行启动cmd-tnslsnr最小化tNSlsnter监听器如果无法启动运行cmd切换到DOS界面敲tnslsnr窗口不要关闭3D:\oracle\ora90\network\ADMINlistener.ora文本文件HOST=localhost或机器名用户名system密码manager默认用户:超级用户:用户名system/密码manager用户名sys/密码change_on_install普通的用户:用户名scott/密码tiger注意的问题:安装的源程序放在什么目录下??1目录中不要出现中文名字的目录2数据库的名字不要是中文,8个字符以内3字符集用默认的ZHS16GBK操作ORACLE数据库的工具ORACLESQL*PLUS字符界面ORACLE自带sqlplusw.exewindows窗口下的sqlplussqlplus.exeDOS下的sqlplus用户名scott密码tiger普通用户systemmanager超级用户syschange_on_install超级用户比system权限还要大SQLPLUS下的常用命令showuser察看用户connect用户名/密码连接到指定用户connectscott/tigerselect*fromtabwheretabtype='TABLE';察看当前用户下的表selectcount(*)fromdept;查询表dept中记录的行数descdept察看表dept的结构quit/exit退出clearscreen清除屏幕setlinesize200设置一行显示200个字符setpagesize20设置每页显示20行spool文件名(spoolc:\abc.txt)作日志文件命令spooloff修改D:\oracle\ora90\sqlplus\admin\glogin.sql文件可以设置SQLPLUS的环境setlinesize200setpagesize20浏览器使用oracle(isqlplus)D:\oracle\ora90\Apache\Apache\conf\httpd.conf修改80端口-8001中字段的数据类型字符型char范围最大2000个字节定长char(10)'张三'后添空格6个把10个字节补满'张三'性别char(2)'男'varchar2范围最大4000个字节变长varchar2(10)'张三'在数据库中'张三'大对象字符型大对象4000字节最大4GCLOB(CharacterLargeOBject)数字number范围10的-38次方到10的38次方可以表示小数也可以表示整数number(4)最大表示4位整数-9999到9999number(5,2)表示5位有效数字2位小数的一个小数-999.99到999.99日期date包含年月日和时分秒7个字节图片blob二进制大对象图像/声音4G如何建表学生表studentcreatetablestudent(--学生表xhnumber(4),--学号xmvarchar2(10),--姓名sexchar(2),--性别birthdaydate,--日期salnumber(7,2)--奖学金);班级classcreatetableclass(--班级表classidnumber(2),--班级编号cnamevarchar2(20)--班级名字);添加字段(学生所在班级classid)altertablestudentadd(classidnumber(2));修改字段的长度altertablestudentmodify(xmvarchar2(12));修改字段的类型(不能有记录的)altertablestudentmodify(xhvarchar2(5));删除一个字段altertablestudentdropcolumnsal;删除表droptablestudent;表的名字修改renamestudenttostu;字段如何改名字--先删除a)altertablestudentdropcolumnsal;--再添加b)altertablestudentadd(salarynumber(7,2));如何插入数据插入数据insert语句所有字段都插入insertintostudentvalues('A001','张三','男','01-5月-05',10);ORACLE中默认的日期格式'DD-MON-YY'dd日子(天)mon月份yy2位的年'09-6月-99'1999年6月9号改日期的默认格式altersessionsetnls_date_format='yyyy-mm-dd';insertintostudentvalues('A002','MIKE','男','1905-05-06',10);恢复ORACLE默认格式altersessionsetnls_date_format='dd-mon-yy';察看日期的格式setlinesize1000select*fromnls_session_parameterswhereparameter='NLS_DATE_FORMAT';永久设置日期格式改注册表oracle/HOME0加字符串NLS_DATE_FORMAT值yyyy-mm-dd部分字段插入insertintostudent(xh,xm,sex)values('A003','JOHN','女');插入空值insertintostudent(xh,xm,sex,birthday)values('A004','MARTIN','男',null);修改update改一个字段updatestudentsetsex='女'wherexh='A001';改多个字段updatestudentsetsex='男',birthday='1980-04-01'wherexh='A001';改为空值(修改为空时=null)updatestudentsetbirthday=nullwherexh='A001';把生日为空的人的班级编号改为20(条件中的空是isnull/isnotnull)updatestudentsetclassid=20wherebirthdayisnull;错误的没有达到要求updatestudentsetclassid=20wherebirthday=null;不表示空值表示xm是null的字符串updatestudentsetclassid=20wherexm='null';删除deletedeletefromstudent;删除所有记录,表结构还在,写日志,可以恢复的,速度慢droptablestudent;删除表的结构和数据deletefromstudentwherexh='A001';删除一条记录truncatetablestudent;删除表中的所有记录,表结构还在,不写日志,无法找回删除的记录,速度快查询selectselect*fromstudent;selectxh,xm,sexfromstudent;select*fromstudentwherexhlike'A%1';%任意多个字符select*fromstudentwherexhlike'A__1';_1个字符select*fromstudentwherexhlike'%A%';select*fromstudentwherexhlike'A%';select*fromstudentwherexhlike'%A';select*fromstudentwherexh='A%';select*fromstudentorderbybirthday;升序(orderbybirthdayasc;)select*fromstudentorderbybirthdaydesc;--降序select*fromstudentorderbybirthdaydesc,xhasc;--按birthday降序按xh升序(asc/默认)select*fromstudentwheresex='女'orbirthday='1999-02-01';select*fromstudentwheresex='女'andbirthday='1999-02-01';select*fromstudentwheresalary20andxh'B002';(!=)ORALCE的函数分组函数返回值是多条记录groupbysumavg单行函数字符函数concat连接||1显示dname和loc中间用-分隔selectdeptno,dname||'----'||locfromdept;dual哑元表没有表需要查询的时候可以用它select'HelloWorld'fromdual;select1+1fromdual;查询系统时间selectsysdatefromdual;2initcap首字母大写selectename,initcap(ename)fromemp;3lower转换为小写字符selectename,lower(ename)fromemp;4upper转换为大写updatedeptsetloc=lower(loc);updatedeptsetloc=upper(loc);5LTRIM去除左边的空格RTRIM去除右边的空格ALLTRIM去除两边的空格6replace替换translate转换selectename,replace(ename,'S','s')fromemp;用's'去替换ename中的'S'selectename,translate(ename,'S','a')fromemp;7ASCII求ASC码chrasc码变字符selectascii('A')fromdual;selectchr(97)fromdual;select'Hello'||chr(9)||'World'fromdual;'\t'ascii码是9'\n'ascii码是10select'Hello'||'\t'||'World'fromdual;8substr字符截取函数selectename,substr(ename,1,3)fromemp;从第1个位置开始显示3个字符selectename,substr(ename,4)fromemp;从第4个位置开始显示后面所有的字符9instr测试字符串出现的位置selectename,instr(ename,'S')fromemp;'S'第1次出现的位置selectename,instr(ename,'T',1,2)fromemp;从第1个位置开始测试'T'第2次出现的位置10length字符串的长度selectename,length(ename)fromemp;日期和时间函数1sysdate系统时间selectsysdatefromdual;selectto_char(sysdate,'yyyy/mm/ddhh24:mi:ss')fromdual;selectto_char(sysdate,'DDD')fromdualselectto_char(sysdate,'D')fromdualselectto_char(sysdate,'DAY')fromdualselectto_char(sysdate,'yyyy-mm-dd')fromdual;selectto_char(sysdate,'yyyy年mm月dd日hh24:mi:ss')fromdual;select''''fromdual;selectto_char(sysdate,'SSSSS'
本文标题:oracle基础知识
链接地址:https://www.777doc.com/doc-2884837 .html