ตัวอย่าง
คำสั่ง SQL
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 หรือ
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 <filed1 , … , filedn / * >
from
<table_name>
where field_i not in ( value_lits) ;
select <filed1 , … , filedn / * >
from
<table_name>
where field_i !=
value ;
ตัวอย่าง : การทำงานเชิงนิเสธ
select * from
work
where proj_num not in ( 15 , 22) ;
(แสดงข้อมูลการทำงาที่ไม่ใช่ โปรเจ็ค
15 และ 22)
select * from employee
where job != “Programmer” ;
(แสดงข้อมูลการทำงานของพนักงานที่ไม่ใช่
Programmer)
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 ตารางที่มีข้อมูลเข้าด้วยกัน)
ไม่มีความคิดเห็น:
แสดงความคิดเห็น