1.สร้าง DATABASE
mysql > create database <ชื่อdatabase>;
เช่น
create database world;
2.สร้าง table
mysql > create table <ชื่อtable> (<ชื่อข้อมูล> <ชนิดข้อมูล>, ... );
เช่น create table
human (name VARCHAR(20), birth DATE, sex CHAR(1));
ชนิดข้อมูล เช่น
VARCHAR(n) - ข้อมูลชนิด string
เก็บแบบ linked list เหมาะสมกับข้อมูลที่มีความยาวที่ไม่แน่นอน
CHAR(n) - ข้อมูลชนิด string
เก็บแบบ array เหมาะสมกับข้อมูลที่มีความยาวที่แน่นอน
INT - จำนวนเต็ม
DATE - ข้อมูลชนิดพิเศษของ SQL
ใช้เก็บวันที่ มีรูปแบบเป็น YYYY-MM-DD
SELECT <สิ่งที่ต้องการ>
FROM
<ชื่อtable>
WHERE <เงื่อนไขอื่นๆ>
เช่นต้องการชื่อของข้อมูลในตาราง human ที่มีมีเพศชาย
SELECT name
FROM
human
WHERE sex = ‘M’;
ต้องการดูข้อมูลทั้งหมดในตาราง human [* คือทั้งหมด]
SELECT *
FROM
human;
ซึ่งการกำหนดเงื่อนไขนั้นเราสามารถใช้ตัวแปรทางคณิตศาสตร์ตรรกะ
มาช่วยได้เช่น
AND และ
OR หรือ
< น้อยกว่า
> มากกว่า
<= น้อยกว่าหรือเท่ากับ
>= มากกว่าหรือเท่ากับ
<> ไม่เท่ากับ
UNION การนำ 2 ตารางมาเชื่อมต่อกันตัดตัวซ้ำ
UNION ALL การนำ 2 ตารางมาเชื่อมกันโดยไม่ตัดตัวซ้ำ
INTERSECT ข้อมูลที่ซ้ำกัน
4.ORDER BY เรียงลำดับข้อมูล การจัดกลุ่มข้อมูล
เรียงลำดับจากมากไปน้อย (descending order)
เช่น SELECT
*
FROM
human
ORDER BY name;
เรียงลำดับจากน้อยไปมาก (descending order)
เช่น SELECT
*
FROM
human
ORDER BY name DESC;
ถ้าต้องการมากกว่าอันนึงก็ย่อมได้
เช่น SELECT
*
FROM
human
ORDER BY name , sex DESC ;
แบบนี้จะจัดตามชื่อแบบ ascending ก่อนแล้วจะมาจัดเพศแบบ descending ทีหลัง
5.การใช้ตัวแปร
NULL ในเงื่อนไข
ใช้คำสั่ง xxx IS NOT NULL
เช่นต้องการดูสิ่งมีชีวิตที่ไม่มีเพศ
SELECT *
FROM
human
WHERE sex IS NOT NULL;
6.การตั้งชื่อเป็นชื่อที่เราต้องการ
หมายถึงเวลา select
บางทีคนทั่วไปอาจจะไม่เข้าใจว่าคืออะไร เราจึงมีคำสั่ง AS ช่วย เช่น
SELECT name AS ‘NAME-SURNAME’
FROM
human;
7.COUNT การนับจำนวน
+ GROUP BY การจัดกลุ่ม
COUNT ใช้ในการนับจำนวนของตารางต่างๆ
จะใช้คู่กับ GROUP BY ได้ดีเพราะจะช่วยในการจัดกลุ่มชุดข้อมูลได้ดีขึ้น
SELECT <อื่นๆ>
COUNT(*)
FROM <ชื่อtable>
WHERE <เงื่อนไข>
GROUP BY <จัดกลุ่มโดยใช้อะไร>
เช่นต้องการนับจำนวนคนในแต่ละเพศ
SELECT sex , COUNT(*)
FROM
human
GROUP BY sex;
SET การกำหนดตัวแปร
SET @<ชื่อตัวแปร> =
<ค่า>
เช่น SET @A1 = ‘Natsu Sencho’;
SET @A2 = ‘1999-09-09’;
8.คำสั่งแบบหลายเงื่อนไข
Select <filed_1 , filed_2 , … , filed_n /
* >
From
<Table_name>
Where < condition-1 >
<And / Or > <condition-2> ;
And ให้ผลเหมือนการ Intersection
Or ให้ผลเหมือนการ Union
เช่น Select * from
work
Where proj_num = 15 ; (เลือกข้อมูลการทำงานโครงการ 15)
Select * from work
Where hours > 3 ;
(เลือกข้อมูลการทำงานที่มากกว่า 3
ชั่วโมง)
Select * from employee
where job =
"Programmer" ; (เลือกพนักงานที่เป็น
Programmer)
9.คำสั่งแบบหลายเงื่อนไข
Select <filed_1 , filed_2 , … , filed_n /
* >
From
<Table_name>
Where < condition-1 >
<And / Or > <condition-2> ;
And ให้ผลเหมือนการ Intersection
Or ให้ผลเหมือนการ Union
เช่น select
* from work
where proj_num = 15
and hours > 3 ;
(เลือกพนักงานที่ทำงานโครงการ
15 และทำงานมากกว่า 3 ชั่วโมง :
ต้องอยู่โครงการ 15)
select * from work
where proj_num = 15
or hours > 3 ;
(เลือกพนักงานที่ทำงานโครงการ
15 หรือทำงานมากกว่า 3 ชั่วโมง :
อาจทำงานอยู่โครงการอื่น)
10.คำสั่งที่มีการใช้งานหลายตาราง
(join)
Select <filed_1 , filed_2 , … , filed_n /
* >
From
<table_1 , table_2 , …, table_n>
Where < condition-1 > ;
1. ต้องมีการเชื่อม PK
และ FK ของทั้งสองตารางเข้าด้วยกัน (Join)
2.หากมี field ใดที่ชื่อซ้ำกันทั้งสองตาราง
เมื่ออ้างถึง ต้อง ระบุชื่อตาราง
ตามด้วยชื่อฟิลด์ เช่น
work.emp_num หรือ employee.emp_num
เช่น Select employee.emp_num , emp_name , hours
From employee , work
Where employee.emp_num = work.emp_num ;
( แสดงข้อมูลรหัสพนักงาน
ชื่อพนักงาน และชั่วโมงทำงาน
เนื่องจาก
ชื่อพนักงาน อยู่คนละตารางกับ ข้อมูลชั่วโมงทำงาน
จึงต้องมีการ join
ตารางที่มีข้อมูลเข้าด้วยกัน)
ไม่มีความคิดเห็น:
แสดงความคิดเห็น