您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > Oracle SQL基础培训
1OracleSQL基础培训BI应用部高棉泉2011.032目录课程介绍DDL基础SQL介绍DML基础DCL基础TL基础3课程介绍•教程概述•本教程假设读者已了解关系型数据库基本原理,明白表、视图、主键、索引、外键、约束、关联等基本概念•本教程定位是OracleSQL简明、实用教程,偏向于SQL开发,若进一步学习Oracle数据库设计,请参阅其他教程或书籍文档•课程目标是完成课程后可进行项目中大部分OracleSQL开发•适用对象•学习过标准SQL,未使用过Oracle数据库的读者•适用过SQLServer或其他数据库,未使用过Oracle数据库的读者4目录课程介绍DDL基础SQL介绍DML基础DCL基础TL基础5SQL介绍•概述•SQL是StructuredQueryLanguage简写•SQL用于组织、访问和处理数据库中的数据标准的计算机语言•SQL具有第四代语言的特征,程序关注要告诉DBMS要得做什么操作,及其相应条件,至于如何得到数据,如何使用索引,如何关联多表,由DBMS完成•分类•DataDefinitionLanguage(DDL数据定义语言)•DataManipulationLanguage(DML数据操作语言)•DataControlLanguage(DCL数据控制语言)•TransactionLanguage(TL数据事务语言)6目录课程介绍DDL基础SQL介绍DML基础DCL基础TL基础7DDL基础•语句•CREATE创建数据库对象•DROP删除数据库对象•TRUNCATE删除指定表全部数据,不可回滚•ALTER修改数据库对象•COMMENT给表、字段添加备注•RENAME重命名数据库对象•分类•表相关•视图相关•同义词相关8DDL基础•表•标准创建表语句•从查询创建表•修改表结构•删除表数据•删除表结构9DDL基础-表-标准建语句•用途•在数据库中建立表•语法•示例10DDL基础-表-标准建语句•示例•创建客户表并设置CUSTOMER_ID为主键11DDL基础-表-标准建语句•示例•创建部门表departments并设置DEPARTMENT_ID为主键•创建员工表eployees并设置EMPLOYEE_NUMBER为主键,DEPARTMENT_ID为外键,引用部门表主键DEPARTMENT_ID12DDL基础-表-从查询创建表•用途•在数据库中建立表,并将相应查询返回的数据插入至新建表中。但查询相关表的索引、主键等不会复制到新建表中•语法CREATEtabletable_nameasselectquery•示例•备份整个suppliers表数据到新建表supplier_20100303CREATEtablesuppliers_20100303asselect*fromsuppliers13DDL基础-表-从查询创建表•示例•单表查询,按指定查询列创建表suppliers,并填充数据•多表关联,按指定查询列创建表suppliers,并填充数据•创建表单但不填充数据,再用脚本插入数据(数据处理时常用)14DDL基础-表-修改表结构•用途•在数据库中对已有表增加备注•语法•示例15DDL基础-表-修改表结构•用途•在数据库中对已有表字段增加备注•语法•示例16DDL基础-表-修改表结构•用途•在数据库中对已有表重命名•语法•示例17DDL基础-表-修改表结构•用途•在数据库中对已有表添加字段•语法•示例18DDL基础-表-修改表结构•用途•在数据库中对已有表修改字段•语法•示例19DDL基础-表-修改表结构•用途•在数据库中对已有表删除字段•语法•示例20DDL基础-表-删除表数据•用途•在数据库中删除指定表数据(全部数据,不可回滚)•语法TRUNCATETABLEtable_name;•示例TRUNCATETABLEsupplier;21DDL基础-表-删除表结构•用途•在数据库中删除指定表结构•语法DROPTABLEtable_name;•示例DROPTABLEsupplier;22DDL基础•视图•创建视图•修改视图•删除视图23DDL基础-视图-创建视图•用途•在数据库中创建视图•语法•示例查询数据24DDL基础-视图-修改视图•用途•在数据库中修改或者创建视图•语法•示例25DDL基础-视图-删除视图•用途•在数据库中删除指定视图•语法DROPVIEWview_name;•示例DROPVIEWsup_orders_v;26DDL基础•同义词•创建同义词•修改同义词•删除同义词•同义词概念•同义词是一个数据库对象的别名,和视图类似,是一种映射关系•视图只能映射查询,同义词可以映射表、视图、存储过程、函数、包、序列等•同义词本身也是数据库对象,一般用于使用别的用户的对象,使用同义词可以屏蔽具体被使用对象的所属用户和真实名称27DDL基础-同义词-创建同义词•用途•在数据库中创建别的用户(schema)的数据库对象•语法•示例查询数据28DDL基础-视图-修改同义词•用途•在数据库中修改或者创建视图•语法•示例29DDL基础-表-删除同义词•用途•在数据库中删除指定同义词•语法DROPSYNONYMsynonym_name;•示例DROPSYNONYMfnd_user;30目录课程介绍DDL基础SQL介绍DML基础DCL基础TL基础31DCL基础•权限清单•授权语句•Grant•Revoke32DCL基础-授权语句-Grant•语法•grantprivilegesonobjecttousers;•示例•授指定表一个权限,给指定用户grantselectonsupplierstosmithj;•授指定表多个权限,给指定用户grantselect,insert,update,delteonsupplierstosmithj;•授指定表全部权限,给指定用户grantallonsupplierstosmithj;•授权指定表指定权限,给所有用户grantselectonsupplierstopublic;33DCL基础-授权语句-Revoke•语法•revokeprivilegesonobjectfromusers;•示例•从指定用户收回指定表一个权限revokeselectonsuppliersfromsmithj;•从指定用户收回指定表多个权限revokeselect,insert,update,delteonsuppliersfromsmithj;•从指定用户收回指定表全部权限revokeallonsuppliersfromsmithj;•从所有用户收回指定表指定权限revokeselectonsuppliersfrompublic;34目录课程介绍DDL基础SQL介绍DML基础DCL基础TL基础35DML基础•算术运算符•关系运算符•SELECT语句:查询数据•集合运算符:复合查询•SUBQUERY子查询•LEVEL、PRIOR与CONNECTBY…STARTWITH•ROWNUM与分页查询•INSERT语句:插入数据•UDATE语句:更新数据•DELETE语句:删除数据•SELECT与INSERT、UPDATE、DELETE36DML基础•算术运算符号•+加1+1•-减2-1•*乘2*3•/除4/2•||字符连接‘Beijing’||‘2008’37DML基础•关系运算符号•=等于,1=1•不等于,21•大于,21•小于,12•=大于等于,2=1•=小于等于,1=2•ISNULL为空,没有值,不是空字符串•ISNOTNULL不为空,有值•BETWEENAND检索两值之间的内容,2BETWEEN1AND3•IN检索匹配列表中的值•LIKE检索匹配字符样式的数据38DML基础•逻辑运算符号•AND两个为真则结果为真•OR一个为真即为真•NOT取相反的逻辑值39DML基础•SELECT语句•完整SELECT语句•基本SELECT语句•ORDERBY从句•DISTINCT从句•WHERE从句•AND条件•OR条件•AND、OR复合条件•IN与NOTIN•BETWEEN与NOTBETWEEN•LIKE与NOTLIKE•EXISITS与NOTEXISITS•GROUPBY从句•HAVING从句•JOINS关联40DML基础-SELECT语句-完整SELECT语句SELECT[ALL|DISTINCT[ON(expression[,...])]]*|expression[ASoutput_name][,...][INTO[TEMPORARY|TEMP][TABLE]new_table]FROMfrom_item[,...][WHEREcondition][GROUPBYexpression[,...]][HAVINGcondition[,...]][{UNION|INTERSECT|EXCEPT[ALL]}select][ORDERBYexpression[ASC|DESC|USINGoperator][,...]][FORUPDATE[OFclass_name[,...]]][LIMIT{count|ALL}[{OFFSET|,}start]]41DML基础-SELECT语句-基本SELECT语句•用途•SELECT语句用于查询数据库表或视图的数据•通常在表名或字段后加上空格as别名,其中as可省略,用别名引用表,可节省长度;•语法•SELECTcolumnsFROMtables[WHEREpredicates];•示例•查询所有供应商,返回所有列数据项SELECTsp.*FROMsupplierssp;•查询所有供应商,返回指定列数据项SELECTsp.supplier_name,sp.cityassupplier_cityFROMsupplierssp;42DML基础-SELECT语句-ORDERBY从句•用途•ORDERBY从句用于对SELECT语句返回的数据进行排序,ASC是升序,DESC是降序,默认是ASC,ORDERBY不能用于INSERT、UPDATE、DELETE语句中;•语法•SELECTcolumnsFROMtables[WHEREpredicates]ORDERBYcolumnASC/DESC;•示例•SELECTcityFROMsuppliersORDERBYcitydesc;•SELECTcityFROMsuppliersORDERBY1desc;•SELECTcity,stateFROMsuppliersORDERBYcitydesc,stateasc;43DML基础-SELECT语句-DISTINCT从句•用途•DISTINCT从句用于过滤重复数据;•语法•SELECTDISTINCTcolumnsFROMtables[WHEREpredicates];•示例•查询所有供应商所在城市,城市名不重复SELECTDISTINCTcityFROMsuppliers;•查询所有供应商所在城市、州,城市名、州名一组不重复SELECTDISTINCTcity,stateFROMsuppliers;44DML基础-SELECT语句-WHERE从句•用途•WHERE从句用于指定操作条件,还可以用于INSERT、UPDATE、DELETE语句中;•语法•SELECTcolumnsFROMtablesWHEREpredicates;•示例•SELECTcityFROMsuppliersWHEREsupplier_name='IBM';45DML基础-SELECT语句-AND条件•用途•AND条件用于指定2个或者以上操作条件同时满足,与WHERE从句一起使用;•语法•SELECTcolumnsFROMtablesWHEREcolumn1=‘value1‘ANDcolumn2='value2‘[ANDcolumn3=‘value3’];•示例•SELECT*FROMsuppliersWHEREcity=‘Ne
本文标题:Oracle SQL基础培训
链接地址:https://www.777doc.com/doc-8740 .html