What is SQL?
SQL (Structure Query Language) ภาษาสำหรับจัดการข้อมูลที่มีโครงสร้าง โดยภาษานี้จะใช้จัดการข้อมูลให้อยู่ในรูปแบบตารางมี Columns สำหรับบอกประเภทของข้อมูล และมี Rows ในการแสดงข้อมูล ซึ่ง Structured Data คือข้อมูลที่ถูกเก็บอย่างมีระบบสามารถเรียกดูเรียกใช้งานได้สะดวกนั่นเอง (มักจะเป็นตักอักษร ตัวเลข ข้อความที่ไม่ยาว ประโยคต่าง ๆ ที่ถูกเก็บในลักษณะ Rows และ Columns) และแหล่งที่มาของข้อมูลจำพวกนี้มักหาได้จาก
- Website (Web scraping, ข้อมูลการใช้งาน Web app จากผู้ใช้)
- Mobile (ข้อมูลการใช้งาน app หรือผ่านทาง APIs ต่าง ๆ)
- Enterprise (จัดการข้อมูลภายในองค์กร หรือข้อมูลจากหน่วยงานต่าง ๆ)
- Data Mart (แหล่งข้อมูลที่ถูกจัดมาให้เหมาะแก่การหยิบไปใช้งานทันที)
Starting MySQL
โปรแกรมที่จะใช้ในการเขียนนั้นสามารถเลือกอะไรก็ได้ แต่ในบทความนี้ขอแนะนำ MySQL (ใช้งานไม่ยาก มีความน่าเชื่อถือ มี tutorial ให้ศึกษามากมาย) ขั้นแรกให้ติดตั้งโปรแกรมก่อนโดยโหลดได้ที่นี่ MySQL Download for windows, MySQL Download for other OS สามารถดาวน์โหลดได้โดยไม่ต้องสมัครสมาชิก และไม่มีค่าใช้จ่ายใด ๆ เมื่อดาวน์โหลดเสร็จแล้วให้เปิด MySQL Installer ขึ้นมาแล้วจะเจอกับขั้นตอนต่าง ๆ ดังนี้
- Choosing a Setup type ให้เลือก Developer Default ซึ่งจะเป็นการติดตั้งทุกแพคเกจที่จำเป็นในการทำงาน
- Check Requirements คลิกที่ Execute ได้เลย จากนั้นจะเด้งหน้าต่างให้ยินยอม license & term ก็ทำการยินยอมให้เรียบร้อย
- เมื่อขึ้นหน้า Setup ให้ยินยอมอีกรอบแล้วทำการคลิก Install
- รอจนกระทั่งติดตั้ง package เสร็จสิ้นแล้วกด finish
- หากมี package ไหนที่ไม่ต้องสามารถ deselect ได้ จากนั้นกด Next ได้เลย
- Installation หน้านี้ให้กด Execute และรอจนกว่าจะขึ้นเครื่องถูกสีเขียวครบทุกแพคเกจ
- กด Next ต่อไปเรื่อย ๆ หรือถ้าต้องการปรับตรงไหนก็ลองอ่านแล้วเลือกดูได้
- Account and Roles ให้ตั้ง password สำหรับเข้าใช้งาน MySQL และไปกดที่ Add user ให้ทำการตั้ง username และ role ที่ต้องการให้เรียบร้อยแล้วกรอก password ที่ตั้งไว้ก่อนหน้านี้ลงไป
- Windows Service กด Next
- Apply configuration กด execute และรอจนเสร็จก็กด Finish
- Product Configuration กด Next จากนั้นถ้าไม่ปรับใด ๆ ก็กด Finish ได้เลย
- กด Next และ Finish เป็นอันเรียบร้อย
หลังจากติดตั้งเรียบร้อยให้เปิด MySQL 8.x Command line Client (8.x คือเลขเวอร์ชั่น) แล้วใส่ password ที่ได้ตั้งเอาไว้เพื่อเข้าระบบให้เรียบร้อย
Command and Syntax
ใน SQL แบ่งประเภทคำสั่งออกเป็น 4 ประเภทหลัก ๆ ได้แก่
- DDL (Data Definition Language) สร้าง ลบ แก้ไข Database และ Table
Example:
create database blogpost;
show databases;
use blogpost;
create table post_1(title VARCHAR(50), meta CHAR(50), pubilsh DATE); *จงใจพิมพ์ผิดจะได้ลองใช้ alter แก้ไข
Alter table post_1 Rename Column pubilsh to publish;
นอกจากนี้ยังมี Drop Truncate Comment ในหมวดหมู่ DDL อีกด้วย - DML (Data Manipulation Language) เพิ่ม ลบ แก้ไข เลือกดูข้อมูลจากตารางต่าง ๆ
insert into post_1 values(‘Writing SQL’, ‘Install Command and Syntax’, ‘2020-08-15’); *กรอกให้ตรงตามคอลัมน์ที่เราสร้าง
select*from post_1;
update post_1 set title=’Easy SQL’ where title=’Writing SQL’;
ที่เหลือจะมี Delete ที่ได้ใช้บ่อย ๆ และอื่น ๆ อย่าง Merge, Call, Explain Plan, Lock table เป็นต้น - Data Control Language (DCL)
GRANT ให้สิทธิ์ในการเข้าถึง database แก่ user
REVOKE – นำสิทธิ์ที่ให้แก่ user ออก - Transaction Control Language (TCL)
COMMIT – เซฟงานที่เสร็จแล้ว
ROLLBACK – restore database ไปยังจดเซฟ หรือ commit ล่าสุด
SAVEPOINT – สร้างจุดเซฟสำหรับไว้ rollback ข้อมูล
SET TRANSACTION
Conclusion
SQL เป็นภาษาจัดการกับข้อมูลให้อยู่ในลักษณะของ Structured Data สามารถเรียกดูและนำไปใช้งานวิเคราะห์ข้อมูลได้ง่ายขึ้น Command หลัก ๆ มี 4 ประเภท DDL, DML, DCL, TCL และ Syntax หลัก ๆ คือต้องมี ; (semicolon) ต่อท้ายในทุก line นอกจากนี้การเขียนโค้ดจะพิมพ์เล็กหรือพิมพ์ใหญ่ก็ได้สำหรับภาษานี้ อ่านบทความอื่นได้ที่ SBC-Blog เเละ Facebook page Subbrain