《MySQL初学教程.docx》由会员分享,可在线阅读,更多相关《MySQL初学教程.docx(28页珍藏版)》请在优知文库上搜索。
1、MySQL教程第一章概述目标:1. 了解MySQL是什么?2. 什么是关系数据库管理系统?3. RDBMS的术语有哪些?什么是数据库?数据库(DatabaSe)是按照数据结构来组织、存储和管理数据的仓库。每个数据库都有一个或多个不同的APl用于创建,访问,管理,搜索和复制所保存的数据。我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢。所以,现在我们使用关系型数据库管理系统(RDBMS)来存储和管理的大数据量。什么是关系数据库管理系统?所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。RDBMS即关系数据库管理系统(ReIati
2、OnalDatabaseManagementSyStem)的特点:1 .数据以表格的形式出现2 .每行为各种记录名称3 .每列为记录名称所对应的数据域4 .许多的行和列组成一张表单5 .若干的表单组成databaseRDBMS术语在我们开始学习MySQL数据库前,让我们先了解下RDBMS的一些术语:数据库:数据库是一些关联表的集合。数据表:表是数据的矩阵。在数据库中的表看起来像一个简单的电子表格。歹U:一列(数据元素)包含了相同的数据,例如邮政编码的数据。行:一行(二元组,或记录)是一组相关的数据,例如一条用户订阅的数据。冗余:存储两倍数据,冗余降低了性能,但提高了数据的安全性。主键:主键是唯
3、一的。一个数据表中只能包含一个主键。你可以使用主键来查询数据。外键:外键用于关联两个表。复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。索引:使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。参照完整性:参照的完整性要求关系中不允许引用不存在的实体。与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。现在你知道MySQL是什么了,让我们去在线课堂,并开始我们的第一个练习O第二章MySQL数据库操作因为我们要处理大量的数据,所以需要一种方法来定义数据库,表等,并更有效地处理数据。另外,我们可以将数据
4、转换成数据信息,所以就需要SQL来处理了。SQL代表结构化查询语言(StructuredQueryLanguage)0SQL是用于访问数据库的标准化语言。SQL语言包括以下几种:1 .数据定义语言包含定义数据库及其对象的语句,例如表,视图,触发器,存储过程等。2 .数据操作语言包含允许您更新和查询数据的语句。3 .数据控制语言允许授予用户权限访问数据库中特定数据的权限。在本教程中,会让大家快速掌握MySqI的基本知识,并轻松使用SQL语言来操作MySQL数据库。第1节连接数据库这里想要说的是,安装MySQL的方式有好几种。在本课程中,已经利用kubernetes(详情请参照k8s教程)生成了一
5、个MySQL的pod,并开启了mysql服务,打开终端即默认进入到MySQL的容器中。这里已经将密码改为“123456”,在终端输入以下命令即可登陆到MySQL,如下图所示:mysql-uroot-p123456#-uroot表示用户为root-pl23456表示密码为123456rootnysql-0:/#mysql-uroot-p123456Warning:Usingapasswordonthecommandlineinterfacecanbeinsecure.WelcometotheMySQLmonitor.Commandsendwith;org.YourMySQLconnectioni
6、dis2Serverversion:5.6.31MySQLCommunityServer(GPL)Copyright(c)20,216,Oracleand/oritsaffiliates.Allrightsreserved.OracleisaregisteredtrademarkofOracleCorporationand/oritsaffiliates.Othernamesmaybetrademarksoftheirrespectiveowners.Type,help;,or,hforhelp.Type,ctoclearthecurrentinputstatement.mysql出现这一幕则
7、表示你已经成功登录mysql,你可以看到一些其它信息,比如版本信息以及一些帮助命令。那么接下来就可以开始你的MySQL之旅啦!第2节创建数据库在上一小节中我们已经成功登陆到了mysql中,那么我们就需要使用SQL语句来操作数据库。(sql语句没对关键字的大小写做强制要求)在这一小节中会帮助大家查看有哪些数据库,怎么新建数据库以及怎么在各个数据库之间切换。首先查看mysql中包含哪些数据库。使用以下命令查看:showdatabases;#因为是查看所有数据库,所以这里使用的是databases,可以理解为复数,查看表格时也是同理。还有记住在最后加上分号表示结束语句。mysqlshowdataba
8、ses;+-+IDatabaseIinforation-schemaImysqlIPerfOEanCJSChema+-+3 rowsinset(.sec)mysql如图所示,可以看到mysql自带有三个数据库,现在我们要创建一个新的数据库。使用如下命令新建数据库:createdatabasetest;#格式为Createdatabase数据库名;mysqlcreatedatabasetest;QueryOK,1rowaffected(.1sec)mysqlshowdatabases;+IDatabase+Iinfonnation_schemaImysqlIperforance-schemaIt
9、est一I+4 rowsinset(.lsec)mysql可以看到在提交创建数据库的SQL语句后,提示的是“QueryOK,1rowaffected(0.01sec),表示SQL语句已经执行成功。再次使用查看数据库的命令,即可看到数据库test已经新建成功。当数据库太多的时候,你可能记不得当前使用的是哪个数据库。当然你可以查看数据库中有哪些表格来判断,但是我们可以使用以下命令来直接查看:selectdatabase();mysqlselectdatabase();Idatabase!)I+ItestI1rowinset(.0sec)mysql从返回的信息可以很清晰的知道当前使用的数据库为tes
10、t。假如我在使用test数据库后发现还需要使用其它数据库,那么肯定要想办法切换至指定数据库,然后再进行操作。现在我们来实现数据库之间的切换。usemysql;#切换数据库selectdatabase();#查看当前数据库mysqlusemysql;ReadingtableinformationforcompletionoftableandcolumnnamesYoucanturnoffthisfeaturetogetaquickerstartupwith-ADatabasechangedmysqlselectdatabase();Idatabase()+ImysqlI+1rowinset(.s
11、ec)mysql执行切换数据库的SQL语句后,系统会在最后返回一句Databasechanged,这表明数据库已经切换成功,再次使用查看当前数据库的命令可以看到已经成功切换。总结:数据库的操作其实就是一些逻辑语句,这个可以从SQL语句的关键字中看出。比如说新建数据库就是Createdatabasestest,查看数据库是Showdatabaseso所以说数据库的基础操作很简单,只需要记住逻辑关系以及一些引号,分号等细节,相信你也能快速入门。练习:自行创建几个数据库,然后在各个数据库之间进行切换;查看当前数据库;列出所有数据库;最后请大家思考一下删除数据库以及新建查看表格应该怎么完成?第3节删除
12、数据库增删改查为数据库的基本操作,前面我们已经学会了怎么新建和查询数据库,那么怎么实现删除数据库呢?这里要提醒的是,删除数据库过程中,务必要十分谨慎,因为在执行删除命令后,所有数据将会消失。通过前面的学习,我们知道数据库操作其实就是一些逻辑语句的处理,那么删除数据库肯定有同学想到用delete关键字。这里要简单说一下delete和drop的区别(只从结构简单描述,之后还会用到truncat,也是和删除相关的关键字)。delete:只删除数据不删除表结构。drop:用于删除表,数据库的所有数据包括结构。这里我们可以看出区别,delete一般是删除表格里存储的数据,也就是所谓的清空数据,但是表格结
13、构还在(表格属性还在,后面会详细讲解数据表的创建)。使用drop会删除所有包括结构,所以删除数据库的时候要使用drop命令。dropdatabasetest;#这里删除的数据库是上一小节新建的test数据库mysqldropdatabasetest;QueryOK,rowsaffected(.1sec)mysqlshowdatabases;+IDatabase+Iinfoation-schemaImysqlIperformance_schema+-+3rowsinset(O.sec)mysql没报错就代表命令已经执行成功,再次列出所有数据库可以看到test数据库已经消失。总结:到这里就把最基本
14、的数据库操作完成了,当然只有最基础的一些操作,也基本够平时使用了。若是想了解更多的操作,可以下来自己查找一些资料。练习:那么自己抛开教程,重头操作一遍,看看自己是否能快速、准确的操作MySQL数据库了。思考:删除数据库和删除表格有什么相同之处?第三章MySQL数据操作第1节数据类型在学习数据操作之前,我们要清楚数据都是放在表格中的,而表格中又以字段来区分各种数据,而且MySQL中定义数据字段的类型对你数据库的优化是非常重要的。这一小节先来学习了解一下MySQL的数据类型以及常用的基本类型。MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。数值类型:类型大小用途TI
15、NYINT1字节小整数值Smallint2字节大整数值INT4字节大整数值FLOAT4字节单精度,浮点数值DOUBLE8字节双精度,浮点数值日期和时间类型:类型大小用途DATE3字节日期值TIME3字节时间值或持续时间YEAR1字节年份值DATETIME8字节混合日期和时间值TIMESTAMP4字节混合日期和时间值,时间戳字符串类型:类型大小用途CHAR0-255字节定长字符串VARCHAR0-65535字节变长字符串TINYTEXT0-255字节短文本字符串TEXT0-65535字节长文本数据以上这些数据类型就是常用的类型,如果想要了解或用到其它类型,则可以通过一些资料了解。第2节创建数据表在学习新建数据表之前,