mySQL教学 第2章 安装和介绍mySQL_第1页
mySQL教学 第2章 安装和介绍mySQL_第2页
mySQL教学 第2章 安装和介绍mySQL_第3页
mySQL教学 第2章 安装和介绍mySQL_第4页
mySQL教学 第2章 安装和介绍mySQL_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

第2章介绍MySQL2023/2/41华育国际呼和浩特分校本章内容2.1什么是MySQL2.2MySQL版本2.3安装MySQL2.4字符集2.5存储引擎2.6MySQL工具2.7MySQL帮助2023/2/42华育国际呼和浩特分校2.1什么是MySQLMySQL是一个中、小型关系型数据库管理系统,由瑞典MySQLAB公司开发,目前属于Oracle公司,与其他大型数据库管理系统(如Oracle、DB2、SQLServer等)相比,MySQL规模小、功能有限,但是其体积小、速度快、成本低,并且MySQL提供的功能已经绰绰有余,这些特性使得MySQL成为世界上最受欢迎的开放源代码数据库。本节将介绍MySQL的特点。2023/2/43华育国际呼和浩特分校mySQL架构图2023/2/44华育国际呼和浩特分校MySQL版本社区版(免费)企业服务器版付费提供电话技术支持支持事物2023/2/45华育国际呼和浩特分校MySQL的系统特性(1)使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性支持FreeBSD、Linux、MacOS、Windows、NovellNetware等多种操作系统为多种编程语言提供了API。这些编程语言包括C、C++、Java、PHP等。支持多线程,充分利用CPU资源优化的SQL查询算法,有效地提高查询速度提供用于管理、检查、优化数据库操作的管理工具。2023/2/46华育国际呼和浩特分校MySQL的系统特性(2)既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中。提供多语言支持,常见的编码如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。提供TCP/IP、ODBC和JDBC等多种数据库连接途径。支持大型的数据库。可以处理拥有上千万条记录的大型数据库。支持多种存储引擎。2023/2/47华育国际呼和浩特分校2.2安装MySQL此外您需要运行这一命令以确保您的软件包列表是最新的。root@ubuntuServer:~#apt-getupdate安装MySQLroot@ubuntuServer:~#sapt-getinstallmysql-server2023/2/48华育国际呼和浩特分校2.3字符集-基本概念字符指人类语言中最小的表义符号,如‘A’、‘B’等。编码给定一系列字符,对每个字符赋予一个值,用数值代表对应的字符,这一数值就是字符的编码(Encoding)。如‘A’赋予数值0,给字符‘B’赋予1,则0是字符A的编码,1是B的编码。字符集给定一系列字符并赋予对应编码后,所有这些字符和编码对组成的集合就是字符集(characterSet),如{‘A’=0,‘B’=1}就是一个字符集。2023/2/49华育国际呼和浩特分校字符集-基本概念(续)字符序(Collation)是指在同一字符集内字符之间的比较规则。字符序确定字符序后,才能在比较字符之间的大小。一个字符集可以对应多种字符序,其中有一个默认字符序(DefaultCollation)。MySQL中的字符序名称遵从命名惯例:以字符序对应的字符集名称开头;以_ci(表示大小写不敏感)、_cs(表示大小写敏感)或_bin(表示按编码值比较)。例如:在字符序“utf8_general_ci”下,字符“a”和“A”是等价的。2023/2/410华育国际呼和浩特分校字符集简史-ASCII码在所有字符集中,最知名的可能要数被称为ASCII的7位字符集了。它是美国标准信息交换代码(AmericanStandardCodeforInformationInterchange)的缩写,为美国英语通信所设计。它由128个字符组成,包括大小写字母、数字0-9、标点符号、非打印字符(换行符、制表符等4个)以及控制字符(退格、响铃等)组成2023/2/411华育国际呼和浩特分校字符集简史-Latin1ASCII码当处理带有音调标号(形如汉语的拼音)的欧洲文字时就会出现问题,因此,创建出了一些包括255个字符的由ASCII扩展的字符集。将128-255之间的字符用于拉丁字母表中特殊语言字符的编码,8位字符集是ISO8859-1Latin1,也简称为ISOLatin-1。2023/2/412华育国际呼和浩特分校字符集简史-UNICODE编码欧洲语言不是地球上的唯一语言,因此亚洲和非洲语言并不能被8位字符集所支持。仅汉语(或pictograms)字母表就有80000以上个字符。但是把汉语、日语和越南语的一些相似的字符结合起来,在不同的语言里,使不同的字符代表不同的字,这样只用2个字节就可以编码地球上几乎所有地区的文字。因此,创建了UNICODE编码2023/2/413华育国际呼和浩特分校字符集简史-UTF8事实证明,对可以用ASCII表示的字符使用UNICODE并不高效,因为UNICODE比ASCII占用大一倍的空间,而对ASCII来说高字节的0对他毫无用处。为了解决这个问题,就出现了一些中间格式的字符集,他们被称为通用转换格式,即UTF(UniversalTransformationFormat)。目前存在的UTF格式有:UTF-7,UTF-7.5,UTF-8,UTF-16,以及UTF-32。2023/2/414华育国际呼和浩特分校测试字符集的输出结果在SQLadmin管理工具中测试使用不同编码显示汉字和字符。可以看到长的编码变成短的,出现乱码。短的编码存到长的,不出现乱码。SELECT_latin1'hanligang'显示名unionSELECT_latin1'韩立刚'unionSELECT_utf8'韩立刚'unionSELECT_gbk'韩立刚'unionSELECT_ascii'han立刚'2023/2/415华育国际呼和浩特分校MySQL中的字符集转换过程图示2023/2/416华育国际呼和浩特分校MySQL中的字符集转换过程1.MySQLServer收到请求时将请求数据从character_set_client转换为character_set_connection;2.进行内部操作前将请求数据从character_set_connection转换为内部操作字符集,其确定方法如下:使用每个数据字段的CHARACTERSET设定值;若上述值不存在,则使用对应数据表的DEFAULTCHARACTERSET设定值(MySQL扩展,非SQL标准);若上述值不存在,则使用对应数据库的DEFAULTCHARACTERSET设定值;若上述值不存在,则使用character_set_server设定值。2023/2/417华育国际呼和浩特分校mySQL字符集设置级别设置字段字符集CREATETABLEtbl(nameCHAR(20)CHARACTERSETUTF8,)设置表字符集CREATETABLEtbl(......)ENGINE=MyISAMDEFAULTCHARSETUTF8;设置数据库字符集CREATEDATABASEdbDEFAULTCHARSETUTF8;设置服务器字符集

更改配置文件/etc/mySQl/f[mysqld]default-character-set=utf82023/2/418华育国际呼和浩特分校设置客户端字符集1设置putty字符集2023/2/419华育国际呼和浩特分校设置客户端字符集2设置SQLadmin字符集2023/2/420华育国际呼和浩特分校2.4MySQL常用的存储引擎MyISAM最好用于处理读多写少数据库

MySQL的默认存储引擎。MyISAM不支持事务、也不支持外键,但其访问速度快,对事务完整性没有要求。InnoDB使用于数据完整性要求高的数据库具有提交、回滚和崩溃恢复能力的事务安全。但是比起MyISAM存储引擎,InnoDB写的处理效率差一些并且会占用更多的磁盘空间以保留数据和索引MEMORY存储引擎使用存在内存中的内容来创建表。每个MEMORY表只实际对应一个磁盘文件。MEMORY类型的表访问非常得快,因为它的数据是放在内存中的,并且默认使用HASH索引。但是一旦服务关闭,表中的数据就会丢失掉。

2023/2/421华育国际呼和浩特分校查看默认存储引擎mysql>showvariableslike'table_type';2023/2/422华育国际呼和浩特分校更改mySQL的默认存储引擎编辑配置文件vi

/etc/mysql/f2023/2/423华育国际呼和浩特分校指定数据库的存储引擎创建数据库时指定存储引擎createtableau(studentidintnotnullauto_increment,primarykey(studentid))engine=innodb2023/2/424华育国际呼和浩特分校指定表的存储引擎创建表时指定存储引擎CREATETABLETStudent`(StudentIDvarchar(15)NOTNULL,Snamevarchar(10)DEFAULTNULL,PRIMARYKEY(`StudentID`))ENGINE=InnoDB修改现有表的存储引擎mysql>useschoolDB;mysql>altertableTStudentengine=InnoDB;2023/2/425华育国际呼和浩特分校使用SQLadmin指定表的存储引擎2023/2/426华育国际呼和浩特分校InnoDB存擎的特点自动增长列自动增长列可以送给插入,但是插入的如果是空或者为0,则实际插入的值是自动增长后的值。外键约束MySQL支持外键存储引擎只有InnoDB,在创建外键的时候,要求父表必须有对应的索引,子表在创建外键的时候也会自动创建索引在删除更新父表时,对子表进行相应的操作,包括restrict、cascade、setnull和noaction使用InnoDB存储引擎数据按主键顺序存放2023/2/427华育国际呼和浩特分校2.5MySQL图形化管理工具MySQL数据库管理系统提供了许多命令行工具,这些工具可以用来管理MySQL服务器、对数据库进行访问控制、管理MySQL用户以及数据库备份和恢复工具等。而且MySQL提供图形化的管理工具,这使得对数据库的操作更加简单。2023/2/428华育国际呼和浩特分校五个常用MySQL图形化管理工具MySQLManagerLiteSetupphpMyAdminMySQLDumperNavicatMySQLGUITools2023/2/429华育国际呼和浩特分校mySQL客户端工具输入my按tab键能够看到所有mySQL客户端工具2023/2/430华育国际呼和浩特分校MySQL客户端实用工具程序(1)Myisampack压缩MyISAM表以产生更小的只读表的一个工具。

Mysql交互式输入SQL语句或从文件以批处理模式执行它们的命令行工具。

mysqlaccess检查访问主机名、用户名和数据库组合的权限的脚本。2023/2/431华育国际呼和浩特分校MySQL客户端实用工具程序(2)mysqladmin执行管理操作的客户程序,例如创建或删除数据库,重载授权表,将表刷新到硬盘上,以及重新打开日志文件。mysqladmin还可以用来检索版本、进程,以及服务器的状态信息。

mysqlbinlog从二进制日志读取语句的工具。在二进制日志文件中包含的执行过的语句的日志可用来帮助从崩溃中恢复。Mysqlcheck检查、

温馨提示

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

评论

0/150

提交评论