ตัวอย่าง คำสั่ง
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
3.การสืบค้นข้อมูล หรือการดูข้อมูล
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 ตารางที่มีข้อมูลเข้าด้วยกัน)