关闭

关闭

封号提示

内容

首页 SQL语言基础课件3.ppt

SQL语言基础课件3.ppt

SQL语言基础课件3.ppt

上传者: 千声不语 2011-06-21 评分 4.5 0 51 7 232 暂无简介 简介 举报

简介:本文档为《SQL语言基础课件3ppt》,可适用于IT/计算机领域,主题内容包含SQL语言基础SQL语言基础人民银行郑州培训学院信息部潘汉杰数据存储和检索基础数据存储和检索基础一个快速练习建立一个表CREATETABLEtest符等。

SQL语言基础SQL语言基础人民银行郑州培训学院信息部潘汉杰数据存储和检索基础数据存储和检索基础一个快速练习建立一个表CREATETABLEtesttab(firstnameCHAR(),lastnameCHAR())数据存储和检索基础数据存储和检索基础插入记录INSERTINTOtesttabVALUES(‘Jane’,‘Smith’)INSERT命令一次一个地将记录放入表中。数据存储和检索基础数据存储和检索基础选择记录SELECT*FROMtesttab删除表DROPTABLEtesttab删除表需要一系列的步骤。这个操作是不可逆的!只在绝对肯定不再需要表中所含记录时才能使用这个命令。数据存储和检索基础数据存储和检索基础建立表表和列的命名准则应该尽量记住这些规则以免以后不小心给出不符合这里的一条或多条规则的名称时而手忙脚乱。表或列名的最大长度为个字符。表或列名可包含字母、数字以及下划线字符()。表或列名必须以字母开头。名称可以包含数字或下划线但必须以字母开头。表和列名不区分大小写。数据存储和检索基础数据存储和检索基础表和列的命名准则表或列名不能包含空格。Oracle中的表被分配用户。缺省时它们被分配给建立它们的用户。每个用户的表必须具有一个有别于该用户拥有的其他表的名称。也就是一个用户不能拥有两个具有相同名称的表。(但是不同的用户可以建立具有相同名称的表。)在一个表中每个列必须具有唯一的名字。有的词代表Oracle的命令和参数因此不能用作表名和列名这些词为Oracle保留字。数据存储和检索基础数据存储和检索基础建立更复杂的表Oracle怎样存储文本CHAR和VARCHAR的区别CHAR定长字符串VARCHAR变长字符串。CHAR(n)定长字符串n字节n的取值范围:~字节。VARCHAR(n)可变长的字符串定义时应指明最大长度取值范围:~字节。数据存储和检索基础数据存储和检索基础Oracle怎样存储数值数值类型说明:NUMBER(m,n)数字位长度为m其中n位小数。m中不包括小数点和符号位。CREATETABLEtesttab(productnameVARCHAR(),productpricenumber(,))数据存储和检索基础数据存储和检索基础向表中插入数据:INSERTINTOtesttabVALUES(‘productname’,)INSERTINTOtesttabVALUES(‘productname’,)INSERTINTOtesttabVALUES(‘productname’,)INSERTINTOtesttabVALUES(‘productname’,)select*fromtesttabdroptabletesttab数据存储和检索基础数据存储和检索基础Oracle怎样存储日期Oracle支持儒略日如果一个系统使用儒略日它指定某个开始日期为第一天下一个日期为第天如此往下。这种日历很适合日期计算。Oracle的开始日期为:公元前年的月日。Oracle会自动在我们能够理解的日期模式与儒略日期格式间进行转换。我们只要用熟悉的文本表示插入日期Oracle会将它们在内部转换为等价的儒略日期。数据存储和检索基础数据存储和检索基础试验日期型:CREATETABLEtesttab(productnameVARCHAR(),productpriceNUMBER(,),purchasedateDATE)日期型格式:’月‘’月‘数据存储和检索基础数据存储和检索基础insertintotesttabvalues(‘name’,,’月‘)insertintotesttabvalues(‘name’,,’月‘)select*fromtestdroptabletest数据存储和检索基础数据存储和检索基础查看表结构DESCtablename和NOT列在创建表时就应该确定哪些列是必须要求填写的而哪些列是可填写或可不填写的。在CREATETABLE命令内可通过在列名和数据类型后放置“NOT”来指定某个列是必须要填写内容的。数据存储和检索基础数据存储和检索基础CREATETABLEtesttab(productnameVARCHAR()NOT,productpriceNUMBER(,)NOT,purchasedateDATE)数据存储和检索基础数据存储和检索基础插入数据怎样插入包含值的记录()在INSERT语句中给出值的地方使用。INSERTINTOtesttabvalues(‘namea’,,)用SELECT命令查看该表内容记录的第三列是空的。数据存储和检索基础数据存储和检索基础()使用了INSERT命令的一个变种。在这个变种中明确地给出了要插入数据的每个列。INSERTINTOtesttab(productname,purchasedate)VALUES(‘nameb’,)INSERTINTOtesttab(productname,purchasedate)VALUES(‘namec’,)数据存储和检索基础数据存储和检索基础怎样插入包含单引号的数据在想插入单引号的地方放置两个单引号。INSERTINTOtesttabvalues(‘FifthProduct’’sName’,,)数据存储和检索基础数据存储和检索基础查看数据选定特定的列SELECTproductnameFROMtesttab该命令为在关系testtab上指定列的投影相当于:πproductname(testtab)SELECTproductname,productpriceFROMtesttab相当于:πproductname,productprice(testtab)数据存储和检索基础数据存储和检索基础利用表中的数据进行计算DROPTABLEtesttabCREATETABLEtesttab(productnameVARCHAR(),productpriceNUMBER(,),productcountNUMBER(),salestaxNUMBER(,))数据存储和检索基础数据存储和检索基础INSERTINTOtesttabVALUES(‘namea‘,,,)INSERTINTOtesttabVALUES(‘nameb‘,,,)INSERTINTOtesttabVALUES(‘namec‘,,,)INSERTINTOtesttabVALUES(‘named‘,,,)INSERTINTOtesttabVALUES(‘namee‘,,,)SELECTproductname产品名称productprice单价productcount数量productprice*productcount小计FROMtesttab数据存储和检索基础数据存储和检索基础上面的SELECT命令不但使用表中数据进行运算同时也对列指定了别名。将两个或多个文本连接在一起在Oracle的SELECT语句中可在列名之间放置两条竖线来指出将两个列并置。SELECTproductname||productprice||productcountFROMtesttabSELECTproductname||‘’||productprice||‘’||productcountFROMtesttabOracle的数据类型Oracle的数据类型字符类型CHAR(n)定长字符串n字节n的取值范围:~字节。VARCHAR(n)可变长的字符串定义时应指明最大长度取值范围:~字节。LONG可变长字符列最大长度限制GB一种较老的数据类型逐渐被BLOB、CLOB、等大对象数据类型所取代。数字类型NUMBER(m,n)可变长的数值列m有效数字的位数n小数点以后的位数。Oracle的数据类型Oracle的数据类型日期类型DATE从公元前年月日到公元年月日。定义中还包括时间时、分、秒。默认格式为:DDMONYY,如:月表示年月日。大对象类型大对象类型数据主要有种分别是BLOB、CLOB、NCLOB。最大长度GB主要用来保存各种较大的文件如:WORD文件、音频文件、视频文件等。Bfile数据类型在数据库外部保存的大型二进制文件最大长度是GB。Oraclei可以读取、查询Bfile但是不能写入。Oracle的运算符Oracle的运算符数字运算符和比较运算符数字运算符:*比较运算符:=!=<><><=>=以emp表说明各符号的用法:ANYSOME比较其中任意值该符号前必须是比较运算符(=!=<><=>=)。SQL>selectename,salfromempwheresal<=any(,)Oracle的运算符Oracle的运算符ALL比较列出来的每一个值前面的比较符必须是=!=<><=>=。SQL>selectename,salfromempwheresal<=all(,)NOTNETWEENmANDN如果值大于或等于m且小于或等于n,则返回TRUE。SQL>selectename,salfromempwheresalbetweenandOracle的运算符Oracle的运算符NOTEXISTS如果子查询里至少返回一行则EXISTS为TRUE。SQL>selectename,salfromempwhereexists(select*fromempwheresal>)mNOTLIKEn用来返回列内容跟传送给函数的常量相似的所有行。SQL>selectename,salfromempwhereenamelike'S‘Oracle的运算符Oracle的运算符ISNOT用来测试所要操作的值是否为空。SQL>selectename,salfromempwheresalis逻辑运算符NOT用来对结果取反。SQL>selectename,salfromempwherenot(sal=)Oracle的运算符Oracle的运算符逻辑运算符AND用来限制条件当两个条件同时成立时返回TRUE否则返回FALSE。SQL>selectename,salfromempwheresal>ANDSAL<OR当两个条件有一个成立时返回TRUE否则返回FALSE。SQL>selectename,salfromempwheresal>ORSAL<Oracle的高级数据操纵Oracle的高级数据操纵限定所选择的记录语法:SELECTcolumnFROMtablenameWHEREcondition(s)基于数值过滤记录基于单个值选择记录SELECTename,salFROMempWHEREsal=Oracle的高级数据操纵Oracle的高级数据操纵SELECTename,salFROMempWHEREsal>基于值范围选择记录SELECTename,salFROMempWHEREsal>=ANDSAL<=Oracle的高级数据操纵Oracle的高级数据操纵排除记录使用OR连接两个条件使用NOTBETWEEN排除记录使用!=或<>排除记录SELECT*FROMempWHEREsal>ORsal<SELECT*FROMempWHEREsalNOTBETWEENANDOracle的高级数据操纵Oracle的高级数据操纵基于一组可接受的值选择记录。使用集合操作符INSELECTename,salFROMempWHEREenameIN(‘SMITH’,’JONES’,’BLAKE’)Oracle的高级数据操纵Oracle的高级数据操纵基于文本过滤记录使用LIKE操作符。使用通配符通配符表示文本可以是任何数量的字符。使用通配符下划线()通配任何一个字符。SELECT*FROMempWHEREenameLIKE‘S’SELECT*FROMempWHEREenameLIKE‘SI’Oracle的高级数据操纵Oracle的高级数据操纵基于日期过滤记录类似于基于数值的选择。由于比较值是日期因此切记用单引号将所指定的日期括起来。SELECT*FROMempWHEREhiredate=‘月’SELECT*FROMempWHEREhiredate>‘月’Oracle的高级数据操纵Oracle的高级数据操纵基于空值选择记录通过在WHERE子句中放置IS来检查空值。insertintodeptvalues(,'asdf',)SELECT*FROMdeptWHERElocisnotOracle的高级数据操纵Oracle的高级数据操纵改变记录顺序按单列排序使用ORDERBY子句。默认按升序降序时需加DESC。SELECTename,salFROMempORDERBYenameSELECTename,salFROMempORDERBYsalDESC按多列排序即第一排序字段、第二排序字段。SELECTename,sal,hiredateFROMempORDERBYsal,hiredateOracler的高级数据操纵Oracler的高级数据操纵显示唯一值去掉列中重复的值。使用子句:DISTINCT或UNIQUE。SELECTdistinctsalfromempSELECTuniquesalfromempOracle的高级数据操纵Oracle的高级数据操纵从DUAL中选择DESCDUALSELECT*FROMDUALselect*fromdualselectsqrt()fromdualDUAL表包含一列和一行。DUAL表的数据从不直接使用只用于支持类似上面所进行的临时查询。Oracle的高级数据操纵Oracle的高级数据操纵更改表中数据执行UPDATE操作即可很容易地修改表中的数据。语法如下:UPDATE表名SET列名=新值WHERE条件UPDATEempSETsal=WHEREename=‘SMITH’Oracle的高级数据操纵Oracle的高级数据操纵删除表中的记录处理表时所需要的最后一个基本技术是删除记录的能力。DELETE命令的语法如下:DELETEFROM表名WHERE条件insertintodeptvalues(,'dsf','dsfasdf')deletefromdeptwheredeptno=使用此命令时一定要考虑指定条件!!不指定条件将删除表中的所有行。Oracle的高级数据操纵Oracle的高级数据操纵截断一个表该命令的优点是速度快。当Oracle执行此命令时它不读取表中已有的记录而是直接截掉这些记录并且还自动释放被截断的记录以前所占用的表空间该操作是不可逆的。TRUNCATETABLE表名Oracle的高级数据操纵Oracle的高级数据操纵事务处理控制事务的概念完成一项任务可能需要若干步的操作我们把执行这若干步操作的过程看作一个整体称为事务。完成并注意观察操作的结果:CREATETABLEtest(namevarchar(),agenumber())INSERTINTOtestvalues(‘name’,)INSERTINTOtestvalues(‘name’,)INSERTINTOtestvalues(‘name’,)Oracle的高级数据操纵Oracle的高级数据操纵SELECT*FROMtestROLLBACKSELECT*FROMtestDROPTABLEtestROLLBACK所提供的功能是一个很有用的撤消机制并且不限制为一个级别的撤消。通过将ROLLBACK与另一个命令SAVEPOINT(保存点)配对使用指定ROLLBACK命令可返回的任何数量的位置点。完成、观察、思考以下操作的结果:Oracle的高级数据操纵Oracle的高级数据操纵CREATETABLEtest(namevarchar(),agenumber())INSERTINTOtestvalues(‘namea’,)SAVEPOINTaINSERTINTOtestvalues(‘nameb’,)SAVEPOINTspINSERTINTOtestvalues(‘namec’,)SAVEPOINTthirdINSERTINTOtestvalues(‘named’,)SAVEPOINTfinalspOracle的高级数据操纵Oracle的高级数据操纵SELECT*FROMtestROLLBACKTOfinalspSELECT*FROMtestROLLBACKTOthirdSELECT*FROMtestROLLBACKTOspSELECT*FROMtestROLLBACKTOaSELECT*FROMtestROLLBACKSELECT*FROMtestDROPTABLEtestOracle的高级数据操纵Oracle的高级数据操纵提交事务COMMIT使用COMMIT命令将使对表的更改永久保存。由于COMMIT命令使Oracle将你所做的更改写入数据库的表中使回退不再可能因此在提交前所出现的任何保存点都被清除。完成、观察、思考以下操作的结果:CREATETABLEtest(namevarchar(),agenumber())INSERTINTOtestVALUES(‘name’,)SAVEPOINTaINSERTINTOtestVALUES(‘name’,)SAVEPOINTbINSERTINTOtestVALUES(‘name’,)COMMITROLLBACKTObOracle的高级数据操纵Oracle的高级数据操纵使用数据为其他人所用由于COMMIT命令引起了数据的更改被写入到与所有其他用户共享的数据库中因此提交工作将影响到其他用户查看这些数据。当了布COMMIT命令时它使你的更改为其他用户所见。但是在你提交所做的那些更改之前它们是不会为其他用户所见的这些更改可能是插入一千行新记录又更改一千行记录然后删除另一千记录除非你提交了这些工作否则这些更改不会影响其他用户的SELECT语句。Oracle的高级数据操纵Oracle的高级数据操纵隐式和显式的COMMIT某些Oracle命令自动执行一个COMMIT而不用等待你去发出该命令换句话说COMMIT是隐式执行的。任何DDL命令在执行其功能前(如CREATETABLE或DROPTABLE)都将隐式提交所有未保存的数据。另外退出Oracle(或关闭SQL*PLUS)前将自动提交更改。完成、观察、思考以下操作的结果:Oracle的高级数据操纵Oracle的高级数据操纵DROPTABLEtestCREATETABLEtest(nameVARCHAR(),ageNUMBER())INSERTINTOtestVALUES(‘namex’,)INSERTINTOtestVALUES(‘namey’,)SELECT*FROMtestCREATETABLEtest(nameVARCHAR()ROLLBACKSELECT*FROMtest

类似资料

该用户的其他资料

高中信息技术教学案例.doc

Java.Bug模式详解.pdf

Java.Web服务开发.pdf

JAVA设计模式.影印版.pdf

[专业英语]《常用会计词汇》.pdf

职业精品

精彩专题

上传我的资料

精选资料

热门资料排行换一换

  • 咏春拳 叶问系.pdf

  • 論李道純及其著作_附杜道堅王玠-…

  • 人教版六年级数学上册第二单元_分…

  • 二级建造师《机电工程》教材.PDF

  • 灵魂占星学.pdf

  • Algebraic groups…

  • (东晋)王羲之小楷佛遗教经.pdf

  • [斯泰尔斯庄园奇桉.丁大刚.译.…

  • [罗杰疑桉.张江云.译.人民文学…

  • 资料评价:

    / 49
    所需积分:2 立即下载

    意见
    反馈

    返回
    顶部