您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > 数据库培训5906306891
内容提纲◆常用SQL使用介绍◆Oracle数据库基本架构◆Oracle数据库安装、配置◆Mysql数据库安装、配置第一部分SQL语言介绍SQL语言介绍SQL语言介绍(StructuredQueryLanguage)结构化查询语言,采用ANSI(AmericanNationalstandardsInstitute)标准,是种基本的语言。主要用于检索和管理数据库数据。SQL语言介绍SQL语言数据类型主要有如下类型:1.数值型INTEGER简写为INT。SMALLINTNUMERIC(p,s)例如,语句:x2NUMERIC(3,2)DECIMAL(p,s)例如,语句:x3DEC(4,3)FLOAT(p)例如,语句:x5FLOAT(10)REALDOUBLEPRECISIONSQL语言介绍integer、smallint声明最大精度为38位的整数型数值Number、decimal声明最大精度为38位的固定刻度值的数值如numer(38,10)Float、doubleprecision、real浮点型数值最常用的通常有integer、number等SQL语言介绍2字符串型CHAR(n)定义数据类型为定长字符串。例如,语句x1CHAR(30)createtableT1(IDinteger,nameCHAR(32);insertintoT1values(1,’aaa’);commit;--数据库将自动补齐剩下29个字节VARCHAR(n)定义可变长字符串。可变长字符串是动态存放的。SQL语言介绍3位串型BIT(n)BITVARYING(n)例如,语句y1BIT(8)y1可以存放一个二进制位串,如十六进制表示的位串X'44',或用二进制表示的同一位串B,'01000100'。SQL语言介绍4.时间型DATE定义日期。例如,语句start_dateDATETIMETIMESTAMP定义时间戳。5.布尔型BOOLEAN定义布尔数,其值可以是:TRUE(真)、FALSE(假)、UNKNOWN(未知)。SQL语言介绍SQL语言命令分类主要分为如下四类:(1)查询语言(QL)查询语言用来对已存在的数据库中的数据按照指定的组合、条件表达式或排序进行检索。它的基本结构是由SELECT子句、FROM子句、WHERE子句组成的查询块。(2)数据操纵语言(DML)DML的命令用来改变数据库中的数据,它有3个基本语句:INSERT(插入)、UPDATE(修改)、DELETE(删除)。SQL语言介绍(3)数据定义语言(DDL)DDL用来创建数据库中的各种对象,包括数据库模式、表、视图、索引、同义词、聚簇等,它的基本语句有:CREATESCHEMA、CREATETABLE、CREATEVIEW、CREATEINDEX等。(4)数据控制语言(DCL)DCL用来授予或回收访问数据库的某种特权,控制数据操纵事务的发生时间及效果、对数据库进行监视等。数据控制基本语句有:GRANT、REVOKE、COMMIT、ROLLBACK、LOCK、UNLOCK等。SQL语言介绍测试用例说明sqlplus使用sqlplus是与oracle数据库进行交互的客户端工具。有字符界面和GUI界面的两种。具体命令格式如下:[oracle@dbn177admin]$sqlplushr/hr@ora10g177SQLSQL语言介绍SQLdescEMPLOYEESNameNull?Type-----------------------------------------------------------------------------EMPLOYEE_IDNOTNULLNUMBER(6)FIRST_NAMEVARCHAR2(20)LAST_NAMENOTNULLVARCHAR2(25)EMAILNOTNULLVARCHAR2(25)PHONE_NUMBERVARCHAR2(20)HIRE_DATENOTNULLDATEJOB_IDNOTNULLVARCHAR2(10)SALARYNUMBER(8,2)COMMISSION_PCTNUMBER(2,2)MANAGER_IDNUMBER(6)DEPARTMENT_IDNUMBER(4)SQL语言介绍SQLdescLOCATIONSNameNull?Type-----------------------------------------------------------------------------LOCATION_IDNOTNULLNUMBER(4)STREET_ADDRESSVARCHAR2(40)POSTAL_CODEVARCHAR2(12)CITYNOTNULLVARCHAR2(30)STATE_PROVINCEVARCHAR2(25)COUNTRY_IDCHAR(2)SQL语言介绍SQLdescDEPARTMENTSNameNull?Type-----------------------------------------------------------------------------DEPARTMENT_IDNOTNULLNUMBER(4)DEPARTMENT_NAMENOTNULLVARCHAR2(30)MANAGER_IDNUMBER(6)LOCATION_IDNUMBER(4)SQL语言介绍查询语言(QL)单表查询selectEMPLOYEE_ID,FIRST_NAME,LAST_NAMEfromEMPLOYEES;或者selectEMPLOYEE_ID,FIRST_NAME,LAST_NAMEfromEMPLOYEESwhereEMPLOYEE_ID=&1;SQL语言介绍多表查询两张表关联查询selecta.location_id,a.city,b.department_namefromlocationsa,departmentsbwherea.location_id=b.location_id;或者selecta.location_id,a.city,b.department_namefromlocationsa,departmentsbwherea.location_id=b.location_idAnda.country_id'US';SQL语言介绍多表查询(超过2张表)多表连接的具体步骤:a、根据链接条件把两个表连接起来,比较它们的列b、根据链接连接条件把得到的结果连接到另一个表c、继续此过程直到所有的表都连接到得到的结果上具体例子如下:SQL语言介绍selecta.first_name,b.department_name,c.cityfromemployeesa,departmentsb,locationscwherea.department_id=b.department_idandb.location_id=c.location_id;SQL语言介绍具体步骤分析:Employees、departments表根据department_id字段连接,得到结果集R1Locations表根据location_id和结果集R1相连接,得到最终结果。SQL语言介绍子查询顾名思义,一个查询中的查询。分为单行子查询和多行子查询。单行子查询selectlast_name,first_name,salaryfromemployeesWheresalary=(selectmax(salary)fromemployees);通过使用max函数,使子查询只返回一行记录。Where条件中可以使用=谓词SQL语言介绍多行子查询selectlast_name,frist_name,salaryFromemployeeswheredepartment_idin(selectdepartment_idfromdepartmentswheredepartment_name=‘Accounting’);SQL语言介绍子查询返回的记录条数有可能是多行数据。这个时候的谓词就只能用in;in是常用的多行查询运算符。另外还有exists、any、all等SQL语言介绍2、数据操纵语言(DML)update语句:修改、更新数据updateemployeessetfirst_name=‘XXX’whereemployee_id=201;SQL语言介绍insert语句插入数据操作,如insertintot1values(10,‘aaa’);或者insertintot1(id,username)valuesvalues(10,‘aaa’);后面的写法优于前者,因为表结构改变时,后面的语句不受影响SQL语言介绍Merge语句主要用于在一个表中更新和插入新行。通常有这种情况的需求:向某个表里插入数据,如数据已经存在,则需要把原数据update为最新的数据;如不存在,则直接insert该数据。针对这种情况,merge操作可以完成。示例如下:SQL语言介绍SQLcreatetablet1(idinteger,usernamevarchar2(32));Tablecreated.SQLcreatetablet2(idinteger,usernamevarchar2(32));Tablecreated.SQLinsertintot1values(1,'aaaa');1rowcreated.SQLinsertintot1values(2,'bbbb');1rowcreated.SQLcommit;Commitcomplete.SQLinsertintot2values(1,'updated');SQL语言介绍1rowcreated.SQLinsertintot2values(3,'cccc');1rowcreated.SQLinsertintot2values(4,'dddd');1rowcreated.SQLcommit;Commitcomplete.SQL语言介绍SQLselect*fromt1;IDUSERNAME------------------------------------------1aaaa2bbbbSQLselect*fromt2;IDUSERNAME------------------------------------------1updated3cccc4ddddSQL语言介绍mergeintot1usingt2on(t1.id=t2.id)whenmatchedthenupdatesett1.username=t2.usernamewhennotmatchedtheninsert(t1.id,t1.username)values(t2.id,t2.username);SQL语言介绍SQLselect*fromt1;IDUSERNAME------------------------------------------1updated2bbbb3cccc4ddddSQL语言介绍Delete语句deletefromt1whereid=1;SQL语言介绍3、数据定义语言(DDL)用来创建数据库中的各种对象的语句,如CreatetableCreateindexCreatetriggerSQL语言介绍4、数据控制语言(DCL)权限管理grantdbatouser1;事务管理commit;rollback;SQL语言介绍Oracle内置SQL函数常用内置函数To_number转换成数字To_char转换成字符To_date转换成日期类型Oracle数据库架构第二部分Oracle数据库架构Oracle数据库架构Oracle公司Oracle公司(甲骨文)是全球最大的信息管理软件和服务提供商。应用产品包括财务、供应链、制造、项目管理、人力资源和市场与销售等领域。其中Oracle数据库软件是Oralce公司提供的关系型数据库管理系统产品。该产品
本文标题:数据库培训5906306891
链接地址:https://www.777doc.com/doc-978445 .html