Begin with SQL
for SIRLA
OUTLINE
1. SQL with Database
2. SQL Basics
SQL with Database
1. What is SQL?
2. What is Database?
3. SQL in Database
What is SQL?
- Structured Query Language(結構化查詢語言)
- Related to database
What is Database?
- 存放資料處
- 資料量大
- 關聯性、非關聯性
- Table(資料表)、Column(欄位)
SQL in Database
- 新增
- 修改
- 刪除
- 查詢
SQL Basics
Database
SHOW DATABASES;
列出所有資料庫
CREATE DATABASE <database_name>;
建立資料庫
USE <database_name>;
使用資料庫
DROP DATABASE <database_name>;
刪除資料庫
LAB
建立兩個資料庫分別名為
1. sirla_lab_db
2. db_for_drop
LAB
刪除名為db_for_drop的資料庫
mysql -u root [database_name] < [database_name.sql]
匯入資料庫
LAB
建立資料庫名為world,並匯入world.sql
SQL Basics
Datatypes
數字
- INTEGER - precision 10(default)
- SMALLINT - precision 5
- BIGINT - precision 19
- FLOAT - mantissa precision 16(default)
字串
- CHAR - 固定長度 n
- VARCHAR - 最長 n
- TEXT
日期時間
- DATE
- TIME
- DATETIME
- TIMESTAMP - 自1970/01/01以來經過的秒數
SQL Basics
in Database
SHOW TABLES;
列出資料表
SHOW CREATE TABLE <table_name>;
顯示如何建立資料表
CREATE TABLE <table_name>{
column1 datatype,
column2 datatype,
...
};
建立資料庫
LAB
在sirla_lab_db中建立user資料表,資料表欄位含
1. id (INT)
2. name (VARCHAR)
3. account (TEXT)
4. passwd (TEXT)
5. time (TIMESTAMP)
6. gender (TEXT)
SQL Basics
INSERT
INSERT INTO <table_name>(column1, column2,...) VALUES (value1, value2,...)
新增資料
LAB
新增五筆資料進user資料表中,其中一筆包含自己
SQL Basics
SELECT
SELECT column1,... FROM <table_name>;
查詢某資料表的某欄位
SELECT * FROM <table_name>;
查詢該資料表所有欄位
可搭配其他條件式:
- WHERE
- AND / OR / NOT
- LIKE
可搭配其他條件式
- ORDER BY
- 排序,可複數排序
- 由小到大=>ASC;由大到小=>DESC
- 例:ORDER BY `age`, `name` DESC
可搭配其他條件式
- GROUP BY
- 分組
- 例:SELECT `gender`, count(*) FROM `users` GROUP BY `gender`
- count(*) -> 計數;若無此則僅顯示所分的組別名稱
- 得到的結果會記男性、女性分別的數量
可搭配其他條件式
- LIMIT
- 限制資料數
- 例:LIMIT 10,只顯示前十筆資料
LAB
使用world資料庫查詢country資料表
1. 找出亞洲國家
2. 找出面積小於2000.00的歐洲國家
3. 計算亞洲國家數量
4. 依面積排序亞州國家
INNER JOIN
加入其他資料表
-
例:SELECT * FROM `users` INNER JOIN `math` where `users`.`id` = `math`.`user_id`
-
如果再選取的過程中有重複的欄位,則在前面加上資料表名稱 -> 例:`users`.`name`
-
在INNER JOIN後加ON,效果相同
- => SELECT * FROM `users` INNER JOIN `math` ON `users`.`id` = `math`.`user_id`
SQL Basics
UPDATE
- UPDATE <table_name> SET column1 = value1, ... WHERE <條件>
LAB
在sirla_lab_db中user的資料表將自己的性別改為異性,並更改密碼及自己的姓名
SQL Basics
DELETE
DELETE FROM <table_name> WHERE <條件>
LAB
將自己的那筆資料刪除
LAB
刪除所有資料
全部終わり
おめでとうございます!
Begin with SQL for SIRLA
By Иo1lz
Begin with SQL for SIRLA
- 111