mysql(一) 基礎概念
MySQL 為關係型資料庫(Relational Database Management System), 這種所謂的"關係型"可以理解為"表格"的概念, 一個關係型資料庫由一個或數個表格組成, 如圖所示的一個表格:
- 表頭(header): 每一列的名稱;
- 列(row): 具有相同資料型別的資料的集合;
- 行(col): 每一行用來描述某個人/物的具體資訊;
- 值(value): 行的具體資訊, 每個值必須與該列的資料型別相同;
- 鍵(key): 表中用來識別某個特定的人\物的方法, 鍵的值在當前列中具有唯一性。
Windows下MySQL的配置
配置步驟:
1. 將下載的 mysql-noinstall-5.1.69-win32.zip 解壓至需要安裝的位置, 如: C:\Program Files;
2. 在安裝資料夾下找到 my-small.ini 配置檔案, 將其重新命名為 my.ini , 開啟進行編輯, 在 [client] 與 [mysqld] 下均新增一行: default-character-set = gbk
3. 開啟 Windows 環境變數設定, 新建變數名 MYSQL_HOME , 變數值為 MySQL 安裝目錄路徑, 這裡為 C:\Program Files\mysql-5.1.69-win32
4. 在 環境變數 的 Path 變數中新增 ;%MYSQL_HOME%\bin;
5. 安裝 MySQL 服務, 開啟Windows命令提示符, 執行命令: mysqld --install MySQL --defaults-file="my.ini"
MySQL服務的啟動、停止與解除安裝
在 Windows 命令提示符下執行:
啟動: net start MySQL
停止: net stop MySQL
解除安裝: sc delete MySQL
MySQL指令碼的基本組成
與常規的指令碼語言類似, MySQL 也具有一套對字元、單詞以及特殊符號的使用規定, MySQL 通過執行 SQL 指令碼來完成對資料庫的操作, 該指令碼由一條或多條MySQL語句(SQL語句 + 擴充套件語句)組成, 儲存時指令碼檔案字尾名一般為 .sql。在控制檯下, MySQL 客戶端也可以對語句進行單句的執行而不用儲存為.sql檔案。
識別符號
識別符號用來命名一些物件, 如資料庫、表、列、變數等, 以便在指令碼中的其他地方引用。MySQL識別符號命名規則稍微有點繁瑣, 這裡我們使用萬能命名規則: 識別符號由字母、數字或下劃線(_)組成, 且第一個字元必須是字母或下劃線。
對於識別符號是否區分大小寫取決於當前的作業系統, Windows下是不敏感的, 但對於大多數 linux\unix 系統來說, 這些識別符號大小寫是敏感的。
關鍵字:
MySQL的關鍵字眾多, 這裡不一一列出, 在學習中學習。 這些關鍵字有自己特定的含義, 儘量避免作為識別符號。
語句:
MySQL語句是組成MySQL指令碼的基本單位, 每條語句能完成特定的操作, 他是由 SQL 標準語句 + MySQL 擴充套件語句組成。
函式:
MySQL函式用來實現資料庫操作的一些高階功能, 這些函式大致分為以下幾類: 字串函式、數學函式、日期時間函式、搜尋函式、加密函式、資訊函式。
MySQL中的資料型別
MySQL有三大類資料型別, 分別為數字、日期\時間、字串, 這三大類中又更細緻的劃分了許多子型別:
- 數字型別
- 整數: tinyint、smallint、mediumint、int、bigint
- 浮點數: float、double、real、decimal
- 日期和時間: date、time、datetime、timestamp、year
- 字串型別
- 字串: char、varchar
- 文字: tinytext、text、mediumtext、longtext
- 二進位制(可用來儲存圖片、音樂等): tinyblob、blob、mediumblob、longblob
這裡不能詳細對這些型別進行介紹了, 篇幅可能會很長, 詳細介紹參見: http://blog.csdn.net/changhenshui1990/article/details/77159048
使用MySQL資料庫
登入到MySQL
當 MySQL 服務已經執行時, 我們可以通過MySQL自帶的客戶端工具登入到MySQL資料庫中, 首先開啟命令提示符, 輸入以下格式的命名:
mysql -h 主機名 -u 使用者名稱 -p
- -h : 該命令用於指定客戶端所要登入的MySQL主機名, 登入當前機器該引數可以省略;
- -u : 所要登入的使用者名稱;
- -p : 告訴伺服器將會使用一個密碼來登入, 如果所要登入的使用者名稱密碼為空, 可以忽略此選項。
以登入剛剛安裝在本機的MySQL資料庫為例, 在命令列下輸入 mysql -u root -p 按回車確認, 如果安裝正確且MySQL正在執行, 會得到以下響應:
Enter password:
若密碼存在, 輸入密碼登入, 不存在則直接按回車登入, 按照本文中的安裝方法, 預設 root 賬號是無密碼的。登入成功後你將會看到 Welecome to the MySQL monitor... 的提示語。
然後命令提示符會一直以 mysql> 加一個閃爍的游標等待命令的輸入, 輸入 exit 或 quit 退出登入。
建立一個數據庫
使用 create database 語句可完成對資料庫的建立, 建立命令的格式如下:
create database 資料庫名 [其他選項];
例如我們需要建立一個名為 samp_db 的資料庫, 在命令列下執行以下命令:
create database samp_db character set gbk;
為了便於在命令提示符下顯示中文, 在建立時通過 character set gbk 將資料庫字元編碼指定為 gbk。建立成功時會得到 Query OK, 1 row affected(0.02 sec) 的響應。
注意: MySQL語句以分號(;)作為語句的結束, 若在語句結尾不新增分號時, 命令提示符會以 -> 提示你繼續輸入(有個別特例, 但加分號是一定不會錯的);
提示: 可以使用 show databases; 命令檢視已經建立了哪些資料庫。
選擇所要操作的資料庫
要對一個數據庫進行操作, 必須先選擇該資料庫, 否則會提示錯誤:
ERROR 1046(3D000): No database selected
兩種方式對資料庫進行使用的選擇:
一: 在登入資料庫時指定, 命令: mysql -D 所選擇的資料庫名 -h 主機名 -u 使用者名稱 -p
例如登入時選擇剛剛建立的資料庫: mysql -D samp_db -u root -p
二: 在登入後使用 use 語句指定, 命令: use 資料庫名;
use 語句可以不加分號, 執行 use samp_db 來選擇剛剛建立的資料庫, 選擇成功後會提示: Database changed