第7章MySQL数据库操作_第1页
第7章MySQL数据库操作_第2页
第7章MySQL数据库操作_第3页
第7章MySQL数据库操作_第4页
第7章MySQL数据库操作_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库原理TheTheoryofDatabaseSystem第七章MySQL数据库操作MySQL简介MySQL查询语句MySQL数据库的基本操作开发平台与MySQL的连接MySQL数据库的备份、恢复和安全本讲主要内容7.1MySQL简介7.1.1MySQL(1)MySQL是目前最流行的关系型数据库管理系统之一。(2)MySQL是最好的RDBMS应用软件之一。(3)MySQL将数据存于表中,通过外键建立关联。

(1)查询速度快,灵活性高。

(2)社区版性能卓越。

(3)软件体积小、运行速度快、开放源码。7.1.2MySQL特点

7.1MySQL简介MySQL采用的是客户机/服务器(Client/Server)体系结构:(1)一个是在数据服务器上的数据库服务程序。(对应Server端)(2)连接到数据库服务器、用于用户和服务器交互的客户机程序。(对应Client端)7.2MySQL的体系结构客户机/服务器体系结构优点:(1)服务器提供并发控制,使两个用户不能同时修改相同的记录。(2)不必在数据库所在的机器上注册。7.2MySQL的体系结构

7.3MySQL的查询语言

MySQL使用结构化查询语言(StructuredQueryLanguage,SQL)与服务器通讯。7.3.1表、列和数据类型表是数据在一个MySQL数据库中的存储机制。7.3.1表、列和数据类型3.2表中的列描述该表所表示的实体的属性,每个列都有一个名字及各自的特性。列由两部分组成:数据类型(datatype)和长度(length)。7.3.1表、列和数据类型 MySQL常用的数据类型有数值类型、字符串类型及日期类型等。函数:(1)函数(function)是存储在数据库中的代码块。(2)函数可以把计算机结果直接返回给调用的SQL。7.3.2函数和SQL语句SQL语句:(1)非过程化程序设计语言。(2)简单易学7.4MySQL数据库的安装

(1)可以官方获取安装文件。(2)推荐下载MySQL社区版服务器。(3)最新版本和历史版本各有优点。(4)注意最新版本需要python3.6支持。7.5MySQL数据库的基本操作

7.5.1数据库操作(1)登录:mysql-h-uroot-p(2)创建:createdatabase数据库名(3)显示存在数据库:showdatabases(4)删除数据库:dropdatabase数据库名创建表:创建表之前需要用“use数据库名”来选择当前操作的数据库。createtable表名(属性名数据类型[完整性约束条件],

属性名数据类型[完整性约束条件], ......

属性名数据类型[完整性约束条件]);7.5.2数据库表的操作7.5.2数据库表的操作创建表的时候创建索引:createtable表名(属性名数据类型[完整性约束条件],

属性名数据类型[完整性约束条件], ......

属性名数据类型[完整性约束条件],[unique|fulltext|spatial]index|key [别名](属性名1[(长度)][asc|desc]));7.5.2数据库表的操作【例7-1】假定需要在学生数据库(StudentDB)中创建一张学生表,要求包括学生的标识信息(id,自增),学号(code,varchar(9),主键),姓名(name,varchar(20),非空),性别(sex,varchar(2)),出生日期(birth,date),所在学院(school,school,非空),所在班级(class,varchar(10),非空),户籍所在地(location,varchar(16),非空),入学成绩(score,float,非空,默认值为0)。createtablestudent(idintnotnullauto_incrementprimarykey, codevarchar(10)notnull, namevarchar(20)notnull, sexvarchar(2), birthdate, schoolvarchar(20)notnull, classvarchar(10)notnull, locationvarchar(16)notnull, scorefloatnotnulldefault0.0, uniqueindexcodeidx(codeasc));7.5.2数据库表的操作7.5.2数据库表的操作查看表的基本定义:describe表名;查看表默认的存储引擎和字符编码:showcreatetable表名;修改表名:showcreatetable表名;修改字段的数据类型:altertable表名modify属性名数据类型;增加字段:altertable表名add属性名1数据类型[完整性约束条件][first|after属性名2];删除字段:altertable表名drop属性名;修改字段的排列位置:altertable表名modify属性名1数据类型first|after属性名2;….7.5.3数据库视图操作创建视图:CREATE[ORREPLACE][ALGORITHM={UNDEFINED|MERGE|TEMPTABLE}]VIEWview_name[(column_list)]ASselect_statement[WITH[CASCADED|LOCAL]CHECKOPTION]删除视图:DROPVIEW[IFEXISTS]view_name[,view_name2]...修改视图:参考创建视图语法中的ORREPLACE关键字。查看视图:showcreateviewview_name7.5.3数据库视图操作(1)普通查询select*from表名7.5.4数据操作语言7.5.4数据操作语言(2)查询特定行select*from表名where属性=实体属性名7.5.4数据操作语言(3)查询特定列select属性名from表名where属性=实体属性名7.5.4数据操作语言(4)条件查询使用WHERE或者HAVING从句(HAVING表达的是第二条件,需要与GROUPBY从句配合使用,不能在WHERE子句中的项目使用HAVING。)算术运算符比较运算符逻辑运算符运算符说明运算符说明+加*乘-减/除运算符说明运算符说明<

小于!=或<>不等于<=小于等于>=大于等于=等于>

大于运算符说明NOT或!逻辑非OR或||逻辑或AND或&&逻辑与7.5.4数据操作语言(4)条件查询查找性别为男并且分数大于528的学生情况

7.5.4数据操作语言(5)模糊查询

对于查询条件不明确的情况下,可以使用’like’关键字对带有通配符的条件进行查询。常用的通配符查询姓名中带有“李”字的学生情况。通配符说明%包含零个或多个字符组成的任意字符串_(下划线)任意一个字符7.5.4数据操作语言(6)查询排序

使用orderby子句对查询返回的结果按一列或多列排序。orderby子句的语法格式为:ORDERBYcolumn_name[ASC|DESC][,…]

按分数升序排序7.5.4数据操作语言(7)查询分组与统计groupby关键字可以将查询结果按照某个字段或多个字段进行分组。

GROUPBY属性名[HAVING条件表达式][WITHROLLUP]GROUPBY关键字通常与集合函数一起使用。函数说明COUNT()用于统计记录的条数SUM()用于计算字段的值的总和AVG()用于计算字段的值的平均值MAX()用于查询字段的最大值MIN()用于查询字段的最小值7.5.4数据操作语言(7)查询分组与统计

统计每班学生姓名。7.5.4数据操作语言(8)多表查询

内连接(innerjoin):select*from表1[inner]join表2on表1和表2之间的连接条件在student表和class_table表中查询姓名为王静的学生情况7.5.4数据操作语言(8)多表查询

外连接:分为左连接、右连接和完全连接。左连接:select*from表1leftjoin表2on表1和表2之间的连接条件右连接:select*from表1rightjoin表2on表1和表2之间的连接条件

7.6开发平台与MySQL数据的连接

MySQL通过连接器(Connector)和API为Java、C++、.NET、PHP、Python、C等语言开发的客户端提供访问数据库提供驱动程序和访问接口。同时MySQL提供了ODBC、Java(JDBC)、Perl、Ruby等语言(连接驱动)的数据库访问实例程序。7.6开发平台与MySQL数据的连接

7.6.1Java语言访问MySQL(1)建立lib文件夹,将连接的JAR文件拷贝到lib目录下。(2)在Eclipse上右键单击工程项目名称,在菜单中选择Javabuildpath项目。(3)在弹出的界面中选择Libraries分页,点击AddJARs...按钮,将拷贝进去的JAR文件加入项目中。(4)在需要访问数据库的代码中引入MySQLforJavaConnector的类库。7.6开发平台与MySQL数据的连接

7.6.2.NET平台访问MySQL(1)创建相关工程项目。(2)添加对MySQLConnector的引用。(3)在弹出对话框中,选择“浏览”,找到MySQLConnectorforNet组件的安装位置,打开Assemblies文件夹下的v4.0或v4.5文件夹,选择MySql.Data.dll动态链接库,选择完成之后点击“确定”按钮。(4)在需要访问MySQL数据库的页面中使用“usingMySql.Data.MySqlClient;”。7.7MySQL数据库的备份与恢复

最常用的MySQL数据库备份与恢复方式:mysqldump(1)mysqldump备份mysqldump–hhostname-P端口-u用户名-p密码(–database)数据库名>文件名.sql(2)还原数据库mysql–hhostname–uusername–ppassworddatabasename<文件名.sql(3)导入数据库mysql>source/home/sa/文件名.sqlMySQL的安全性主要由系统的内部安全和网络安全两部分来决定。

保障MySQL数据库的安全性需要以下配置:(1)修改root用户口令,删除空

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论