三、MySQL腳本的基本組成四、MySQL中的數據類型五、使用MySQL數據庫六、操作MySQL數據庫七、創建後的修改八、附錄MySQL的相關概念介紹
MySQL 為關系型數據庫( ), 這種所謂的"關系型"可以理解為"表格"的概念, 一個關系型數據庫由一個或數個表格組成, 如圖所示的一個表格:
下MySQL的配置
以 MySQL 5.1 免安裝版為例, 下載 mysql--5.1.69-win32.zip ( 官方下載頁: # )
配置步驟:
1. 将下載的 mysql--5.1.69-win32.zip 解壓至需要安裝的位置, 如: C:\ Files;
2. 在安裝文件夾下找到 my-small.ini 配置文件, 将其重命名為 my.ini , 打開進行編輯, 在 [] 與 [] 下均添加一行: --set = gbk
3. 打開 環境變量設置, 新建變量名 , 變量值為 MySQL 安裝目錄路徑, 這裡為 C:\ Files\mysql-5.1.69-win32
4. 在 環境變量 的 Path 變量中添加 ;%%\bin;
5. 安裝 MySQL 服務, 打開命令提示符, 執行命令: -- MySQL ---file="my.ini" 提示" ."表示成功;
MySQL服務的啟動、停止與卸載
在 命令提示符下運行:
啟動: net start MySQL
停止: net stop MySQL
卸載: sc MySQL
MySQL腳本的基本組成
與常規的腳本語言類似, MySQL 也具有一套對字符、單詞以及特殊符号的使用規定, MySQL 通過執行 SQL 腳本來完成對數據庫的操作, 該腳本由一條或多條MySQL語句(SQL語句 + 擴展語句)組成, 保存時腳本文件後綴名一般為 .sql。在控制台下, MySQL 客戶端也可以對語句進行單句的執行而不用保存為.sql文件。
标識符
标識符用來命名一些對象, 如數據庫、表、列、變量等, 以便在腳本中的其他地方引用。MySQL标識符命名規則稍微有點繁瑣, 這裡我們使用萬能命名規則: 标識符由字母、數字或下劃線(_)組成, 且第一個字符必須是字母或下劃線。
對于标識符是否區分大小寫取決于當前的操作系統, 下是不敏感的, 但對于大多數 linux\unix 系統來說, 這些标識符大小寫是敏感的。
關鍵字:
MySQL的關鍵字衆多, 這裡不一一列出, 在學習中學習。 這些關鍵字有自己特定的含義, 盡量避免作為标識符。
語句:
MySQL語句是組成MySQL腳本的基本單位, 每條語句能完成特定的操作, 他是由 SQL 标準語句 + MySQL 擴展語句組成。
函數:
MySQL函數用來實現數據庫操作的一些高級功能, 這些函數大緻分為以下幾類: 字符串函數、數學函數、日期時間函數、搜索函數、加密函數、信息函數。
MySQL中的數據類型
MySQL有三大類數據類型, 分别為數字、日期\時間、字符串, 這三大類中又更細緻的劃分了許多子類型:
日期和時間: date、time、、、year字符串類型
這裡不能詳細對這些類型進行介紹了, 篇幅可能會很長, 詳細介紹參見: 《MySQL數據類型》 :
使用MySQL數據庫登錄到MySQL
當 MySQL 服務已經運行時, 我們可以通過MySQL自帶的客戶端工具登錄到MySQL數據庫中, 首先打開命令提示符, 輸入以下格式的命名:
mysql -h 主機名 -u 用戶名 -p
以登錄剛剛安裝在本機的MySQL數據庫為例, 在命令行下輸入 mysql -u root -p 按回車确認, 如果安裝正确且MySQL正在運行, 會得到以下響應:
Enter :
若密碼存在, 輸入密碼登錄, 不存在則直接按回車登錄, 按照本文中的安裝方法, 默認 root 賬号是無密碼的。登錄成功後你将會看到 to the MySQL ... 的提示語。
然後命令提示符會一直以 mysql> 加一個閃爍的光标等待命令的輸入, 輸入 exit 或 quit 退出登錄。
創建一個數據庫
使用 語句可完成對數據庫的創建, 創建命令的格式如下:
數據庫名 [其他選項];
例如我們需要創建一個名為 的數據庫, 在命令行下執行以下命令:
set gbk;
為了便于在命令提示符下顯示中文, 在創建時通過 set gbk 将數據庫字符編碼指定為 gbk。創建成功時會得到 Query OK, 1 row (0.02 sec) 的響應。
注意: MySQL語句以分号(;)作為語句的結束, 若在語句結尾不添加分号時, 命令提示符會以 -> 提示你繼續輸入(有個别特例, 但加分号是一定不會錯的);
提示: 可以使用 show ; 命令查看已經創建了哪些數據庫。
選擇所要操作的數據庫
要對一個數據庫進行操作, 必須先選擇該數據庫, 否則會提示錯誤:
ERROR 1046(3D000): No
兩種方式對數據庫進行使用的選擇:
一: 在登錄數據庫時指定, 命令: mysql -D 所選擇的數據庫名 -h 主機名 -u 用戶名 -p
例如登錄時選擇剛剛創建的數據庫: mysql -D -u root -p
二: 在登錄後使用 use 語句指定, 命令: use 數據庫名;
use 語句可以不加分号, 執行 use 來選擇剛剛創建的數據庫, 選擇成功後會提示:
創建數據庫表
使用 table 語句可完成對表的創建, table 的常見形式:
table 表名稱(列聲明);
以創建 表為例, 表中将存放 學号(id)、姓名(name)、性别(sex)、年齡(age)、聯系電話(tel) 這些内容:
create table students ( id int unsigned not null auto_increment primary key, name char(8) not null, sex char(4) not null, age tinyint unsigned not null, tel char(13) null default "-" );
對于一些較長的語句在命令提示符下可能容易輸錯, 因此我們可以通過任何文本編輯器将語句輸入好後保存為 .sql 的文件中, 通過命令提示符下的文件重定向執行執行該腳本。
打開命令提示符, 輸入: mysql -D -u root -p < .sql
(提示: 1.如果連接遠程主機請加上 -h 指令; 2. .sql 文件若不在當前工作目錄下需指定文件的完整路徑。)
語句解說:
table () 為創建數據庫表的命令, 列的名稱以及該列的數據類型将在括号内完成;
括号内聲明了5列内容, id、name、sex、age、tel為每列的名稱, 後面跟的是數據類型描述, 列與列的描述之間用逗号(,)隔開;
以 "id int not null key" 行進行介紹:
下面的 char(8) 表示存儲的字符長度為8, 的取值範圍為 -127到128, 屬性指定當該列值為空時的默認值。
更多的數據類型請參閱 《MySQL數據類型》 :
提示: 1. 使用 show ; 命令可查看已創建了表的名稱; 2. 使用 表名; 命令可查看已創建的表的詳細信息。
操作MySQL數據庫向表中插入數據
語句可以用來将一行或多行數據插到數據庫表中, 使用的一般形式如下:
[into] 表名 [(列名1, 列名2, 列名3, ...)] (值1, 值2, 值3, ...);
其中 [] 内的内容是可選的, 例如, 要給 數據庫中的 表插入一條記錄, 執行語句:
into (NULL, "王剛", "男", 20, "");
按回車鍵确認後若提示 Query Ok, 1 row (0.05 sec) 表示數據插入成功。 若插入失敗請檢查是否已選擇需要操作的數據庫。
有時我們隻需要插入部分數據, 或者不按照列的順序進行插入, 可以使用這樣的形式進行插入:
into (name, sex, age) ("孫麗華", "女", 21);
查詢表中的數據
語句常用來根據一定的查詢規則到數據庫中獲取數據, 其基本的用法為:
列名稱 from 表名稱 [查詢條件];
例如要查詢 表中所有學生的名字和年齡, 輸入語句 name, age from ; 執行結果如下:
mysql> select name, age from students; +--------+-----+ | name | age | +--------+-----+ | 王剛 | 20 | | 孫麗華 | 21 | | 王永恒 | 23 | | 鄭俊傑 | 19 | | 陳芳 | 22 | | 張偉朋 | 21 | +--------+-----+ 6 rows in set (0.00 sec) mysql>
也可以使用通配符 * 查詢表中所有的内容, 語句: * from ;
按特定條件查詢:
where 關鍵詞用于指定查詢條件, 用法形式為: 列名稱 from 表名稱 where 條件;
以查詢所有性别為女的信息為例, 輸入查詢語句: * from where sex="女";
where 子句不僅僅支持 "where 列名 = 值" 這種名等于值的查詢形式, 對一般的比較運算的運算符都是支持的, 例如 =、>、=、 21;
查詢名字中帶有 "王" 字的所有人信息: * from where name like "%王%";
查詢id小于5且年齡大于20的所有人信息: * from where id20;
更新表中的數據
語句可用來修改表中的數據, 基本的使用形式為:
表名稱 set 列名稱=新值 where 更新條件;
使用示例:
将id為5的手機号改為默認的"-": set tel= where id=5;
将所有人的年齡增加1: set age=age+1;
将手機号為 的姓名改為 "張偉鵬", 年齡改為 19: set, age=19 where tel="";
删除表中的數據
語句用于删除表中的數據, 基本用法為:
from 表名稱 where 删除條件;
使用示例:
删除id為2的行: from where id=2;
删除所有年齡小于21歲的數據: from where age
删除表中的所有數據: from ;
創建後表的修改
alter table 語句用于創建後對表的修改, 基礎用法如下:
添加列
基本形式: alter table 表名 add 列名 列數據類型 [after 插入位置];
示例:
在表的最後追加列 : alter table add char(60);
在名為 age 的列後插入列 : alter table add date after age;
修改列
基本形式: alter table 表名 列名稱 列新名稱 新數據類型;
示例:
将表 tel 列改名為 : alter table tel char(13) "-";
将 name 列的數據類型改為 char(16): alter table name name char(16) not null;
删除列
基本形式: alter table 表名 drop 列名稱;
示例:
删除 列: alter table drop ;
重命名表
基本形式: alter table 表名 新表名;
示例:
重命名 表為 : alter table ;
删除整張表
基本形式: drop table 表名;
示例: 删除 表: drop table ;
删除整個數據庫
基本形式: drop 數據庫名;
示例: 删除 數據庫: drop ;
附錄修改 root 用戶密碼
按照本文的安裝方式, root 用戶默認是沒有密碼的, 重設 root 密碼的方式也較多, 這裡僅介紹一種較常用的方式。
使用 方式:
打開命令提示符界面, 執行命令: -u root -p 新密碼
執行後提示輸入舊密碼完成密碼修改, 當舊密碼為空時直接按回車鍵确認即可。
可視化管理工具 MySQL
盡管我們可以在命令提示符下通過一行行的輸入或者通過重定向文件來執行mysql語句, 但該方式效率較低, 由于沒有執行前的語法自動檢查, 輸入失誤造成的一些錯誤的可能性會大大增加, 這時不妨試試一些可視化的MySQL數據庫管理工具, MySQL 就是 MySQL 官方 為 MySQL 提供的一款可視化管理工具, 你可以在裡面通過可視化的方式直接管理數據庫中的内容, 并且 MySQL 的 SQL 腳本編輯器支持語法高亮以及輸入時的語法檢查, 當然, 它的功能強大, 絕不僅限于這兩點。
MySQL 官方介紹:
MySQL 下載頁:
--------------------
wid, 2013.05.09
有話要說...