2025-04-23

我使用的環境是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          |
+------------+-------------+------+-----+---------+----------------+
| id         | int(11)     | NO   | PRI | NULL    | auto_increment |
| first_name | varchar(20) | NO   |     |         |                |
| last_name  | varchar(20) | NO   |     |         |                |
| email      | varchar(60) | NO   |     | NULL    |                |
+------------+-------------+------+-----+---------+----------------+
4 rows in set (0.01 sec)

mysql>

(2)使用phpMyAdmin等命令行界面

phpMyAdmin是一個使用PHP編寫的、基於Web的MySQL管理工具,可以通過互聯網控制和操作MySQL。

安裝好XAMPP並且在XAMPP Control Panel面板啟動Apache伺服器和MySQL之後,登錄瀏覽器鍵入https://localhost,修改安全設置如MySQL密碼後,打開Tools下的phpMyAdmin鏈接,輸入賬號和密碼進入phpMyAdmin管理界面如下圖所示:

然後進行資料庫和表的操作時,此時有兩種方式,一種是通過SQL欄采用類似命令行的方式編寫SQL腳本,另外一種是采用很簡單的手動操作創建資料庫和表,修改資料庫表等方式。

3、MySQL命令小結

對學習到的MySQL命令做下總結吧

(1)MySQL命令連接到伺服器

mysql -uroot -p

(2)創建、刪除、顯示資料庫

CREATE DATABASE elvis_store;
DROP DATABASE elvis_store;
SHOW DATABASES;

(3)選擇某個資料庫

比如我現在資料庫裡面有一個名為elvis_store的資料庫,現在在操作裡面的表時需要選擇它,可以采用如下命令:

USE elvis_store;

(4)使用CREATE TABLE_NAME命令創建一個名為email_list的表,SQL腳本如下:

CREATE TABLE IF NOT EXISTS `email_list` (
  `first_name` varchar(20) NOT NULL DEFAULT '',
  `last_name` varchar(20) NOT NULL DEFAULT '',
  `email` varchar(60) NOT NULL,
  PRIMARY KEY (`first_name`, `last_name`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=14 ;

註意:上面的符號是鍵盤上的~對應的重音符號`,而不是單引號'

(5)顯示資料庫elvis_store中的所有表

使用SHOW TABLES;命令

從上圖可以看出elvis_store資料庫中有瞭一個名為email_lsit的表。

(6)顯示表email_list結構

使用DESCRIBE TABLE_NAME命令,如下圖:

(7)刪除、新建主鍵

假如我現在有遮掩一個需求,需要刪除email_list表中的聯合主鍵(first_name,last_name),需要添加一個id字段並且將其設置為主鍵,可以按照下面的SQL腳本操作:

ALTER TABLE email_list DROP PRIMARY KEY;
ALTER TABLE email_list ADD id INT NOT NULL AUTO_INCREMENT FIRST, ADD PRIM
ARY KEY(id);

整個操作過程如下圖所示:

在修改email_list表結構的過程中,可以使用DESCRIBE命令隨時查看email_list表的結構,看是不是按照自己的意圖修改瞭,以便進行下一步操作。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *