第一章 MySQL入门篇
一.MySql简介
简言: 和SQL Server数据库相同,MySQl也是一个关系型数据库管理系统。由瑞典的MySQL AB公司开发,2008年被SUN公司收购,2009年,SUN公司被Oracle公司收购,因此两个主流数据库均为Oracle公司所有。
1.MySQL的版本
a) 社区版(Community):可*下载而且完全免费,但官方不提供任何技术支持。
b) 企业版(Enterprise):收费版本,由技术支持。
2.MySQL的优势
1) 运行速度快。因为MySQL体积小,命令执行的速度就快。
2) 使用成本低。MySQL是开源的,而且提供免费版本。
3) 容易使用。复杂程度低
4) 可移植性强。能运用多种平台上,如windows,Linux,UNIX等
5) 使用与更多用户。支持最常用的数据管理功能,适应中小型企业甚至是大型网站的应用。
3.MySQL支持的接口
标准C的API;
JDBC;
CDBC;
.NET;
PHP;
Pythop;
Perl;
Ruby;
Cobol;等
二.MySQL的配置
- 端口的设置 3306
- 默认字符集的设置:utf8
- 将bin目录写入环境变量
- Root账户密码设置
MySQL设置的实例:安装与配置
http://jingyan.baidu.com/article/9f7e7ec04407ff6f29155478.html
下面的是MySQL安装的图解,用的可执行文件安装的,详细说明了一下!打开下载的mysql安装文件mysql-5.0.27-win32.zip,双击解压缩,运行“setup.exe”,出现如下界面
mysql安装向导启动,按“Next”继续
选择安装类型,有“Typical(默认)”、“Complete(完全)”、“Custom(用户自定义)”三个选项,我们选择“Custom”,有更多的选项,也方便熟悉安装过程:3
按顺序进行4
mysql配置向导启动界面,按“Next”继续5
选择配置方式,“Detailed Configuration(手动精确配置)”、“Standard Configuration(标准配置)”,我们选择“Detailed Configuration”,方便熟悉配置过程。6
选择服务器类型,“Developer Machine(开发测试类,mysql占用很少资源)”、“Server Machine(服务器类型,mysql占用较多资源)”、“Dedicated MySQL Server Machine(专门的数据库服务器,mysql占用所有可用资源)”,大家根据自己的类型选择了,一般选“Server Machine”,不会太少,也不会占满7
选择mysql数据库的大致用途,“Multifunctional Database(通用多功能型,好)”、“Transactional Database Only(服务器类型,专注于事务处理,一般)”、“Non-Transactional Database Only(非事务处理型,较简单,主要做一些监控、记数用,对MyISAM数据类型的支持仅限于non-transactional),随自己的用途而选择了,我这里选择“Transactional Database Only”,按“Next”继续8
对InnoDB Tablespace进行配置,就是为InnoDB 数据库文件选择一个存储空间,如果修改了,要记住位置,重装的时候要选择一样的地方,否则可能会造成数据库损坏,当然,对数据库做个备份就没问题了,这里不详述。我这里没有修改,使用用默认位置,直接按“Next”继续9
选择您的网站的一般mysql访问量,同时连接的数目,“Decision Support(DSS)/OLAP(20个左右)”、“Online Transaction Processing(OLTP)(500个左右)”、“Manual Setting(手动设置,自己输一个数)”,我这里选“Online Transaction Processing(OLTP)”,自己的服务器,应该够用了,按“Next”继续10
是否启用TCP/IP连接,设定端口,如果不启用,就只能在自己的机器*问mysql数据库了,我这里启用,把前面的勾打上,Port Number:3306,在这个页面上,您还可以选择“启用标准模式”(Enable Strict Mode),这样MySQL就不会允许细小的语法错误。如果您还是个新手,我建议您取消标准模式以减少麻烦。但熟悉MySQL以后,尽量使用标准模式,因为它可以降低有害数据进入数据库的可能性。按“Next”继续11
西文编码,第二个是多字节的通用utf8编码,都不是我们通用的编码,这里选择第三个,然后在Character Set那里选择或填入“gbk”,当然也可以用“gb2312”,区别就是gbk的字库容量大,包括了gb2312的所有汉字,并且加上了繁体字、和其它乱七八糟的字——使用mysql的时候,在执行数据操作命令之前运行一次“SET NAMES GBK;”(运行一次就行了,GBK可以替换为其它值,视这里的设置而定),就可以正常的使用汉字(或其它文字)了,否则不能正常显示汉字。按 “Next”继续12
选择是否将mysql安装为windows服务,还可以指定Service Name(服务标识名称),是否将mysql的bin目录加入到Windows PATH(加入后,就可以直接使用bin下的文件,而不用指出目录名,比如连接,“mysql.exe -uusername -ppassword;”就可以了,不用指出mysql.exe的完整地址,很方便),我这里全部打上了勾,Service Name不变。按“Next”继续。选择是否将mysql安装为windows服务,还可以指定Service Name(服务标识名称),是否将mysql的bin目录加入到Windows PATH(加入后,就可以直接使用bin下的文件,而不用指出目录名,比如连接,“mysql.exe -uusername -ppassword;”就可以了,不用指出mysql.exe的完整地址,很方便),我这里全部打上了勾,Service Name不变。按“Next”继续13
这一步询问是否要修改默认root用户(超级管理)的密码(默认为空),“New root password”如果要修改,就在此填入新密码(如果是重装,并且之前已经设置了密码,在这里更改密码可能会出错,请留空,并将“Modify Security Settings”前面的勾去掉,安装配置完成后另行修改密码),“Confirm(再输一遍)”内再填一次,防止输错。 “Enable root access from remote machines(是否允许root用户在其它的机器上登陆,如果要安全,就不要勾上,如果要方便,就勾上它)”。最后“Create An Anonymous Account(新建一个匿名用户,匿名用户可以连接数据库,不能操作数据,包括查询)”,一般就不用勾了,设置完毕,按“Next”继续
END
出现问题
如果是重装的,可能出现错误!下面有一些常用问题的解决方法
http://aben328.iteye.com/blog/609495
安装MySQL时无法启动服务(could not start the service MYSQL .Error:0)
在安装mysql时,到最后一步,执行时,在start service,出现如下错误:
Could not start the service
一般的发生原因是因为多次安装,或卸载后重装时,才会出现这个问题,所以要把所有相关的文件夹、服务、注册表等都要卸载干净了,再次安装就OK了。
有如下解决办法:
使用services.msc打开服务窗口,查看MySQL service是否已经存在。如已经存在并已启动,则先停止该服务,然后到注册表("HKEY_LOCAL_MACHINE/SYSTEM /CurrentControlSet/Services")中删除对应服务,并使用命令sc
delete MySQL,然后继续进行安装,就能成功。
三.MySQL的使用
1.使用命令连接MySQL数据库
- 检查是否启动MySQL服务
- 检查bin目录是否写入环境变量
- 使用命令(DOS):cmd—mysql [-h 服务器主机地址,如果是本机可省略] -u 用户名 –p密码。
或者是:使用命令(DOS):cmd—mysql [-h 服务器主机地址,如果是本机可省略] -u 用户名 –p 回车键 再输入密码,此时的密码是加密的安全性较高。
2.使用命名操作MySQL数据库
- 创建数据库
语法: CREATE DATABASE
数据库名;
- 查看数据库列表
查看数据列表的语法: SHOW DATABASES;
- 删除数据库
语法:DROP DATABASE
数据库名;
- 查看MySQL的版本:
SELECT VERSION();
- 查看MySQL的用户信息:
SELECT USER();
- 选择是数据库
USE 数据库名;
3.使用命令操作MySQL数据表
- 创建表
语法:
CREATE TABLE [IF
NOT EXISTS] `表名`(
`字段1` 数据类型 [字段属性|约束|索引|COMMENT’说明’],
`字段2` 数据类型 [字段属性|约束|索引|COMMENT’说明’]
)[表类型,如ENGINE=InnoDB][表字符集,如CHARSET=UTF8][注释COMMENT=”学生表”];
- 查看表
1)
SELECT *或要查看的字段名 FROM 表名;
2)
DESCRIBE 表名;
3)
DESC 表名;
- 删除表
DROP TABLE [IF EXISTS] 表名;
4.重要的数据类型及属性
- 没有符号; UNSIGNED 表示没有符号
- ZEROFILL;自动添加填充数据的位数,比如设置INT(4)实际输入12,则自动添加为0012
- ENGINE=InnoDB;指定表的存储引擎
- CHARSET=UTF8;创建表时指定表的字符集
- 主键约束 PRIMARY KEY(字段1,字段2【可以添加几个 主键,即复合主键】)
- 外键约束 FOREIGN KEY(字段)
- 自动增长 AUTO_INCREMENT,默认自增1
四.MySQL的存储引擎
常用的存储引擎:InnoDB ,MyISAM
InnoDB: 支持事务处理,外键,占用空间比MyISAM大,使用与需要事务处理,更新,删除频繁操作的场景。
MyISAM: 不支持事务和外键,占用空间小,访问速度快,适用于不需要事务处理,更新,删除频繁操作的场景。
五.MySQL查询系统帮助命令HELP
语法:HELP 查询的内容;