1. 程式人生 > >MySQL資料庫學習初步

MySQL資料庫學習初步

   我使用的環境是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.
[email protected] 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之後,登入瀏覽器鍵入http://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表的結構,看是不是按照自己的意圖修改了,以便進行下一步操作。





相關推薦

MySQL資料庫學習初步

   我使用的環境是Win7,開始學習PHP和MySQL,並且買了本《Head First PHP & MySQL》,可以從Head First Labs官網獲得HeadFirst系列書籍的相關資訊和原始碼。 1、下載XAMPP開發包 從XAMPP中文官網下載目前比

Mysql資料庫學習(4)階段性完結

-- 倒序輸出全部使用者的許可權資訊 SELECT * from users order by powers  desc -- 統計女生人數,靈活使用count,看題目要求,你要計算的是什麼? SELECT  COUNT(sid) FROM `student` WHERE sse

Mysql資料庫學習(3)DQL

恩 ,在資料庫中一直都是認為查詢是最難的。因為種類多,花樣也太多了,要查哭。但還是學到了很多東西啊,在以後的開發中一定可以用上的,回想起我們實踐周老師給講的。 一個模組 增刪改查 至少8個功能     1.查詢全部     2.按條件查

Mysql資料庫學習(2)DDL

今天學習了資料庫中DDL和DQL語句的使用,總的來說還是學到很多以前沒學到的東西。以前太依賴網上的那種視覺化的建表工具,不用寫語句,但是這幾天寫了很多的sql語句,對於一些操作真的長進很多。其實在視覺化的建表過程那是不規範的,每次多了欄位都要去修改,但是Mysql實際上是擁有修改相關欄位的語句的。針

Mysql資料庫學習(1)

1、前瞻 今天跌跌撞撞終於把Mysql安裝好了,真尼瑪不容易,各種錯誤;其實只要.msi檔案就足夠了,自己沒有吸取教訓,在下載一個視覺化的Heidisql就OK啦;嗯,最近這段時間在學Mysql,在這裡總結一下自己在學習過程中遇到的問題以及感受。現在又裝了一個Navicat對資料庫的視覺化,啟動

MySQL資料庫學習(一)SQL語言基本語法

一、什麼是資料庫 資料庫(Database)是按照資料結構來組織、儲存和管理資料的倉庫。 每個資料庫都有一個或多個不同的API用於建立,訪問,管理,搜尋和複製所儲存的資料。 通常使用關係型資料庫管理系統(RDBMS)來儲存和管理的大資料量。 所謂的關係型資料庫,是建立在關係模

mysql資料庫學習筆記

1。資料庫基本操作 1.連線資料庫 mysql -u root -p 2.建立資料庫 create database (if not exists) 資料名; 不可與其他資料庫重名 由字母 數字 _ $ 組成 可由上述任意字元開頭 但不可使用單獨的數字 3.指定字符集 4

mysql資料庫學習11-儲存過程、函式、觸發器

儲存的程式 ========================================   * 資料庫中儲存的程式,對資料進行運算處理      * 儲存過程   * 函式   * 觸發器    會話變數

mysql資料庫學習筆記10-事務、檢視、索引

事務 ============================================     *) 事務是資料操作的最小單元     *) 多個數據增刪改操作,完成的一項業務處理     *) 如果事務事務成功,其中每一項

mysql資料庫學習09-函式

1、字串處理函式: char_length('a中'); -- 返回字元長度 length('a中');          -- 返回位元組長度 concat('abc',' ','def');  --返回括號內字元連結後的字元

mysql資料庫學習08-select語句的使用

1、where子句: = 等於 <>不等 >=大於等於 <=小於等於 between 小值 and 大值   閉區間範圍 in(1,2,3)  在列舉範圍內的 is not null  非空null is

mysql資料庫學習06-SQL語句分類

SQL分類: DDL:定義語言 建庫、建表和修改表等操作 DML:資料操作語言 資料的增刪改的操作. insert into 插入資料操作: 例子1:mysql特有的一次插入多行語法(非標準語法) insert into tb1 (name, gander) &nbs

mysql資料庫學習05-表約束

約束包括五種: *)所有的約束都存在information_schema資料庫的table_constraints表中 主鍵約束: 對一行的資料的唯一標識。 *)不能重複; *)不能為空null *)儘量使用業務無關資料作為主鍵(如:連續自增整數auto_increment、

mysql資料庫學習04-資料型別

1、字串 char: 定長字串,可以在後面的小括號中指定固定長度;例如:char(4),表示固定字元長度為4. 如果存"abc",會被儲存為“abc ”,不足4位會在右邊用空格填充。最多支援255個位元組。 varchar: 變長字串,可以在後面的小括號中指定最長字串長度;例如:va

mysql資料庫學習03-資料插入、修改和查詢

1、表中插入資料: insert into user (name, age) values ('張三', 12 ); 上例說明:之前建立了user表,裡面包含name和age兩列,資料型別分別為varchar和int; 這裡插入資料,要求(name,age)和 ('張三', 12 )值和型別

MySQL資料庫學習筆記----JDBC入門及簡單增刪改資料庫的操作

 一、JDBC的引入                                    &nbs

MySQL資料庫學習

MySQL安裝: ①安裝之前的檢查 sudo service mysql start ②ubuntu Linux安裝配置MySQL #安裝MySQL服務端核心程式 sudo apt-get install mysql-server #安裝MySQL客戶端 sudo a

MySQL資料庫學習筆記(十一)----DAO設計模式實現資料庫的增刪改查(進一步封裝JDBC工具類)

系列文章並非本人原創。 在這裡我想討論的一個問題是:在PersonDaoImpl這個實現類中,我們可以看到 public void add(Person p) throws SQLException { 26 Connection conn

MySQL資料庫學習中的一些問題

Windows10下安裝MySQL 5.7.12 1.下載檔案並解壓     在官網上下載,然後解壓到想要安裝的目錄下。 (官網)Downloads -> Community -> MySQL Community Server -> Download 2.

MYSQL資料庫學習(一)—初學常用語句命令

MySQL是一種開放原始碼的關係型資料庫管理系統(RDBMS),MySQL資料庫系統使用最常用的資料庫管理語言--結構化查詢語言(SQL)進行資料庫管理。現歸屬於Oracle(甲骨文)公司所有。 My