MySQL
easily use MySQL
Vasiliy
MySQL Introduction
- 建立多個關係資料表來存入資訊
- 可以通過多表關係來查詢資料
- 它是免費的
SQL簡易架構
one 資料庫 hasMany 資料表
one 資料表 hasMany 欄位、資料
一個櫃子有很多抽屜
一個抽屜可以放很多文件
但通常我們會把種類相同的文件放在同一個抽屜裡
建立我們手上的第一份資料庫
--建立資料庫 並選擇語系
create database 資料庫名稱
character set 語系
--刪除資料庫
drop database 資料庫名稱
--建立資料庫first_database
--並選擇語系 utf8代表的是萬國碼(
--不管是中文 俄文 德文 法文
--都會使用他的編碼方式進行儲存)
create database first_datebase
character set utf8
--刪除資料庫first_database
drop database first_database
MySQL資料表
--新建資料表
CREATE TABLE 資料表名稱(
欄位名稱 變數型態 欄位1額外條件,
......
--其他設定條件
PRIMARY KEY (欄位)
)
--刪除資料表
DROP TABLE 資料表名稱
--清空資料
TRUNCATE 資料表名稱
--新增資料表欄位
ALTER TABLE 資料表名稱 ADD 欄位名稱 變數型態
--改變資料表欄位名稱與變數型態
ALTER TABLE 資料表名稱 CHANGE 原本欄位名稱 後來的欄位名稱 變數型態
--改變資料表欄位 變數型態
ALTER TABLE 資料表名稱 MODIFY 欄位名稱 變數型態--新建資料表teachers
--id 為int型態並且為遞增
--name 為text型態
--test_id 為主鍵
CREATE TABLE teachers(
id int AUTO_INCREMENT,
name text,
description text,
PRIMARY KEY (id)
)
--刪除資料表teacher
DROP TABLE teachers
--清空資料表teacher的所有資料
TRUNCATE teachers練習
1.新增一個名為example的資料庫
2.新增一個名為governments的資料表
3.欄位資訊為:
id int型態 AUTO_INCREMENT(遞增)
name text型態
description text型態
新增(INSERT)
INSERT INTO 資料表(欄位1,欄位2)
VALUES ('數值1','數值2'),
('數值1','數值2')--在資料表teachears新增兩筆資料
--無線豬 很靠北
--吾現朱 一頭豬
INSERT INTO teachers(name,description)
VALUES ('無線豬','很靠北'),
('吾現朱','一頭豬')練習
1.在資料表governments新增五筆資料
對應欄位: name description
新增名稱: 馬英文 死亡之握
蔡英九 小英頭
王金柱 反課綱黑箱
洪秀平 與小英幹上
測試成功 成功
刪除(DELETE)
--刪除資料表--
DELETE FROM 資料表
WHERE 條件式
--刪除teachers 資料表 id= 1的值
DELETE FROM teachers WHERE id = 1練習
1.在資料表governments刪除name為測試成功這筆資料
更新(UPDATE)
UPDATE 資料表
SET 欄位='數值'
WHERE 條件式
--更新teachers資料表
--id= 1的 name,desctiption
UPDATE teachers
SET name='wuhc',description='說的話不能信'
WHERE id = 2練習
1.在資料表governments更新五筆資料
馬英文 -> 馬英九
蔡英九 -> 蔡英文
王金柱 -> 王金平
洪秀平 -> 洪秀柱
查詢(search)
SELECT 欄位,欄位2 或是 *
FROM 資料表
WHERE 條件式--在teachers資料表 找id=1或id=2的資料 並只顯示name,description
SELECT name,description
FROM teachers
WHERE id = 1 OR id =2
--搜尋teachers表所有資訊
SELECT * FROM teachers WHERE 1練習
1.在資料表governments找尋id為2-4之間的資料
排序(order by)
--生冪 ASC
--降冪 DESC
ORDER BY `欄位1` 生冪或降冪 ,
`欄位2` 生冪或降冪 ,
......--在teachers資料表把id利用降冪的印出來
SELECT * FROM teachers WHERE 1 ORDER BY id DESC
限制(limit)
LIMIT 想取出多少筆資料
OFFSET 從第幾筆開始(0為第一筆資料)
或
LIMIT 從第幾筆開始(0為第一筆資料),想取出多少筆資料 --列出兩筆資料
SELECT * FROM teachers WHERE 1 LIMIT 2
--列處兩筆資料 從第2筆資料開始算起
SELECT * FROM teachers WHERE 1 LIMIT 2 OFFSET 1練習
1.在資料表governments把排序規則設定為
id 降冪,並列出第2-4資料
加入(JOIN)
意思就是把多個資料表加在一起查詢
Select 資料表1.資料欄位, 資料表2.資料欄位,......
FROM 資料表1
INNER JOIN 資料表2 ON 條件式SELECT `test1`.`test_name`, `test2`.`test2_type`
FROM `test1`
INNER JOIN `test2` ON `test1`.`test_id` = `test2`.`test_id`View
View的做法跟table一樣
他們關聯再一起利用
虛擬的View建立出來
使用view會節約檔案空間
但是用view顯示可能會有掉資料的問題
abvcdj544348sd21dasdcmkfqswe121213as4d5aASDdx
By jiewei
abvcdj544348sd21dasdcmkfqswe121213as4d5aASDdx
- 391