MySQL数据库基础与实例教程第2章课件_第1页
MySQL数据库基础与实例教程第2章课件_第2页
MySQL数据库基础与实例教程第2章课件_第3页
MySQL数据库基础与实例教程第2章课件_第4页
MySQL数据库基础与实例教程第2章课件_第5页
已阅读5页,还剩169页未读 继续免费阅读

下载本文档

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

文档简介

孔祥盛MySQL数据库基础与实例教程

之MySQL基础知识孔祥盛MySQL数据库基础与实例教程1123通过本章的学习,读者可以掌握一些常用的MySQL命令,从而对MySQL数据库进行一些简单的管理。本章知识点较为繁杂,希望保持一份儿耐心。4字符集以及字符序设置MySQL概述MySQL数据库管理MySQL表管理5系统变量内容一览123通过本章的学习,读者可以掌握一些常用的MySQ2123MySQL由瑞典MySQLAB公司开发。2008年1月MySQL被美国的SUN公司收购。2009年4月SUN公司又被美国的甲骨文(Oracle)公司收购。MySQL服务的安装MySQL的特点MySQL服务的配置45启动与停止MySQL服务MySQL配置文件2.1MySQL概述123MySQL由瑞典MySQLAB公司开发。MySQL服367MySQL由瑞典MySQLAB公司开发。2008年1月MySQL被美国的SUN公司收购。2009年4月SUN公司又被美国的甲骨文(Oracle)公司收购。连接MySQL服务器关系数据库MySQL客户机2.1MySQL概述67MySQL由瑞典MySQLAB公司开发。连接MySQL4

MySQL是一个单进程多线程、支持多用户、基于客户机/服务器(Client/Server简称C/S)的关系数据库管理系统。性能高效跨平台支持简单易用开源支持多用户2.1.1MySQL特点MySQL是一个单进程多线程、支持多用户、基于客MySQL的使用流程

2.1.1MySQL特点MySQL的使用流程2.1.1MySQL特点MySQL其他概念(请参看本书内容):MySQL服务MySQL服务实例MySQL服务器端口号2.1.1MySQL特点MySQL其他概念(请参看本书内容):2.1.1MySQLMySQL服务的安装(请参看本书内容)。建议自学,并上机操作。注意:本书使用的MySQL为5.6版本。可以到本书指定的网址下载MySQL图形化安装包mysql-5.6.5-m8-win32.msi。

2.1.2MySQL服务的安装MySQL服务的安装(请参看本书内容)。2.1.2MySQMySQL服务的配置(请参看本书内容)。建议自学,并上机操作。配置过程中的其他知识点:OLAP与OLTP

EnableStrictMode选项字符集/字符序MySQL超级管理员root账户my.ini配置文件中2.1.3MySQL服务的配置MySQL服务的配置(请参看本书内容)。2.1.3MySQMySQL服务的启动与停止(请参看本书内容)。建议自学,并上机操作。2.1.4启动与停止MySQL服务MySQL服务的启动与停止(请参看本书内容)。2.1.4启my.ini配置文件包含了多种参数选项组,每个参数选项组通过“[]”指定,每个参数选项组可以配置多个参数信息。通常情况下,每个参数遵循“参数名=参数值”这种配置格式,参数名一般是小写字母,参数名大小写敏感。常用的参数选项组有“[client]”、“[mysql]”以及“[mysqld]”参数选项组。2.1.5MySQL配置文件my.ini配置文件包含了多种参数选项组,每个参数选项组通过[client]参数选项组:配置了MySQL自带的MySQL5.6命令行窗口可以读取的参数信息。常用的参数是port(默认值是3306)。修改该port值会导致新打开的MySQL5.6命令行窗口无法连接MySQL服务器。2.1.5MySQL配置文件[client]参数选项组:2.1.5MySQL配置文件[mysql]参数选项组:配置了MySQL客户机程序mysql.exe可以读取的参数信息。常用的参数有“prompt”、“default-character-set=gbk”。修改“[mysql]”参数选项组中的参数值,将直接影响新打开的MySQL客户机。2.1.5MySQL配置文件[mysql]参数选项组:2.1.5MySQL配置文件[mysqld]参数选项组:配置了MySQL服务程序mysqld.exe可以读取的参数信息,mysqld.exe启动时,将[mysqld]参数选项组的参数信息加载到服务器内存,继而生成MySQL服务实例。2.1.5MySQL配置文件[mysqld]参数选项组:2.1.5MySQL配置文件[mysqld]参数选项组:常用的参数有“port”、“basedir”、“datadir”、“character-set-server”、“sql_mode”、“max_connections”以及“default_storage_engine”等。2.1.5MySQL配置文件[mysqld]参数选项组:2.1.5MySQL配置文件[mysqld]参数选项组:修改“[mysqld]”参数选项组的参数值,只有重新启动MySQL服务,将修改后的配置文件参数信息加载到服务器内存后,新配置文件才会在新的MySQL服务实例中生效。如果“[mysqld]”参数选项组的参数信息出现错误,将会导致MySQL服务无法启动。2.1.5MySQL配置文件[mysqld]参数选项组:2.1.5MySQL配置文件MySQL客户机(本书使用前两个):MySQL5.6命令行窗口

CMD命令提示符窗口

WEB浏览器(例如phpMyAdmin)第三方客户机程序(例如MySQL-Front、MySQL

ManagerforMySQL等)2.1.6MySQL客户机MySQL客户机(本书使用前两个):2.1.6MySQL客phpMyAdmin2.1.6MySQL客户机phpMyAdmin2.1.6MySQL客户机MySQL-Front2.1.6MySQL客户机MySQL-Front2.1.6MySQL客户机MySQL

ManagerforMySQL2.1.6MySQL客户机MySQL

ManagerforMySQL2.1.6M2.1.6MySQL客户机HeidiSQL2.1.6MySQL客户机HeidiSQLMySQL客户机连接MySQL服务器须提供:合法的登录主机:解决“from”的问题。合法的账户名以及密码:解决“who”的问题。MySQL服务器主机名(或IP地址):解决“to”的问题。端口号:解决“多卡多待”的问题。MySQL客户机与MySQL服务器是同一台主机时,主机名可以使用localhost(或者127.0.0.1)。2.1.7连接MySQL服务器MySQL客户机连接MySQL服务器须提供:2.1.7连接当MySQL客户机与MySQL服务器是同一台主机时,打开命令提示符窗口,输入mysql-h127.0.0.1-P3306-uroot–proot或者mysql-hlocalhost-P3306-uroot–proot然后回车(注意-p后面紧跟密码root),即可实现本地MySQL客户机与本地MySQL服务器之间的成功连接。2.1.7连接MySQL服务器当MySQL客户机与MySQL服务器是同一台主机时,打开命令2.1.7连接MySQL服务器2.1.7连接MySQL服务器123MySQL由瑞典MySQLAB公司开发,默认情况下MySQL使用的是latin1字符集。由此可能导致MySQL数据库不够支持中文字符串查询或者发生中文字符串乱码等问题。

MySQL字符集与字符序字符集及字符序概念MySQL的字符集转换过程45MySQL字符集的设置SQL脚本文件2.2字符集以及字符序设置123MySQL由瑞典MySQLAB公司开发,默认25字符(Character)是人类语言最小的表义符号,例如‘A’、‘B’等。给定一系列字符,对每个字符赋予一个数值,用数值来代表对应的字符,这个数值就是字符的编码(CharacterEncoding)。给定一系列字符并赋予对应的编码后,所有这些“字符和编码对”组成的集合就是字符集(CharacterSet)。

2.2.1字符集及字符序概念字符(Character)是人类语言最小的表义符号,2.2.1字符集及字符序概念2.2.1字符集及字符序概念字符序(Collation)是指在同一字符集内字符之间的比较规则。一个字符集包含多种字符序,每个字符序唯一对应一种字符集。MySQL字符序命名规则是:以字符序对应的字符集名称开头,以国家名居中(或以general居中),以ci、cs或bin结尾。ci表示大小写不敏感,cs表示大小写敏感,bin表示按二进制编码值比较。2.2.1字符集及字符序概念字符序(Collation)是指在同一字符集内字符之使用MySQL命令showcharacterset;即可查看当前MySQL服务实例支持的字符集、字符集默认的字符序以及字符集占用的最大字节长度等信息latin1支持西欧字符、希腊字符等gbk支持中文简体字符big5支持中文繁体字符utf8几乎支持世界所有国家的字符。2.2.2MySQL字符集及字符序使用MySQL命令showcharacterse使用MySQL命令showvariableslike'character%';即可查看当前MySQL服务实例使用的字符集。2.2.2MySQL字符集及字符序使用MySQL命令2.2.2MySQL字符集及字符

character_set_client:MySQL客户机字符集。character_set_connection:数据通信链路字符集,当MySQL客户机向服务器发送请求时,请求数据以该字符集进行编码。character_set_database:数据库字符集。character_set_filesystem:MySQL服务器文件系统字符集,该值是固定的binary。2.2.2MySQL字符集及字符序character_set_client:MySQL客户character_set_results:结果集的字符集,MySQL服务器向MySQL客户机返回执行结果时,执行结果以该字符集进行编码。character_set_server:MySQL服务实例字符集。character_set_system:元数据(字段名、表名、数据库名等)的字符集,默认值为utf8。2.2.2MySQL字符集及字符序character_set_results:结果集的字符使用MySQL命令“showcollation;”即可查看当前MySQL服务实例支持的字符序。2.2.2MySQL字符集及字符序使用MySQL命令“showcollation;”2.2.3MySQL字符集的转换过程2.2.3MySQL字符集的转换过程方法1:修改my.ini配置文件,可修改MySQL默认的字符集。方法2:MySQL提供下列MySQL命令可以“临时地”修改MySQL“当前会话的”字符集以及字符序。2.2.4MySQL字符集的设置方法1:修改my.ini配置文件,可修改MySQL默认的setcharacter_set_client=gbk;setcharacter_set_connection=gbk;setcharacter_set_database=gbk;setcharacter_set_results=gbk;setcharacter_set_server=gbk;setcollation_connection=gbk_chinese_ci;setcollation_database=gbk_chinese_ci;setcollation_server=gbk_chinese_ci;2.2.4MySQL字符集的设置setcharacter_set_client=g方法3:使用MySQL命令“setnamesgbk;”可以“临时一次性地”设置character_set_client、character_set_connection以及character_set_results的字符集为gbk方法4:连接MySQL服务器时指定字符集mysql--default-character-set=字符集

-h服务器IP地址-u账户名–p密码2.2.4MySQL字符集的设置方法3:使用MySQL命令“setnamesgbkSQL基本的执行方法(两种):

\.C:\mysql\init.sqlsourceC:\mysql\init.sql2.2.5SQL脚本文件SQL基本的执行方法(两种):2.2.5SQL脚本文件123

数据库是存储数据库对象的容器。MySQL数据库的管理主要包括数据库的创建、选择当前操作的数据库、显示数据库结构以及删除数据库等操作

。查看数据库创建数据库显示数据库结构45选择当前操作的数据库删除数据库2.3MySQL数据库管理123数据库是存储数据库对象的容器。MySQL数据库

createdatabasechoose;成功创建choose数据库后,数据库根目录下会自动创建数据库目录。2.3.1创建数据库createdatabasechoose;2.3

使用MySQL命令showdatabases;即可查看MySQL服务实例上所有的数据库

2.3.2查看数据库使用MySQL命令2.3.2查看数据库

使用MySQL命令showcreatedatabasechoose;可以查看choose数据库的相关信息(例如MySQL版本ID号、默认字符集等信息)。2.3.3显示数据库结构使用MySQL命令2.3.3显示数据库结构

执行“usechoose;”命令后,后续的MySQL命令以及SQL语句将自动操作choose数据库中所有数据库对象。2.3.4选择当前操作的数据库执行“usechoose;”命令后,后续的删除student数据库,使用SQL语句dropdatabasestudent;2.3.5删除数据库删除student数据库,使用SQL语句2.3.5删除数据123表是数据库中最为重要的数据库对象

设置默认的存储引擎MyISAM和InnoDB存储引擎创建数据库表45显示表结构表记录的管理2.4MySQL表管理123表是数据库中最为重要的数据库对象设置默认的存储引擎M4567表是数据库中最为重要的数据库对象

删除表InnoDB表空间2.4MySQL表管理67表是数据库中最为重要的数据库对象删除表InnoDB表空46MySQL提供了插件式(Pluggable)的存储引擎,存储引擎是基于表的,同一个数据库,不同的表,存储引擎可以不同。甚至同一个数据库表,在不同的场合可以应用不同的存储引擎。

2.4.1MyISAM和InnoDB存储引擎MySQL提供了插件式(Pluggable)的存储引使用MySQL命令“showengines;”,即可查看MySQL服务实例支持的存储引擎。2.4.1MyISAM和InnoDB存储引擎使用MySQL命令“showengines1.InnoDB存储引擎的特点支持外键(ForeignKey)支持事务(Transaction):如果某张表主要提供OLTP支持,需要执行大量的增、删、改操作(insert、delete、update语句),出于事务安全方面的考虑,InnoDB存储引擎是更好的选择。最新版本的MySQL已经开始支持全文检索。2.4.1MyISAM和InnoDB存储引擎1.InnoDB存储引擎的特点2.4.1MyISAM和In2.MyISAM存储引擎的特点MyISAM具有检查和修复表的大多数工具。MyISAM表可以被压缩

MyISAM表最早支持全文索引

但MyISAM表不支持事务

但MyISAM表不支持外键(ForeignKey)。如果需要执行大量的select语句,出于性能方面的考虑,MyISAM存储引擎是更好的选择。2.4.1MyISAM和InnoDB存储引擎2.MyISAM存储引擎的特点2.4.1MyISAM和InMySQL5.6默认的默认的存储引擎是InnoDB。使用MySQL命令setdefault_storage_engine=MyISAM;可以“临时地”将MySQL“当前会话的”存储引擎设置为MyISAM,使用MySQL命令“showengines;”可以查看当前MySQL服务实例默认的存储引擎。2.4.2设置默认的存储引擎MySQL5.6默认的默认的存储引擎是InnoDB。使用SQL语句“createtable表名”即可创建一个数据库表。例如:

usechoose;setdefault_storage_engine=InnoDB;createtablemy_table(todaydatetime,namechar(20));2.4.3创建数据库表使用SQL语句“createtable表名”即可创成功创建InnoDB存储引擎的my_table表后,MySQL服务实例会在数据库目录choose中自动创建一个名字为表名、后缀名为frm的文件。my_table.frm。2.4.3创建数据库表成功创建InnoDB存储引擎的my_table表后,将my_table表的存储引擎修改为MyISAM。usechoose;altertablemy_tableengine=MyISAM;2.4.3创建数据库表将my_table表的存储引擎修改为MyISAM。2.4.3使用MySQL命令“destable_name;”即可查看表名为table_name的表结构。2.4.4显示表结构使用MySQL命令“destable_name;”使用MySQL命令“showcreatetabletable_name;”,查看名为table_name表的详细信息。2.4.4显示表结构使用MySQL命令“showcreatetablusechoose;insertintomy_tablevalues(now(),'a');insertintomy_tablevalues(now(),'a');insertintomy_tablevalues(now(),NULL);insertintomy_tablevalues(now(),'');select*frommy_table;

2.4.5表记录的管理usechoose;2.4.5表记录的管理任务布置1:完成本书场景描述1:MyISAM表记录的管理的任务要求。任务布置2:完成本书场景描述2:InnoDB表记录的管理的任务要求。2.4.5表记录的管理任务布置1:完成本书场景描述1:MyISAM表记录的管理的

1.共享表空间:MySQL服务实例承载的所有数据库的所有InnoDB表的数据信息、索引信息、各种元数据信息以及事务的回滚(UNDO)信息,全部存放在共享表空间文件中。默认情况下该文件位于数据库根目录下,文件名是ibdata1,且文件的初始大小为10M。可以使用MySQL命令“showvariableslike‘innodb_data_file_path’;”查看该文件的的属性。

2.4.6InnoDB表空间1.共享表空间:MySQL服务实例承载的所有数据库的2.4.6InnoDB表空间2.4.6InnoDB表空间

2.独享表空间:如果将全局系统变量innodb_file_per_table的值设置为ON(innodb_file_per_table的默认值为OFF),那么之后再创建InnoDB存储引擎的新表,这些表的数据信息、索引信息都将保存到独享表空间文件。2.4.6InnoDB表空间2.独享表空间:如果将全局系统变量innodb_fi独享表空间的设置2.4.6InnoDB表空间独享表空间的设置2.4.6InnoDB表空间usechoose;altertablemy_tableengine=InnoDB;createtablesecond_table(todaydatetime,namechar(20));2.4.6InnoDB表空间usechoose;2.4.6InnoDB表空间2.4.6InnoDB表空间2.4.6InnoDB表空间任务布置3:完成本书场景描述3的任务要求。2.4.6InnoDB表空间任务布置3:完成本书场景描述3的任务要求。2.4.6Inn使用SQL语句droptabletable_name;即可删除名为table_name的表。删除表后,MySQL服务实例会自动删除该表结构定义文件(例如second_table.frm文件),以及数据、索引信息。该命令慎用!

2.4.7删除表使用SQL语句2.4.7删除表123MySQL数据库中,变量分为系统变量(以@@开头)以及用户自定义变量(以@开头)。查看系统变量的值全局系统变量与会话系统变量设置系统变量的值2.5系统变量123MySQL数据库中,变量分为系统变量(以@@开头)以及67每一个MySQL客户机成功连接MySQL服务器后,都会产生与之对应的会话。会话期间,MySQL服务实例会在MySQL服务器内存中生成与该会话对应的会话系统变量,这些会话系统变量的初始值是全局系统变量值的拷贝。

2.5.1全局系统变量与会话系统变量每一个MySQL客户机成功连接MySQL服务器后,都由于各会话在会话期间所做的操作不尽相同,为了标记各个会话,会话系统变量又新增了12个变量。2.5.1全局系统变量与会话系统变量由于各会话在会话期间所做的操作不尽相同,为了标记各个2.5.1全局系统变量与会话系统变量2.5.1全局系统变量与会话系统变量

使用“showglobalvariables;”命令即可查看MySQL服务器内存中所有的全局系统变量信息(有393项之多)。使用“showsessionvariables;”命令即可查看与当前会话相关的所有会话系统变量以及所有的全局系统变量(有405项之多),此处session关键字可以省略。

2.5.2查看系统变量的值使用“showglobalvariables;”

MySQL中有一些系统变量仅仅是全局系统变量,例如innodb_data_file_path。showglobalvariableslike'innodb_data_file_path';showsessionvariableslike'innodb_data_file_path';showvariableslike'innodb_data_file_path';2.5.2查看系统变量的值MySQL中有一些系统变量仅仅是全局系统变量,例如

MySQL中有一些系统变量仅仅是会话系统变量,例如MySQL连接ID会话系统变量pseudo_thread_id。showsessionvariableslike'pseudo_thread_id';showvariableslike'pseudo_thread_id';2.5.2查看系统变量的值MySQL中有一些系统变量仅仅是会话系统变量,例如MMySQL中有一些系统变量既是全局系统变量,又是会话系统变量,例如系统变量character_set_client既是全局系统变量,又是会话系统变量。2.5.2查看系统变量的值MySQL中有一些系统变量既是全局系统变量,又是会话

此时查看会话系统变量的方法:showsessionvariableslike'character_set_client';showvariableslike'character_set_client';此时查看全局系统变量的方法:

showglobalvariableslike'character_set_client';2.5.2查看系统变量的值此时查看会话系统变量的方法:2.5.2查看系统变量作为MySQL编码规范,MySQL中的系统变量以两个“@”开头。@@global仅仅用于标记全局系统变量;@@session仅仅用于标记会话系统变量;@@首先标记会话系统变量,如果会话系统变量不存在,则标记全局系统变量。

2.5.2查看系统变量的值作为MySQL编码规范,MySQL中的系统变量以两个“@”开任务布置4:完成本书场景描述4的任务要求。2.5.2查看系统变量的值任务布置4:完成本书场景描述4的任务要求。2.5.2查看系方法一:修改MySQL源代码,然后对MySQL源代码重新编译(该方法适用于MySQL高级用户,这里不作阐述)。方法二:最为简单的方法是通过修改MySQL配置文件,继而修改MySQL系统变量的值(fai方法需要重启MySQL服务)。方法三:在MySQL服务运行期间,使用“set”命令重新设置系统变量的值。

2.5.2查看系统变量的值方法一:修改MySQL源代码,然后对MySQL源代码重新编译设置全局系统变量的值的方法:set@@global.innodb_file_per_table=default;set@@global.innodb_file_per_table=ON;setglobalinnodb_file_per_table=ON;2.5.2查看系统变量的值设置全局系统变量的值的方法:2.5.2查看系统变量

设置会话系统变量的值的方法:set@@session.pseudo_thread_id=5;setsessionpseudo_thread_id=5;set@@pseudo_thread_id=5;setpseudo_thread_id=5;2.5.2查看系统变量的值设置会话系统变量的值的方法:2.5.2查看系统变量

MySQL中还有一些特殊的全局系统变量(例如log_bin、tmpdir、version、datadir),在MySQL服务实例运行期间它们的值不能动态修改,不能使用“set”命令进行重新设置,这种变量称为静态变量。数据库管理员可以使用方法一或者方法二对静态变量的值重新设置。

2.5.2查看系统变量的值MySQL中还有一些特殊的全局系统变量(例如log_步骤1:准备工作方法一:停止MySQL服务方法二:使用MySQL命令“flushtableswithreadlock;”将服务器内存中的数据“刷新”到数据库文件中,同时锁定所有表,以保证备份期间不会有新的数据写入。2.6MySQL数据库备份和恢复步骤1:准备工作2.6MySQL数据库备份和恢复82步骤2:备份文件的选取如果数据库中全部是MyISAM存储引擎的表,最为简单的数据库备份方法就是直接“备份”整个数据库目录。如果某个数据库中还存在InnoDB存储引擎的表,此时不仅需要“备份”整个数据库目录,还需要备份ibdata1表空间文件以及重做日志文件ib_logfile0与ib_logfile1。2.6MySQL数据库备份和恢复步骤2:备份文件的选取2.6MySQL数据库备份和恢复83步骤2:备份文件的选取数据库备份时,建议将MySQL配置文件(例如my.ini配置文件)一并进行备份。2.6MySQL数据库备份和恢复步骤2:备份文件的选取2.6MySQL数据库备份和恢复84步骤3:数据库恢复首先停止MySQL服务;然后将整个数据库目录、MySQL配置文件(例如my.ini配置文件)、ibdata1共享表空间文件以及重做日志文件ib_logfile0与ib_logfile1复制到新MySQL服务器对应的路径,即可恢复数据库中的数据。2.6MySQL数据库备份和恢复步骤3:数据库恢复2.6MySQL数据库备份和恢复85ThanksThanks86MySQL数据库基础与实例教程第2章课件87孔祥盛MySQL数据库基础与实例教程

之MySQL基础知识孔祥盛MySQL数据库基础与实例教程88123通过本章的学习,读者可以掌握一些常用的MySQL命令,从而对MySQL数据库进行一些简单的管理。本章知识点较为繁杂,希望保持一份儿耐心。4字符集以及字符序设置MySQL概述MySQL数据库管理MySQL表管理5系统变量内容一览123通过本章的学习,读者可以掌握一些常用的MySQ89123MySQL由瑞典MySQLAB公司开发。2008年1月MySQL被美国的SUN公司收购。2009年4月SUN公司又被美国的甲骨文(Oracle)公司收购。MySQL服务的安装MySQL的特点MySQL服务的配置45启动与停止MySQL服务MySQL配置文件2.1MySQL概述123MySQL由瑞典MySQLAB公司开发。MySQL服9067MySQL由瑞典MySQLAB公司开发。2008年1月MySQL被美国的SUN公司收购。2009年4月SUN公司又被美国的甲骨文(Oracle)公司收购。连接MySQL服务器关系数据库MySQL客户机2.1MySQL概述67MySQL由瑞典MySQLAB公司开发。连接MySQL91

MySQL是一个单进程多线程、支持多用户、基于客户机/服务器(Client/Server简称C/S)的关系数据库管理系统。性能高效跨平台支持简单易用开源支持多用户2.1.1MySQL特点MySQL是一个单进程多线程、支持多用户、基于客MySQL的使用流程

2.1.1MySQL特点MySQL的使用流程2.1.1MySQL特点MySQL其他概念(请参看本书内容):MySQL服务MySQL服务实例MySQL服务器端口号2.1.1MySQL特点MySQL其他概念(请参看本书内容):2.1.1MySQLMySQL服务的安装(请参看本书内容)。建议自学,并上机操作。注意:本书使用的MySQL为5.6版本。可以到本书指定的网址下载MySQL图形化安装包mysql-5.6.5-m8-win32.msi。

2.1.2MySQL服务的安装MySQL服务的安装(请参看本书内容)。2.1.2MySQMySQL服务的配置(请参看本书内容)。建议自学,并上机操作。配置过程中的其他知识点:OLAP与OLTP

EnableStrictMode选项字符集/字符序MySQL超级管理员root账户my.ini配置文件中2.1.3MySQL服务的配置MySQL服务的配置(请参看本书内容)。2.1.3MySQMySQL服务的启动与停止(请参看本书内容)。建议自学,并上机操作。2.1.4启动与停止MySQL服务MySQL服务的启动与停止(请参看本书内容)。2.1.4启my.ini配置文件包含了多种参数选项组,每个参数选项组通过“[]”指定,每个参数选项组可以配置多个参数信息。通常情况下,每个参数遵循“参数名=参数值”这种配置格式,参数名一般是小写字母,参数名大小写敏感。常用的参数选项组有“[client]”、“[mysql]”以及“[mysqld]”参数选项组。2.1.5MySQL配置文件my.ini配置文件包含了多种参数选项组,每个参数选项组通过[client]参数选项组:配置了MySQL自带的MySQL5.6命令行窗口可以读取的参数信息。常用的参数是port(默认值是3306)。修改该port值会导致新打开的MySQL5.6命令行窗口无法连接MySQL服务器。2.1.5MySQL配置文件[client]参数选项组:2.1.5MySQL配置文件[mysql]参数选项组:配置了MySQL客户机程序mysql.exe可以读取的参数信息。常用的参数有“prompt”、“default-character-set=gbk”。修改“[mysql]”参数选项组中的参数值,将直接影响新打开的MySQL客户机。2.1.5MySQL配置文件[mysql]参数选项组:2.1.5MySQL配置文件[mysqld]参数选项组:配置了MySQL服务程序mysqld.exe可以读取的参数信息,mysqld.exe启动时,将[mysqld]参数选项组的参数信息加载到服务器内存,继而生成MySQL服务实例。2.1.5MySQL配置文件[mysqld]参数选项组:2.1.5MySQL配置文件[mysqld]参数选项组:常用的参数有“port”、“basedir”、“datadir”、“character-set-server”、“sql_mode”、“max_connections”以及“default_storage_engine”等。2.1.5MySQL配置文件[mysqld]参数选项组:2.1.5MySQL配置文件[mysqld]参数选项组:修改“[mysqld]”参数选项组的参数值,只有重新启动MySQL服务,将修改后的配置文件参数信息加载到服务器内存后,新配置文件才会在新的MySQL服务实例中生效。如果“[mysqld]”参数选项组的参数信息出现错误,将会导致MySQL服务无法启动。2.1.5MySQL配置文件[mysqld]参数选项组:2.1.5MySQL配置文件MySQL客户机(本书使用前两个):MySQL5.6命令行窗口

CMD命令提示符窗口

WEB浏览器(例如phpMyAdmin)第三方客户机程序(例如MySQL-Front、MySQL

ManagerforMySQL等)2.1.6MySQL客户机MySQL客户机(本书使用前两个):2.1.6MySQL客phpMyAdmin2.1.6MySQL客户机phpMyAdmin2.1.6MySQL客户机MySQL-Front2.1.6MySQL客户机MySQL-Front2.1.6MySQL客户机MySQL

ManagerforMySQL2.1.6MySQL客户机MySQL

ManagerforMySQL2.1.6M2.1.6MySQL客户机HeidiSQL2.1.6MySQL客户机HeidiSQLMySQL客户机连接MySQL服务器须提供:合法的登录主机:解决“from”的问题。合法的账户名以及密码:解决“who”的问题。MySQL服务器主机名(或IP地址):解决“to”的问题。端口号:解决“多卡多待”的问题。MySQL客户机与MySQL服务器是同一台主机时,主机名可以使用localhost(或者127.0.0.1)。2.1.7连接MySQL服务器MySQL客户机连接MySQL服务器须提供:2.1.7连接当MySQL客户机与MySQL服务器是同一台主机时,打开命令提示符窗口,输入mysql-h127.0.0.1-P3306-uroot–proot或者mysql-hlocalhost-P3306-uroot–proot然后回车(注意-p后面紧跟密码root),即可实现本地MySQL客户机与本地MySQL服务器之间的成功连接。2.1.7连接MySQL服务器当MySQL客户机与MySQL服务器是同一台主机时,打开命令2.1.7连接MySQL服务器2.1.7连接MySQL服务器123MySQL由瑞典MySQLAB公司开发,默认情况下MySQL使用的是latin1字符集。由此可能导致MySQL数据库不够支持中文字符串查询或者发生中文字符串乱码等问题。

MySQL字符集与字符序字符集及字符序概念MySQL的字符集转换过程45MySQL字符集的设置SQL脚本文件2.2字符集以及字符序设置123MySQL由瑞典MySQLAB公司开发,默认112字符(Character)是人类语言最小的表义符号,例如‘A’、‘B’等。给定一系列字符,对每个字符赋予一个数值,用数值来代表对应的字符,这个数值就是字符的编码(CharacterEncoding)。给定一系列字符并赋予对应的编码后,所有这些“字符和编码对”组成的集合就是字符集(CharacterSet)。

2.2.1字符集及字符序概念字符(Character)是人类语言最小的表义符号,2.2.1字符集及字符序概念2.2.1字符集及字符序概念字符序(Collation)是指在同一字符集内字符之间的比较规则。一个字符集包含多种字符序,每个字符序唯一对应一种字符集。MySQL字符序命名规则是:以字符序对应的字符集名称开头,以国家名居中(或以general居中),以ci、cs或bin结尾。ci表示大小写不敏感,cs表示大小写敏感,bin表示按二进制编码值比较。2.2.1字符集及字符序概念字符序(Collation)是指在同一字符集内字符之使用MySQL命令showcharacterset;即可查看当前MySQL服务实例支持的字符集、字符集默认的字符序以及字符集占用的最大字节长度等信息latin1支持西欧字符、希腊字符等gbk支持中文简体字符big5支持中文繁体字符utf8几乎支持世界所有国家的字符。2.2.2MySQL字符集及字符序使用MySQL命令showcharacterse使用MySQL命令showvariableslike'character%';即可查看当前MySQL服务实例使用的字符集。2.2.2MySQL字符集及字符序使用MySQL命令2.2.2MySQL字符集及字符

character_set_client:MySQL客户机字符集。character_set_connection:数据通信链路字符集,当MySQL客户机向服务器发送请求时,请求数据以该字符集进行编码。character_set_database:数据库字符集。character_set_filesystem:MySQL服务器文件系统字符集,该值是固定的binary。2.2.2MySQL字符集及字符序character_set_client:MySQL客户character_set_results:结果集的字符集,MySQL服务器向MySQL客户机返回执行结果时,执行结果以该字符集进行编码。character_set_server:MySQL服务实例字符集。character_set_system:元数据(字段名、表名、数据库名等)的字符集,默认值为utf8。2.2.2MySQL字符集及字符序character_set_results:结果集的字符使用MySQL命令“showcollation;”即可查看当前MySQL服务实例支持的字符序。2.2.2MySQL字符集及字符序使用MySQL命令“showcollation;”2.2.3MySQL字符集的转换过程2.2.3MySQL字符集的转换过程方法1:修改my.ini配置文件,可修改MySQL默认的字符集。方法2:MySQL提供下列MySQL命令可以“临时地”修改MySQL“当前会话的”字符集以及字符序。2.2.4MySQL字符集的设置方法1:修改my.ini配置文件,可修改MySQL默认的setcharacter_set_client=gbk;setcharacter_set_connection=gbk;setcharacter_set_database=gbk;setcharacter_set_results=gbk;setcharacter_set_server=gbk;setcollation_connection=gbk_chinese_ci;setcollation_database=gbk_chinese_ci;setcollation_server=gbk_chinese_ci;2.2.4MySQL字符集的设置setcharacter_set_client=g方法3:使用MySQL命令“setnamesgbk;”可以“临时一次性地”设置character_set_client、character_set_connection以及character_set_results的字符集为gbk方法4:连接MySQL服务器时指定字符集mysql--default-character-set=字符集

-h服务器IP地址-u账户名–p密码2.2.4MySQL字符集的设置方法3:使用MySQL命令“setnamesgbkSQL基本的执行方法(两种):

\.C:\mysql\init.sqlsourceC:\mysql\init.sql2.2.5SQL脚本文件SQL基本的执行方法(两种):2.2.5SQL脚本文件123

数据库是存储数据库对象的容器。MySQL数据库的管理主要包括数据库的创建、选择当前操作的数据库、显示数据库结构以及删除数据库等操作

。查看数据库创建数据库显示数据库结构45选择当前操作的数据库删除数据库2.3MySQL数据库管理123数据库是存储数据库对象的容器。MySQL数据库

createdatabasechoose;成功创建choose数据库后,数据库根目录下会自动创建数据库目录。2.3.1创建数据库createdatabasechoose;2.3

使用MySQL命令showdatabases;即可查看MySQL服务实例上所有的数据库

2.3.2查看数据库使用MySQL命令2.3.2查看数据库

使用MySQL命令showcreatedatabasechoose;可以查看choose数据库的相关信息(例如MySQL版本ID号、默认字符集等信息)。2.3.3显示数据库结构使用MySQL命令2.3.3显示数据库结构

执行“usechoose;”命令后,后续的MySQL命令以及SQL语句将自动操作choose数据库中所有数据库对象。2.3.4选择当前操作的数据库执行“usechoose;”命令后,后续的删除student数据库,使用SQL语句dropdatabasestudent;2.3.5删除数据库删除student数据库,使用SQL语句2.3.5删除数据123表是数据库中最为重要的数据库对象

设置默认的存储引擎MyISAM和InnoDB存储引擎创建数据库表45显示表结构表记录的管理2.4MySQL表管理123表是数据库中最为重要的数据库对象设置默认的存储引擎M13267表是数据库中最为重要的数据库对象

删除表InnoDB表空间2.4MySQL表管理67表是数据库中最为重要的数据库对象删除表InnoDB表空133MySQL提供了插件式(Pluggable)的存储引擎,存储引擎是基于表的,同一个数据库,不同的表,存储引擎可以不同。甚至同一个数据库表,在不同的场合可以应用不同的存储引擎。

2.4.1MyISAM和InnoDB存储引擎MySQL提供了插件式(Pluggable)的存储引使用MySQL命令“showengines;”,即可查看MySQL服务实例支持的存储引擎。2.4.1MyISAM和InnoDB存储引擎使用MySQL命令“showengines1.InnoDB存储引擎的特点支持外键(ForeignKey)支持事务(Transaction):如果某张表主要提供OLTP支持,需要执行大量的增、删、改操作(insert、delete、update语句),出于事务安全方面的考虑,InnoDB存储引擎是更好的选择。最新版本的MySQL已经开始支持全文检索。2.4.1MyISAM和InnoDB存储引擎1.InnoDB存储引擎的特点2.4.1MyISAM和In2.MyISAM存储引擎的特点MyISAM具有检查和修复表的大多数工具。MyISAM表可以被压缩

MyISAM表最早支持全文索引

但MyISAM表不支持事务

但MyISAM表不支持外键(ForeignKey)。如果需要执行大量的select语句,出于性能方面的考虑,MyISAM存储引擎是更好的选择。2.4.1MyISAM和InnoDB存储引擎2.MyISAM存储引擎的特点2.4.1MyISAM和InMySQL5.6默认的默认的存储引擎是InnoDB。使用MySQL命令setdefault_storage_engine=MyISAM;可以“临时地”将MySQL“当前会话的”存储引擎设置为MyISAM,使用MySQL命令“showengines;”可以查看当前MySQL服务实例默认的存储引擎。2.4.2设置默认的存储引擎MySQL5.6默认的默认的存储引擎是InnoDB。使用SQL语句“createtable表名”即可创建一个数据库表。例如:

usechoose;setdefault_storage_engine=InnoDB;createtablemy_table(todaydatetime,namechar(20));2.4.3创建数据库表使用SQL语句“createtable表名”即可创成功创建InnoDB存储引擎的my_table表后,MySQL服务实例会在数据库目录choose中自动创建一个名字为表名、后缀名为frm的文件。my_table.frm。2.4.3创建数据库表成功创建InnoDB存储引擎的my_table表后,将my_table表的存储引擎修改为MyISAM。usechoose;altertablemy_tableengine=MyISAM;2.4.3创建数据库表将my_table表的存储引擎修改为MyISAM。2.4.3使用MySQL命令“destable_name;”即可查看表名为table_name的表结构。2.4.4显示表结构使用MySQL命令“destable_name;”使用MySQL命令“showcreatetabletable_name;”,查看名为table_name表的详细信息。2.4.4显示表结构使用MySQL命令“showcreatetablusechoose;insertintomy_tablevalues(now(),'a');insertintomy_tablevalues(now(),'a');insertintomy_tablevalues(now(),NULL);insertintomy_tablevalues(now(),'');select*frommy_table;

2.4.5表记录的管理usechoose;2.4.5表记录的管理任务布置1:完成本书场景描述1:MyISAM表记录的管理的任务要求。任务布置2:完成本书场景描述2:InnoDB表记录的管理的任务要求。2.4.5表记录的管理任务布置1:完成本书场景描述1:MyISAM表记录的管理的

1.共享表空间:MySQL服务实例承载的所有数据库的所有InnoDB表的数据信息、索引信息、各种元数据信息以及事务的回滚(UNDO)信息,全部存放在共享表空间文件中。默认情况下该文件位于数据库根目录下,文件名是ibdata1,且文件的初始大小为10M。可以使用MySQL命令“showvariableslike‘innodb_data_file_path’;”查看该文件的的属性。

2.4.6InnoDB表空间1.共享表空间:MySQL服务实例承载的所有数据库的2.4.6InnoDB表空间2.4.6InnoDB表空间

2.独享表空间:如果将全局系统变量innodb_file_per_table的值设置为ON(innodb_file_per_table的默认值为OFF),那么之后再创建InnoDB存储引擎的新表,这些表的数据信息、索引信息都将保存到独享表空间文件。2.4.6InnoDB表空间2.独享表空间:如果将全局系统变量innodb_fi独享表空间的设置2.4.6InnoDB表空间独享表空间的设置2.4.6InnoDB表空间usechoose;altertablemy_tableengine=InnoDB;createtablesecond_table(todaydatetime,namechar(20));2.4.6InnoDB表空间usechoose;2.4.6InnoDB表空间2.4.6InnoDB表空间2.4.6InnoDB表空间任务布置3:完成本书场景描述3的任务要求。2.4.6InnoDB表空间任务布置3:完成本书场景描述3的任务要求。2.4.6Inn使用SQL语句droptabletable_name;即可删除名为table_name的表。删除表后,MySQL服务实例会自动删除该表结构定义文件(例如second_table.frm文件),以及数据、索引信息。该命令慎用!

2.4.7删除表使用SQL语句2.4.7删除表123MySQL数据库中,变量分为系统变量(以@@开头)以及用户自定义变量(以@开头)。查看系统变量的值全局系统变量与会话系统变量设置系统变量的值2.5系统变量123MySQL数据库中,变量分为系统变量(以@@开头)以及154每一个MySQL客户机成功连接MySQL服务器后,都会产生与之对应的会话。会话期间,MySQL服务实例会在MySQL服务器内存中生成与该会话对应的会话系统变量,这些会话系统变量的初始值是全局系统变量值的拷贝。

2.5.1全局系统变量与会话系统变量每一个MySQL客户机成功连接MySQL服务器后,都由于各会话在会话期间所做的操作不尽相同,为了标记各个会话,会话系统变量又新增了12个变量。2.5.1全局系统变量与会话系统变量由于各会话在会话期间所做的操作不尽相同,为了标记各个2.5.1全局系统变量与会话系统变量2.5.1全局系统变量与会话系统变量

使用“showglobalvariables;”命令即可查看MySQL服务器内存中所有的全局系统变量信息(有393项之多)。使用“showsessionvariables;”命令即可查看与当前会话相关的所有会话系统变量以及所有的全局系统变量(有405项之多),此处session关键字可以省略。

2.5.2查看系统变量的值使用“show

温馨提示

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

评论

0/150

提交评论