资源描述
第2章介绍MySQL微软最有价值教授(MVP)IT集成课程视频教学下载地址http:/第1页本章内容o2.1什么是MySQLo2.2MySQL版本o2.3安装MySQLo2.4字符集o2.5存放引擎o2.6MySQL工具o2.7MySQL帮助第2页2.1什么是MySQLoMySQL是一个中、小型关系型数据库管理系统,由瑞典MySQLAB企业开发,当前属于Oracle企业,与其它大型数据库管理系统(如Oracle、DB2、SQLServer等)相比,MySQL规模小、功效有限,不过其体积小、速度快、成本低,而且MySQL提供功效已经绰绰有余,这些特征使得MySQL成为世界上最受欢迎开放源代码数据库。本节将介绍MySQL特点。第3页mySQL架构图第4页MySQL版本o小区版n(无偿)o企业服务器版n付费n提供电话技术支持n支持事物第5页MySQL系统特征(1)o使用C和C+编写,并使用了各种编译器进行测试,确保源代码可移植性o支持FreeBSD、Linux、MacOS、Windows、NovellNetware等各种操作系统o为各种编程语言提供了API。这些编程语言包含C、C+、Java、PHP等。o支持多线程,充分利用CPU资源o优化SQL查询算法,有效地提升查询速度o提供用于管理、检验、优化数据库操作管理工具。第6页MySQL系统特征(2)o既能够作为一个单独应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其它软件中。o提供多语言支持,常见编码如汉字GB2312、BIG5,日文Shift_JIS等都能够用作数据表名和数据列名。o提供TCP/IP、ODBC和JDBC等各种数据库连接路径。o支持大型数据库。能够处理拥有上千万条统计大型数据库。o支持各种存放引擎。第7页2.2安装MySQLo另外您需要运行这一命令以确保您软件包列表是最新。rootubuntuServer:#apt-getupdateo安装MySQLrootubuntuServer:#sapt-getinstallmysql-server第8页2.3字符集-基本概念o字符指人类语言中最小表义符号,如A、B等。o编码给定一系列字符,对每个字符赋予一个值,用数值代表对应字符,这一数值就是字符编码(Encoding)。如A赋予数值0,给字符B赋予1,则0是字符A编码,1是B编码。o字符集给定一系列字符并赋予对应编码后,全部这些字符和编码对组成集合就是字符集(characterSet),如A=0,B=1就是一个字符集。第9页字符集-基本概念(续)o字符序(Collation)是指在同一字符集内字符之间比较规则。o字符序确定字符序后,才能在比较字符之间大小。一个字符集能够对应各种字符序,其中有一个默认字符序(DefaultCollation)。oMySQL中字符序名称遵从命名通例:以字符序对应字符集名称开头;以_ci(表示大小写不敏感)、_cs(表示大小写敏感)或_bin(表示按编码值比较)。比如:在字符序“utf8_general_ci”下,字符“a”和“A”是等价。第10页字符集简史-ASCII码o在全部字符集中,最著名可能要数被称为ASCII7位字符集了。它是美国家标准准信息交换代码(AmericanStandardCodeforInformationInterchange)缩写,为美国英语通信所设计。它由128个字符组成,包含大小写字母、数字0-9、标点符号、非打印字符(换行符、制表符等4个)以及控制字符(退格、响铃等)组成第11页字符集简史-Latin1oASCII码当处理带有音调标号(形如汉语拼音)欧洲文字时就会出现问题,所以,创建出了一些包含255个字符由ASCII扩展字符集。将128-255之间字符用于拉丁字母表中特殊语言字符编码,8位字符集是ISO8859-1Latin1,也简称为ISOLatin-1。第12页字符集简史-UNICODE编码o欧洲语言不是地球上唯一语言,所以亚洲和非洲语言并不能被8位字符集所支持。仅汉语(或pictograms)字母表就有80000以上个字符。不过把汉语、日语和越南语一些相同字符结合起来,在不一样语言里,使不一样字符代表不一样字,这么只用2个字节就能够编码地球上几乎全部地域文字。所以,创建了UNICODE编码第13页字符集简史-UTF8o事实证实,对能够用ASCII表示字符使用UNICODE并不高效,因为UNICODE比ASCII占用大一倍空间,而对ASCII来说高字节0对他毫无用处。为了处理这个问题,就出现了一些中间格式字符集,他们被称为通用转换格式,即UTF(UniversalTransformationFormat)。当前存在UTF格式有:UTF-7,UTF-7.5,UTF-8,UTF-16,以及UTF-32。第14页测试字符集输出结果o在SQLadmin管理工具中测试使用不一样编码显示汉字和字符。能够看到o长编码变成短,出现乱码。o短编码存到长,不出现乱码。SELECT_latin1hanligang显示名unionSELECT_latin1韩立刚unionSELECT_utf8韩立刚unionSELECT_gbk韩立刚unionSELECT_asciihan立刚第15页MySQL中字符集转换过程 图示第16页MySQL中字符集转换过程o1.MySQLServer收到请求时将请求数据从character_set_client转换为character_set_connection;o2.进行内部操作前将请求数据从character_set_connection转换为内部操作字符集,其确定方法以下:n使用每个数据字段CHARACTERSET设定值;n若上述值不存在,则使用对应数据表DEFAULTCHARACTERSET设定值(MySQL扩展,非SQL标准);n若上述值不存在,则使用对应数据库DEFAULTCHARACTERSET设定值;n若上述值不存在,则使用character_set_server设定值。第17页mySQL字符集设置级别o设置字段字符集CREATETABLEtbl(nameCHAR(20)CHARACTERSETUTF8,)o设置表字符集CREATETABLEtbl(.)ENGINE=MyISAMDEFAULTCHARSETUTF8;o设置数据库字符集CREATEDATABASEdbDEFAULTCHARSETUTF8;o设置服务器字符集更改配置文件/etc/mySQl/fmysqlddefault-character-set=utf8第18页设置客户端字符集1o设置putty字符集第19页设置客户端字符集2o设置SQLadmin字符集第20页2.4MySQL惯用存放引擎oMyISAM最好用于处理读多写少数据库nMySQL默认存放引擎。MyISAM不支持事务、也不支持外键,但其访问速度快,对事务完整性没有要求。oInnoDB使用于数据完整性要求高数据库n含有提交、回滚和瓦解恢复能力事务安全。不过比起MyISAM存放引擎,InnoDB写处理效率差一些而且会占用更多磁盘空间以保留数据和索引oMEMORYn存放引擎使用存在内存中内容来创建表。每个MEMORY表只实际对应一个磁盘文件。MEMORY类型表访问非常得快,因为它数据是放在内存中,而且默认使用HASH索引。不过一旦服务关闭,表中数据就会丢失掉。第21页查看默认存放引擎omysqlshowvariablesliketable_type;第22页更改mySQL默认存放引擎o编辑配置文件vi/etc/mysql/f第23页指定数据库存放引擎o创建数据库时指定存放引擎createtableau(studentidintnotnullauto_increment,primarykey(studentid)engine=innodb第24页指定表存放引擎o创建表时指定存放引擎CREATETABLETStudent(StudentIDvarchar(15)NOTNULL,Snamevarchar(10)DEFAULTNULL,PRIMARYKEY(StudentID)ENGINE=InnoDBo修改现有表存放引擎mysqluseschoolDB;mysqlaltertableTStudentengine=InnoDB;第25页使用SQLadmin指定表存放引擎第26页InnoDB存擎特点o自动增加列自动增加列能够送给插入,不过插入假如是空或者为0,则实际插入值是自动增加后值。o外键约束MySQL支持外键存放引擎只有InnoDB,在创建外键时候,要求父表必须有对应索引,子表在创建外键时候也会自动创建索引在删除更新父表时,对子表进行对应操作,包含restrict、cascade、setnull和noactiono使用InnoDB存放引擎数据按主键次序存放第27页2.5MySQL图形化管理工具oMySQL数据库管理系统提供了许多命令行工具,这些工具能够用来管理MySQL服务器、对数据库进行访问控制、管理MySQL用户以及数据库备份和恢复工具等。而且MySQL提供图形化管理工具,这使得对数据库操作愈加简单。第28页五个惯用MySQL图形化管理工具oMySQL ManagerLiteSetup ophpMyAdminoMySQLDumperoNavicatoMySQL GUI Tools第29页mySQL客户端工具o输入my按tab键能够看到全部mySQL客户端工具第30页MySQL客户端实用工具程序(1)oMyisampack压缩MyISAM表以产生更小只读表一个工具。oMysql交互式输入SQL语句或从文件以批处理模式执行它们命令行工具。omysqlaccess检察访问主机名、用户名和数据库组合权限脚本。第31页MySQL客户端实用工具程序(2)omysqladmin执行管理操作客户程序,比如创建或删除数据库,重载授权表,将表刷新到硬盘上,以及重新打开日志文件。mysqladmin还能够用来检索版本、进程,以及服务器状态信息。omysqlbinlog从二进制日志读取语句工具。在二进制日志文件中包含执行过语句日志可用来帮助从瓦解中恢复。oMysqlcheck检验、修复、分析以及优化表表维护客户程序。oMysqldump将MySQL数据库转储到一个文件(比如SQL语句或tab分隔符文本文件)客户程序。增强版无偿软件首先由IgorRomanenko提供。第32页2.6MySQL帮助o查看mySQL能够显示那几类帮助?输入?contents第33页查看某类帮助中内容o查看数据定义语句有哪些命令?第34页查看详细命令帮助o查看创建表帮助第35页
展开阅读全文