ORACLE数据库提纲1.创建表空间、用户以及授权2.Oracle数据类型、函数3.表视图索引4.常用SQL语句PLSQLDeveloper使用•1.PLSQLDeveloper登录本地net服务名normal是普通用户sysdba拥有最高的系统权限,登陆后是syssysoper主要用来启动、关闭数据库,sysoper登陆后用户是public创建表空间•2.选择tablespaces点右键选择new如图创建表空间•3输入表空间名称点新建类似如图配置点确定创建表空间•4.查看配置相关信息,再次点确定即可创建该表空间(注:一表空间可对应多个数据文件,而一个数据文件仅属于某一个表空间)创建用户以及授权•1.选择USER点右键新建弹出如图所示创建用户以及授权2.一般页签输入用户口令选择该用户对应的表空间,临时表空间TEMP类似如图所示创建用户以及授权•2.在三个权限页签中赋予该用户相应权限如图dba权限创建用户以及授权•3.限额页签可设置用户对表空间的使用额度,设置完后点应用即可完成用户创建及授权Oracle常用数据类型数据类型说明char字符型,最大长度2000B,缺省长度为1Bnchar基于NLS国家字符集的字符型,最大长度2000B,缺省为1字符varchar2变长字符型,最大长度4000Bnvarchar2基于NLS国家字符集的字符型,其余同carchar2varchar同varchar2number(m,n)数值型。m为总位数,n为小数位数。总长度最大为38位date日期型。有效表示范围公元前4712年1月1日到公元4712年12月31日long变长字符型,最大长度2GB,不支持对字符串内容进行搜索raw变长二进制数据类型,最大长度2000Blongraw变长二进制数据类型,最大长度2GBblob二进制大对象类型,最大长度4GBclob字符大对象类型,最大长度4GBnclob基于NLS国家字符集的字符大对象类型,最大长度4GBbfile在数据库外部保存的大型二进制文件对象类型,最大长度4G数据类型比较类型名称OracleSQLServer比较字符数据类型CHARCHAR都是固定长度字符资料但oracle里面最大度为2kb,SQLServer里面最大长度为8kb变长字符数据类型VARCHAR2VARCHAROracle里面最大长度为4kb,SQLServer里面最大长度为8kb根据字符集而定的固定长度字符串NCHARNCHAR前者最大长度2kb后者最大长度4kb根据字符集而定的可变长度字符串NVARCHAR2NVARCHAR二者最大长度都为4kb日期和时间数据类型DATE有Datetime和Smalldatetime在oracle里面格式为DMY在SQLSerser里面可以调节,默认的为MDY数字类型NUMBER(P,S)NUMERIC[P(,S)]Oracle里面p代表小数点左面的位数,s代表小数点右面的位数。而SQLServer里面p代表小数点左右两面的位数之和,s代表小数点右面的位数。数字类型DECIMAL(P,S)DECIMAL[P(,S)]Oracle里面p代表小数点左面的位数,s代表小数点右面的位数。而SQLServer里面p代表小数点左右两面的位数之和,s代表小数点右面的位数。整数类型INTEGERINT同为整数类型,存储大小都为4个字节浮点数类型FLOATFLOAT实数类型REALREAL常用数值函数函数功能用法返回结果abs()取绝对值abs(-3.14)3.14round()四舍五入round(3.1415)round(3.1415,3)round(314.159,-2)33.142300trunc()截断trunc(3.1415,3)3.141ceil()向上取整ceil(3.14)4floor()向下取整floor(3.14)3sign()判断数值正负sign(-3.14)-1sig()…三角函数…sig(3.14)……0.001592653power()幂运算power(2,2)4sqrt()开平方sqrt(9)3mod()取模mod(10,3)1exp()基数为e的幂exp(1)2.71828183(e)log()对数运算log(4,16.0)2ln()自然对数ln(7)1.94591015常用分组统计函数函数功能适用类型SUM()求和数值型AVG()计算平均值数值型MAX()计算最大值任何数据类型MIN()计算最小值任何数据类型COUNT()返回查询到的记录的行数任何数据类型数字、字符、日期转化selectto_char(sysdate,‘yyyy-mm-ddhh:mi:ssam’)fromdual;结果为:2012-07-2801:05:37上午selectto_char(sysdate,'yyyy-mm-ddhh24:mi:ss')fromdual;结果为:2012-07-2801:05:46功能OracleSqlserver求字符长度Length()Len()删除空格ltrim,rtrim,trimltrim,rtrim系统时间sysdategetdate()连接字符串||+截取字符Substr()Mid()表•创建表格语法:方法一createtable学员信息(学号varchar2(10)notnull,姓名varchar2(10)notnull,电话varchar2(12)notnull,地址varchar2(100));方法二createtable学员信息表2asselect*from学员信息表数据插入删除更新•--查询数据•Select*from学员信息•--插入数据insertinto学员信息values(001,'李四','13574148411','湘潭市')•--更新数据update学员信息set姓名='李四'where学号=001;•--删除表droptable学员信息;视图•视图是基于一个表或多个表或视图的逻辑表,本身不包含数据,通过它可以对表里面的数据进行查询和修改。视图基于的表称为基表。•视图是存储在数据字典里的一条select语句。通过创建视图可以提取数据的逻辑上的集合或组合。•视图的优点:•1.对数据库的访问,因为视图可以有选择性的选取数据库里的一部分。•2.用户通过简单的查询可以从复杂查询中得到结果。•3.维护数据的独立性,试图可从多个表检索数据。•4.对于相同的数据可产生不同的视图。视图•视图的创建:CREATEVIEWview_nameasSelect*from学员信息--查询语句•视图的查询Select*fromview_name•视图的删除:DROPVIEWVIEW_NAME常用SQL语句•select*fromall_tab_comments•--查询所有用户的表,视图等的注释•select*fromuser_tab_comments•--查询本用户的表,视图等的注释•select*fromall_col_comments•--查询所有用户的表的列名和注释.•select*fromuser_col_comments•--查询本用户的表的列名和注释•select*fromall_tab_columns•--查询所有用户的表的列名等信息(详细但是没有备注).•select*fromuser_tab_columns•--查询本用户的表的列名等信息(详细但是没有备注).•6)查看用户ZBFC的所有的表名及表存放的表空间•selecttable_name,tablespace_namefromall_tableswhereowner='xxxx'orderbytable_namedesc•7)生成删除表的文本•select'Droptable'||table_name||';'fromall_tableswhereowner=”ZBFC”;•8)删除表级联删除•droptabletable_name[cascadeconstraints];•9)查找表中的列•selectTABLE_NAME,COLUMN_NAME,DATA_TYPEfromuser_tab_columnswherecolumn_namelike'%'||'地'||'%'orderbytable_name常用SQL语句•查看用户下所有的表•select*fromuser_tables;•查看某表的创建时间•selectobject_name,createdfromuser_objectswhereobject_name=upper('&table_name');•查看某表的大小selectsum(bytes)/(1024*1024)assize(M)fromuser_segments•wheresegment_name=upper('&table_name');查看数据库的版本•SelectversionFROMProduct_component_version•WhereSUBSTR(PRODUCT,1,6)='Oracle';Oracle索引适当的使用索引可以提高数据检索速度,可以给经常需要进行查询的字段创建索引oracle的索引分为5种:唯一索引,组合索引,反向键索引,位图索引,基于函数的索引创建索引的标准语法:•CREATEINDEX索引名ON表名(列名)TABLESPACE表空间名;创建唯一索引:•CREATEuniqueINDEX索引名ON表名(列名)TABLESPACE表空间名;创建组合索引:•CREATEINDEX索引名ON表名(列名1,列名2)TABLESPACE表空间名;创建反向键索引:•CREATEINDEX索引名ON表名(列名)reverseTABLESPACE表空间名;谢谢Thankyou