我使用的环境是Win7,开始学习PHP和MySQL,并且买了本《Head First PHP & MySQL》,可以从Head First Labs官网获得HeadFirst系列书籍的相关信息和源代码。
1、下载XAMPP开发包
从XAMPP中文官网下载目前比较流行的PHP开发包,XAMPP是完全免费且易于安装的Apache发行版,其中包含MySQL、PHP和Perl。XAMPP适用于Windows、Mac OS X和Linux,XAMPP开放源码包的设置让安装和使用出奇容易。我下载的版本是:xampp-win32-1.8.3-4-VC11-installer.exe
2、开始学习MySQL
有一定的SQL基础后,比如我在以前学校的学习的是Microsoft SQLSever,大部分的SQL基础语句都学过实践过,所以学习MySQL就很顺畅了,毕竟除了特别的不同之处意外基本的概念是一致的。不过相比较其他关系型数据库如Oracle、SQLServer,MySQL算是比较轻量级的数据库引擎了。
学习MySQL最好的方式就是从官网下载MySQL 5.7 Reference Manual,就是英文的最新版MySQL 5.7参考手册,目前我还没找到中文版。另外遇到不会的MySQL问题Google也是不错的学习方式。
学习MySQL的2种方式:
(1)MySQL命令行终端
安装好XAMPP安装包后(当然也可以单独下载安装MySQL安装包),有一个XAMPP Control Panel面板,打开后单击Apace、MySQL的Start按钮启动Apache、MySQL,然后单击最右侧的shell按钮,如下图所示:

在弹出的MySQL shell窗口输入如下的MySQL命令连接到root账户
mysql -uroot -p
如下图:

然后就可以正常使用MySQL数据库了。
下面是我使用的MySQL数据库的过程:
Setting environment for using XAMPP for Windows. Administrator@CCF-PC d:\programs\xampp # mysql -uroot -p Enter password: ******** Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 17 Server version: 5.6.16 MySQL Community Server (GPL) Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> SHOW DATABASES; +--------------------+ | Database | +--------------------+ | information_schema | | 中国 | | aliendb | | cdcol | | elvis_store | | finanace_project2 | | malan_lecture | | mysql | | performance_schema | | php_test | | phpmyadmin | | testdemo | | webauth | +--------------------+ 13 rows in set (0.02 sec) mysql> USE elvis_store Database changed mysql> SHOW TABLES; +-----------------------+ | Tables_in_elvis_store | +-----------------------+ | email_list | +-----------------------+ 1 row in set (0.00 sec) mysql> DESCRIBE email_list; +------------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------+-------------+------+-----+---------+-------+ | first_name | varchar(20) | NO | PRI | | | | last_name | varchar(20) | NO | PRI | | | | email | varchar(60) | NO | | NULL | | +------------+-------------+------+-----+---------+-------+ 3 rows in set (0.02 sec) mysql> ALTER TABLE email_list DROP PRIMARY KEY; Query OK, 13 rows affected (3.51 sec) Records: 13 Duplicates: 0 Warnings: 0 mysql> DESCRIBE email_list; +------------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------+-------------+------+-----+---------+-------+ | first_name | varchar(20) | NO | | | | | last_name | varchar(20) | NO | | | | | email | varchar(60) | NO | | NULL | | +------------+-------------+------+-----+---------+-------+ 3 rows in set (0.03 sec) mysql> ALTER TABLE email_list ADD id INT NOT NULL AUTO_INCREMENT FIRST, ADD PRIM ARY KEY(id); Query OK, 0 rows affected (1.64 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> DESCRIBE email_list; +------------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +------------+-------------+------+-----+---------