Sql theory

1,316 views

Published on

Published in: Education, Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,316
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
19
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Sql theory

  1. 1. ภาษา SQL (Structured Query Language)
  2. 2. วัตถุประสงค์ <ul><li>เรียนรู้คำสั่ง SQL พื้นฐานสำหรับการสร้างโครงสร้างของฐานข้อมูล </li></ul><ul><li>เรียนรู้คำสั่งสำหรับการ update ข้อมูล ( เพิ่ม , ลบ , แก้ไข ) </li></ul><ul><li>เรียนรู้คำสั่งสำหรับการเรียกดูข้อมูล </li></ul>
  3. 3. User Program DBMS Relational Calculus-What Relational Algebra-How Where is SQL?
  4. 4. ภาษา SQL (Structured Query Language) <ul><li>Structured Query Language is known as either: </li></ul><ul><ul><li>Its acronym, SQL, or </li></ul></ul><ul><ul><li>SEQUEL, the name of the original version of SQL </li></ul></ul><ul><ul><ul><li>SEQUEL was developed by IBM in the mid-1970s. </li></ul></ul></ul>
  5. 5. ความหมายของ SQL <ul><li>SQL is not a programming language, but rather a data sub-language </li></ul><ul><li>SQL มีหน้าที่หลายประการดังนี้ </li></ul><ul><ul><li>Data Definition </li></ul></ul><ul><ul><li>Data Manipulation/Updates </li></ul></ul><ul><ul><li>Data Retrieval (Queries) </li></ul></ul><ul><ul><li>And others (not covered in this chapter) </li></ul></ul><ul><ul><ul><li>Data control </li></ul></ul></ul><ul><ul><ul><li>Transaction control </li></ul></ul></ul>
  6. 6. โหมดการทำงานของ SQL <ul><li>Interactive mode </li></ul><ul><li>สามารถรันคำสั่ง SQL ได้โดยตรง </li></ul><ul><li>เช่นการคิวรีผ่านโปรแกรม MS Access หรือ SQL plus ของ Oracle </li></ul><ul><li>จะได้ผลลัพธ์ท้นที </li></ul><ul><li>Embedded mode </li></ul><ul><li>ใช้คำสั่ง SQL ร่วมกับโปรแกรมที่เขียนขึ้นด้วยภาษาอื่น </li></ul><ul><li>คำสั่ง SQL จะทำงานเมื่อโปรแกรมทำงาน </li></ul><ul><li>ข้อดีคือสามารถนำข้อมูลมาประมวลผลต่อได้ </li></ul><ul><li>เช่น การทำรายงานที่ต้องแสดงเป็นกราฟ , การนำข้อมูลไปแสดงบนเว็บ </li></ul>
  7. 7. ลักษณะการทำงานของภาษา SQL เลือกค่าคอลัมน์ FirstName ที่คอลัมน์ EmployeeNumber=100 SQL Jacksoni Murugan 40 Copley Alea 300 Caldera Jerry 700 Abermany Mary 100 LastName FirstName EmployeeNumber Mary FirstName
  8. 8. ประเภทของคำสั่ง SQL <ul><li>Data Definition Language (DDL) </li></ul><ul><ul><li>ใช้สำหรับกำหนดโครงสร้างของข้อมูล อันได้แก่ สร้าง ลบ หรือเปลี่ยนแปลงโครงสร้างของตาราง </li></ul></ul><ul><ul><li>คือคำสั่ง CREATE, ALTER, DROP </li></ul></ul>Class Birthday Name StudentID
  9. 9. <ul><li>Data Manipulation Language (DML) </li></ul><ul><li>ใช้งานมากที่สุด </li></ul><ul><li>ใช้เรียกดูข้อมูล (Retrieval operation) </li></ul><ul><ul><li>SELECT </li></ul></ul><ul><li>ใช้อัพเดตข้อมูล ( Update operation) </li></ul><ul><ul><li>INSERT ใช้เก็บข้อมูลลงในตาราง </li></ul></ul><ul><ul><li>UPDATE ใช้แก้ไขค่าของข้อมูลที่เก็บอยู่ </li></ul></ul><ul><ul><li>DELETE ใช้ลบแถวในตาราง </li></ul></ul>ประเภทของคำสั่ง SQL (Continued)
  10. 10. <ul><li>Data Control Language (DCL) </li></ul><ul><li>ใช้ในการกำหนดสิืทธิในกรณีที่มีผู้ใช้งานหลายคน </li></ul><ul><ul><li>คำสั่ง GRANT ใช้กำหนดสิทธิให้กับผู้ใช้ </li></ul></ul><ul><ul><li>คำสั่ง REVOKE ใช้ยกเลิกหรือเรียกสิืทธิึืคืน </li></ul></ul><ul><li>ใช้ควบคุม Transaction </li></ul><ul><ul><li>คำสั่ง COMMIT ใช้ยืนยันการทำงานหลังจากเสร็จ Transaction </li></ul></ul><ul><ul><li>คำสั่ง ROLLBACK ใช้ยกเลิกการกระทำที่เกิดขึ้นกับ Transaction </li></ul></ul>ประเภทของคำสั่ง SQL (Continued)
  11. 11. SQL Data Type Long integer ตัวเลขจำนวนเต็มขนาด 4 bytes integer Short integer ตัวเลขจำนวนเต็มขนาด 2 bytes, +-32767, save storage Smallint ตัวเลขทศนิยมที่สามารถกำหนดว่าต้องกา รตัวเลขกี่หลัก (n) Float(n) ตัวเลขทศนิยม Real ตัวเลขทศนิยมที่กำหนดว่าต้องการตัวเลบ (p) และทศนิยม (s) กี่หลัก Numeric(p,s) Time Date เก็บข้อความความยาว ไม่เกิน size ที่กำหนด Varchar(size) เก็บข้อความความยาวคงที่เท่ากับ size ที่กำหนด Char(size)
  12. 12. SQL สำหรับ Data Definition <ul><li>The SQL data definition statements include </li></ul><ul><ul><li>CREATE </li></ul></ul><ul><ul><ul><li>To create database objects </li></ul></ul></ul><ul><ul><li>ALTER </li></ul></ul><ul><ul><ul><li>To modify the structure and/or characteristics of database objects </li></ul></ul></ul><ul><ul><li>DROP </li></ul></ul><ul><ul><ul><li>To delete database objects </li></ul></ul></ul>
  13. 13. SQL สำหรับ Data Definition: CREATE <ul><li>Creating database tables </li></ul><ul><ul><li>The SQL CREATE TABLE statement </li></ul></ul><ul><ul><ul><li>CREATE TABLE Employee ( </li></ul></ul></ul><ul><ul><ul><ul><li>EmpID Integer Not Null, </li></ul></ul></ul></ul><ul><ul><ul><ul><li>EmpName Char(25)); </li></ul></ul></ul></ul>
  14. 14. Primary Key Constraint: ALTER <ul><li>Adding primary key constraints to an existing table </li></ul><ul><ul><li>The SQL ALTER statement </li></ul></ul><ul><ul><ul><li>ALTER TABLE Employee </li></ul></ul></ul><ul><ul><ul><ul><li>ADD CONSTRAINT EmpPK PRIMARY KEY(EmpID); </li></ul></ul></ul></ul>
  15. 15. Composite Primary Key Constraints: ALTER <ul><li>The SQL ALTER statement may also be used to create a composite primary key constraint </li></ul><ul><ul><ul><li>CREATE TABLE Empl_Skill ( </li></ul></ul></ul><ul><ul><ul><ul><li>EmpID Integer Not Null, </li></ul></ul></ul></ul><ul><ul><ul><ul><li>SkillID Integer Not Null, </li></ul></ul></ul></ul><ul><ul><ul><ul><li>SkillLevel Integer); </li></ul></ul></ul></ul><ul><ul><ul><li>ALTER TABLE Empl_Skill </li></ul></ul></ul><ul><ul><ul><li>ADD CONSTRAINT EmpSkillPK </li></ul></ul></ul><ul><ul><ul><li>PRIMARY KEY(EmpID, SkillID); </li></ul></ul></ul>
  16. 16. Foreign Key Constraint: ALTER <ul><li>Adding foreign key constraints to an existing table </li></ul><ul><ul><li>The SQL ALTER statement </li></ul></ul><ul><ul><ul><li>ALTER TABLE Employee </li></ul></ul></ul><ul><ul><ul><ul><li>ADD CONSTRAINT EmpFK FOREIGN KEY(DeptID) REFERENCES Dept; </li></ul></ul></ul></ul>
  17. 17. การลบ Database Objects: DROP <ul><li>To remove unwanted database objects from the database, use the SQL DROP statement </li></ul><ul><li>Warning… The DROP statement will permanently remove the object and all data </li></ul><ul><ul><ul><li>DROP TABLE Employee; </li></ul></ul></ul>
  18. 18. การยกเลิก Constraint: ALTER & DROP <ul><li>ในการที่จะเปลี่ยน constraints ของตารางนั้น อาจนะต้องมีการลบ constraints ทีมีอยู่เดิมออกไปเสียก่อน </li></ul><ul><ul><ul><li>ALTER TABLE Employee DROP CONSTRAINT EmpFK; </li></ul></ul></ul>
  19. 19. Modifying Data using SQL <ul><li>Insert </li></ul><ul><ul><li>Will add a new row in a table </li></ul></ul><ul><li>Update </li></ul><ul><ul><li>Will update the data in a table that matches the specified criteria </li></ul></ul><ul><li>Delete </li></ul><ul><ul><li>Will delete the data in a table that matches the specified criteria </li></ul></ul>
  20. 20. Adding Data: INSERT <ul><li>To add a row to an existing table, use the INSERT statement </li></ul><ul><ul><ul><li>INSERT INTO Emp VALUES (91, ‘Smither’, 12); </li></ul></ul></ul><ul><ul><ul><li>INSERT INTO Emp (EmpID, SalaryCode) </li></ul></ul></ul><ul><ul><ul><li>VALUES (62, 11); </li></ul></ul></ul>
  21. 21. Changing Data Values: UPDATE <ul><li>To change the data values in an existing row (or set of rows) use the Update statement </li></ul><ul><ul><ul><li>UPDATE Emp </li></ul></ul></ul><ul><ul><ul><li>SET Phone ‘791-555-1234’ </li></ul></ul></ul><ul><ul><ul><li>WHERE EmpID = 29; </li></ul></ul></ul><ul><ul><ul><li>UPDATE Emp </li></ul></ul></ul><ul><ul><ul><li>SET DeptID = 44 </li></ul></ul></ul><ul><ul><ul><li>WHERE EmpName LIKE ‘Kr%’; </li></ul></ul></ul>
  22. 22. Example 44 KRONE 26 Jack 22 MIke DeptID EmpName
  23. 23. Deleting Data: DELETE <ul><li>To delete a row or set of rows from a table using the DELETE statement </li></ul><ul><ul><ul><li>DELETE FROM Emp </li></ul></ul></ul><ul><ul><ul><li>WHERE EmpID = 29; </li></ul></ul></ul><ul><ul><ul><li>DELETE FROM Emp </li></ul></ul></ul><ul><ul><ul><li>WHERE EmpName LIKE ‘Kr%’; </li></ul></ul></ul>
  24. 24. Example 44 Krone 30 39 Jack 29 32 John 28 31 Mike 27 DeptID EmpName EmpID

×