SQL Structured Query Language
SQL หรือ Structured Query Language ภาษาที่ใช้ในการติดต่อกับฐานข้อมูลหรือพูดอีกอย่างก็คือ เป็นภาษาที่ใช้ในการสั่งให้ฐานข้อมูลกระทำการใด ๆ ตามคำสั่งที่เราสั่ง ซึ่งในการติดต่อฐานข้อมูลนั้น ไม่ว่าจะเป็น SQL Server , Microsoft Access , MySQL ,DB2 หรือแม้แต่ Oracle ก็จะต้องใช้คำสั่งภาษา SQL ในการควบคุมทั้งสิ้น
SQL สามารถแบ่งคำสั่งออกเป็น 4 กลุ่ม คือ Data Manipulate(DML) เป็นคำสั่งจัดการข้อมูล ได้แก่ INSERT, UPDATE, DELETE, ROLLBACK, COMMIT Data Definition (DDL) เป็นคำสั่งจัดการกับไฟล์ในฐานข้อมูล ได้แก่ CREATE, ALTER, DROP Query เป็นคำสั่งการเรัยกดูข้อมูล คือ SELECT Data Control เป็นคำสั่งจัดการความปลอดภัย
Relational Database Table ประกอบด้วย คอลัมน์ (Column) และแถวข้อมูล (Row) โดยคอลัมน์ประกอบด้วย ชื่อคอลัมน์ ประเภทข้อมูล และคุณสมบัติอื่นๆ (เช่น การกำหนดเป็น primary key, ค่าเริ่มต้น) แถวเก็บข้อมูลของคอลัมน์ Column Row
การสร้าง Database ตัวอย่าง CREATE DATABASE tot; ไวยากรณ์ CREATE DATABASE databasename;
การสร้าง Table ตัวอย่าง CREATE TABLE employee ไวยากรณ์ (first varchar(15), last varchar(20), age number(3), address varchar(30), city varchar(20), state varchar(20)); ไวยากรณ์ CREATE TABLE tablename (column1 datatype [constraint], column2 datatype [constraint], column3 datatype [constraint],…);
การป้อนข้อมูล ไวยากรณ์ INSERT INTO tablename (column1,column2,...) VALUES(value1,value2,...); ตัวอย่าง INSERT INTO employee (first, last, age, address, city, state) VALUES ('Luke', 'Duke', 45, '2130 Boars Nest', 'Hazard Co', 'Georgia');
การปรับปรุงข้อมูล ไวยากรณ์ UPDATE tablename SET columnname1 = newvalue1 [,“columnname2" = "newvalue2"...] WHERE column1 OPERATOR value [AND| OR column2 OPERATOR value ]; ตัวอย่าง UPDATE phone_book SET area_code = 623 WHERE prefix = 979;
การลบข้อมูล ไวยากรณ์ DELETE FROM tablename WHERE column OPERATOR value [AND|OR column OPERATOR value ]; ตัวอย่าง DELETE FROM employee WHERE firstname = 'Mike' or firstname = 'Eric';
การลบ Table DROP statement ที่ใช้ในการลบ Table หรือยกเลิก ไวยากรณ์ DROP TABLE tablename ; ตัวอย่าง DROP TABLE employee;
SQL Query SELECT Statement GROUP BY HAVING ORDER BY การรวมเงื่อนไขกับ Boolean Operator IN และ BETWEEN
SELECT Statement ประโยคคำสั่ง SELECT ได้รับการนำไปใช้ในการค้นหาข้อมูลในฐานข้อมูล และดึงข้อมูลที่เลือกตรงตามเกณฑ์ที่กำหนด ไวยากรณ์ SELECT column FROM table1[,table2] [WHERE conditions ] [GROUP BY column-list ] [HAVING conditions ] [ORDER BY column-list [ASC | DESC] ]; ตัวอย่าง SELECT name, age, salary FROM employee WHERE age > 50; SELECT name, age, salary FROM employee WHERE name LIKE “j%”;
SELECT Statement (cont.) เครื่องหมายเปรียบเทียบ (comparison operator) เครื่องหมายเปรียบเทียบอื่นๆ
ORDER BY ORDER BY clause เป็น clause ตัวเลือกซึ่งยินยอมให้แสดงผลลัพธ์ของคิวรี่ที่เรียงลำดับ (ทั้งเรียงลำดับจากน้อยไปมาก หรือ จากมากไปน้อย) ตามคอลัมน์ที่ระบุให้เรียงลำดับ ASC = Ascending order (เรียงลำดับจากน้อยไปมาก) - เป็นค่าเริ่มต้น DESC = Descending order (เรียงลำดับจากมากไปน้อย) ไวยากรณ์ SELECT column1, SUM(column2 ) FROM list-of-tables ORDER BY olumn-list [ASC | DESC]; ตัวอย่าง SELECT employee_id,name, age, salary,dept FROM employee WHERE dept = ‘Sales’ ORDER BY salary DESC;
การรวมเงื่อนไข และ Boolean Operator AND operator SELECT employee_id, name, salary FROM employee WHERE salary >= 20000.00 AND dept= 'Programmer'; OR operator SELECT employee_id, name, salary FROM employee WHERE (dept = 'Sales') OR (dept = 'Programmer');
IN และ BETWEEN IN SELECT employee_id, name, salary FROM employee WHERE name IN ("jenifer lopez","will human"); BETWEEN SELECT employee_id, age, name, salary FROM employee WHERE age BETWEEN 30 AND 40;
Aggregate Function ตัวอย่าง SELECT AVG(salary) FROM employee; ประโยคคำสั่งจะส่งออกผลลัพธ์ที่เก็บค่าเฉลี่ยของทุกข้อมูลที่ส่งออกมาในคอลัมน์ salary จาก table “employee” SELECT MAX(salary) FROM employee; WHERE dept = 'Programmer'; ประโยคคำสั่งจะส่งออกผลลัพธ์ที่เงินเดือนสูงสุด (salary) ของพนักงานที่มีตำแหน่ง (title) เป็น ‘Programmer’