SlideShare a Scribd company logo
คำสั่งในการกำหนดประเภทของข้อมูล (Data Definition Language Command : DDL)
(Data Definition Language Command : DDL) CREATE TABLE FORMAT: CREATE TABLE table_name ( column_name DATATYPE COLUMN_CONSTRAINT, column_name DATATYPE COLUMN_CONSTRAINT, … TABLE_CONSTRAINT );
(Data Definition Language Command : DDL) ชื่อของข้อกำหนดที่ต้องการสร้างให้กับตาราง TABLE_CONSTRAINT ชื่อของข้อกำหนดที่ต้องการสร้างให้กับคอลัมน์   COLUMN_CONSTRAINT ชนิดข้อมูลของคอลัมน์นั้น ๆ DATATYPE ชื่อคอลัมน์แต่ละคอลัมน์ column_name กำหนดชื่อตาราง table_name คำสั่งให้สร้างตาราง CREATE TABLE ความหมาย คำสั่ง
ประเภทของข้อมูลใน  Oracle ตัวอักขระเช่นเดียวกับ  VARCHAR2   แต่จะเก็บข้อมูลตามค่าใน  National Character Set NCHAR(size) ตัวอักขระที่มีความยาวผันเปลี่ยนไปตามความยาวของข้อมูล ค่าสูงสุดคือ  4,000  ไบต์ VARCHAR2(size) ตัวอักขระที่มีความยาวของข้อมูลตามค่า  size   ค่าสูงสุดคือ  2,000  ไบต์ CHAR(size) ความหมาย ประเภทของข้อมูล
ประเภทของข้อมูลใน  Oracle ตัวเลข ซึ่งแสดงจำนวนหลักด้วย  p  และจำนวนหลังทศนิยมด้วย  s  โดยที่  p  จะมีค่าอยู่ระหว่าง  1  ถึง  38 s  จะมีค่าอยู่หว่าง – 84  ถึง  27 NUMBER(p,s) ตัวอักษรที่มีการกำหนดความยาวที่แน่นอนเอาไว้ มีความยาวสูงสุด  2  กิกะไบต์ LONG ความหมาย ประเภทของข้อมูล
ประเภทของข้อมูลใน  Oracle ข้อมูลไบนารีที่สามารถปรับขนาดได้ และมีความยาวสูงสุด  2  กิกะไบต์ LONG RAW ข้อมูลไบนารีที่กำหนดขนาดที่แน่นอนเอาไว้ และมีความยาวสูงสุด  255  ไบต์ RAW(size) วันที่ และเวลา มีค่าได้ตั้งแต่  1  มกราคม  4712 ก่อนคริสตศักราช ถึง  31  ธันวาคม  4712  หลังคริสตศักราช DATE ความหมาย ประเภทของข้อมูล
ประเภทของข้อมูลใน  Oracle จัดเก็บข้อมูลไบนารีแบบ  Large Object  มีความยาวสูงสุด  4 GB BLOB จัดเก็บข้อมูลตัวอักษรที่เป็นแบบ  Large Object  มีความยาวสูงสุด  4 GB CLOB เลขฐานสองที่แสดงถึงตำแหน่งที่อยู่ในเรคอร์ด ROW ID ความหมาย ประเภทของข้อมูล
ประเภทของข้อมูลใน  Oracle จัดเก็บลิงค์  ( pointer )  ที่ใช้ในการเรียกไฟล์ที่จัดเก็บเป็น  os file  นอกฐานข้อมูล BFILE จัดเก็บข้อมูลตัวอักษรหลายชุดที่เป็นแบบ  Large Object  มีความยาวสูงสุด  4 GB NCLOB ความหมาย ประเภทของข้อมูล
(Data Definition Language Command : DDL) ตัวอย่าง  1  :   การสร้างตารางแผนก ชื่อ  department  โดยจะประกอบไปด้วยข้อมูล รหัสแผนก ,  ชื่อแผนก CREATE TABLE department( D_No CHAR(3) NOT NULL, D_Name VARCHAR2(50), CONSTRAINT Dept_Pk PRIMARY KEY (D_No) );
(Data Definition Language Command : DDL) ตัวอย่าง  2  :   การสร้างตารางพนักงาน ชื่อ  employee  โดยจะประกอบไปด้วยรหัสพนักงาน ,  ชื่อ ,  สกุล ,  รหัสแผนก ,  ตำแหน่ง และเงินเดือน CREATE TABLE employee( E_No CHAR(4) not null, E_Name VARCHAR2(30), E_Last VARCHAR2(30), D_No CHAR(3) DEFAULT 'D01', Position VARCHAR2(20), Salary NUMBER(9,2), CONSTRAINT Emp_Pk PRIMARY KEY (E_No), CONSTRAINT Dept_Fk FOREIGN KEY (D_No) REFERENCES department (D_NO) );
คีย์หลัก  ( Primary Key )  คือแอตทริบิวต์ที่น้อยที่สุดที่จะใช้ในการแยกตาราง โดยอาจจะมีเพียงคอลัมน์เดียวหรือหลายคอลัมน์ก็ได้ เช่น ในตาราง  department  จะมีคีย์หลักคือ  D_No คีย์รอง ( Foreign Key )  คือกลุ่มของแอตทริบิวต์ที่มีน้อยที่สุดที่ใช้ในการอ้างถึงคีย์หลักในตารางแม่ เช่น ในตาราง  employee  จะมีคีย์รองคือ  D_No  ซึ่งจะเป็นคีย์ที่ใช้ในการอ้างถึงคอลัมน์  D_No  ในตาราง  department  ซึ่งจริงๆแล้วในตาราง  employee  ไม่จำเป็นต้องใช้ชื่อ  D_No  เหมือนในตาราง  department  ก็ได้ (Data Definition Language Command : DDL)
(Data Definition Language Command : DDL) UNIQUE  คือ ต้องมีเพียงตัวเดียวในคอลัมน์ DEFAULT  คือ การกำหนดค่าให้อัตโนมัติ ในกรณีที่ไม่มีการส่งค่าใด ๆ ลงมา CHECK  คือ การกำหนดเงื่อนไขข้อมูลที่จะใส่เข้ามาจะต้องเป็นไปตามเงื่อนไขเท่านั้น NOT NULL  คือ การกำหนดห้ามไม่ให้ปล่อยค่าว่างในคอลัมน์
(Data Definition Language Command : DDL) การสร้าง   Primary Key Format CONSTRAINT constraint_name  PRIMARY KEY(column1[,column2]);
(Data Definition Language Command : DDL) การสร้าง   Primary Key กำหนดประเภทของ  CONSTRAINT   เป็น  PRIMARY KEY   และกำหนดคอลัมน์ที่ต้องการสร้างให้เป็น  PRIMARY KEY   PRIMARY KEY (column1[,column2]) คำสั่งใช้สร้าง  CONSTRAINT   โดย  constraint_name  คือชื่อของ  CONSTRAINT   ที่ต้องการ CONSTRAINT constraint_name ความหมาย คำสั่ง
(Data Definition Language Command : DDL) การสร้าง   Foreign Key Format CONSTRAINT  constraint_name   FOREIGN KEY(column1,column2,…) REFERENCES  table_name (column1,column2,…);
(Data Definition Language Command : DDL) การสร้าง   Foreign Key กำหนดประเภทของ  CONSTRAINT   เป็น  FOREIGN KEY   และกำหนดคอลัมน์ที่ต้องการสร้างให้เป็น  FOREIGN KEY   FOREIGN KEY(column1,column2,…) คำสั่งใช้สร้าง  CONSTRAINT   โดย  constraint_name  คือชื่อของ  CONSTRAINT   ที่ต้องการ CONSTRAINT constraint_name ความหมาย คำสั่ง
(Data Definition Language Command : DDL) การสร้าง   Foreign Key ( ต่อ ) กำหนดชื่อตารางและคอลัมน์ของตารางที่ต้องการอ้างอิงถึง REFERENCES  table_name (column1, column2,…) ความหมาย คำสั่ง
(Data Definition Language Command : DDL) ALTER เป็นคำสั่งที่ใช้เพื่อเปลี่ยนแปลงสิ่งที่เราได้ทำการ  CREATE  ไปแล้ว ส่วนมากใช้ในการแก้ไขโครงสร้างของตารางเดิมที่มีอยู่ โดยมีรูปแบบคำสั่ง ดังนี้ ALTER TABLE table_name [ADD column_name DATATYPE COLUMN_CONSTRAINT] [MODIFY column_name DATATYPE COLUMN_CONSTRAINT] [DROP CONSTRAINT constraint_name [CASCADE]];
(Data Definition Language Command : DDL) ตัวอย่างที่  1   ต้องการเพิ่มคอลัมน์  2   คอลัมน์ในตาราง  department  จะใช้คำสั่งดังนี้ ALTER TABLE department Add (Test_Add NUMBER(1) not null, Test_Add2 VARCHAR2 (2) );
(Data Definition Language Command : DDL) ตัวอย่างที่  2   ต้องการเปลี่ยน  data type  ของคอลัมน์  Test_Add2  จาก  VARCHAR2  เป็น  NUMBER ALTER  TABLE department MODIFY ( Test_Add2 NUMBER(2));
(Data Definition Language Command : DDL) ตัวอย่างที่  3   ต้องการลบคอลัมน์  Test_Add2   ออกจากตาราง  ALTER  TABLE department DROP ( Test_Add2);
(Data Definition Language Command : DDL) ตัวอย่างที่  4   ต้องการเพิ่ม  PRIMARY KEY  ให้กับคอลัมน์  E_Name  ในตาราง  employee Format ALTER TABLE table_name ADD CONSTRAINT  ตัวแปร   PRIMARY KEY (fieldname); ตัวอย่าง ALTER TABLE employee ADD CONSTRAINT enam_fk   PRIMARY KEY (E_Name);
(Data Definition Language Command : DDL) ตัวอย่างที่  5   ต้องการเพิ่ม  FOREIGN KEY  ให้กับคอลัมน์  E_Name  ในตาราง  employee Format   ALTER TABLE table_name ADD CONSTRAINT ตัวแปร   FOREIGN KEY (fieldname) REFERENCES table_name1(fieldname); ตัวอย่าง ALTER TABLE employee ADD CONSTRAINT dnam_fk   FOREIGN KEY (E_Name) REFERENCES department(D_Name);
(Data Definition Language Command : DDL) ตัวอย่างที่  6   ต้องการเปลี่ยนชื่อคอลัมน์  E_Last  ให้เป็น  E_Lastname  ในตาราง  employee Format ALTER TABLE  table_name  RENAME  ชื่อ คอลัมน์เดิม   TO  ชื่อคอลัมน์ใหม่ ; ตัวอย่าง ALTER TABLE employee RENAME E_Last TO E_Lastname;
(Data Definition Language Command : DDL) RENAME เป็นคำสั่งเปลี่ยนชื่อตาราง Format RENAME  ชื่อตารางเดิม   TO  ชื่อตารางใหม่ ; DROP เป็นคำสั่งลบตาราง Format DROP TABLE  ชื่อตาราง ;
คำสั่งในการควบคุมโครงสร้างของข้อมูล (Data Manipulation Language Command : DML)
(Data Manipulation Language Command : DML) INSERT   คือการเพิ่มข้อมูลให้กับตารางโดยที่คำสั่งนี้จะสามารถเพิ่มได้ครั้งละ  1 record  ถ้าหากต้องการเพิ่มข้อมูลหลาย   record  ก็ให้ทำซ้ำหลาย ๆ ครั้ง โดยมีรูปแบบคำสั่งดังนี้ FORMAT   INSERT TO table_name (Column_1,  Column2,…, Column_n) VALUES (Value_1, Value_2, Value_3);
(Data Manipulation Language Command : DML) ตัวอย่างการใช้คำสั่ง  INSERT  เพื่อเพิ่มข้อมูลแถวที่  1 INSERT INTO department (D_NO, D_NAME) VALUES ('D01','Sales'); ข้อมูลในตาราง  department   มีดังนี้ Finance D03 support Do2 Sales D01 D_Name D_No
(Data Manipulation Language Command : DML) INSERT  ( ต่อ ) เมื่อ ใส่ข้อมูลแล้วอาจจะใช้คำสั่ง  COMMIT  เพื่อทำการยืนยันข้อมูลที่ใส่เข้าไปทั้งหมด ซึ่งโดยปกติแล้วเวลาที่ออกจากโปรแกรมจะมีการ  confirm  อยู่แล้วแต่เราใส่เพื่อจะได้มั่นใจแน่ๆว่าสิ่งที่เราได้ทำมานั้นได้เก็บลงไปในฐานข้อมูล แล้วเผื่อเกิดความผิดพลาดอะไรกับระบบขึ้นมาเราจะได้สามารถกู้ข้อมูลเหล่านี้กลับมาได้
(Data Manipulation Language Command : DML) ข้อมูลในตาราง  employee   มีดังนี้ 32000 Manager D03  Rakwong  Sirinate  E007  37000 Manager  D02  Boonyarat  Satit  E006  12000 Co-ordinator  D03  Monthon  Pikul  E005  25000 System-Analyst  D02  Kamalawat  Jitlada  E004  15000 Sales  D01  Penkawin  Oranuch  E003  35000 Manager  D01  Chartsakul  Rujiya  E002  18000 Programmer  D02  Thongsawang  Songkran  E001 SALARY POSITION  D_NO  E_LAST  E_NAME  E_NO
(Data Manipulation Language Command : DML) UPDATE คือ การอ่านข้อมูล  (read)  ออกมาจากตารางแล้ว ทำการเขียน  (write)  ลงไปในตารางนั้นใหม่ โดยจะทำงานในลักษณะของ  group of record  ทำให้การอัพเดตใช้เวลาค่อนข้างนาน เพราะจะต้องทำงานถึง  2  รอบ FORMAT   UPDATE table_name SET column = value [,column = value] WHERE <condition> ;
(Data Manipulation Language Command : DML) UPDATE  ( ต่อ ) โดยที่เงื่อนไข  (condition)  ที่สามารถใช้ในที่นี้ได้จะต้องมีรูปแบบดังตาราง
(Data Manipulation Language Command : DML) ตัวอย่าง การเปลี่ยน   D_Name  จาก ชื่อ “ Finance”  ให้เป็น “ Accounting” UPDATE department SET D_Name = 'Accounting' WHERE D_No = 'D03' ;
(Data Manipulation Language Command : DML) DELETE คือ การลบข้อมูลออกจากตาราง FORMAT   DELETE FROM table_name WHERE <condition> ; โดยที่  <condition>  ในที่นี้จะเป็นแบบเดียวกับที่ได้แสดงไว้ในเรื่องของการ “ UPDATE ”  ที่ได้กล่าวไปแล้ว
(Data Manipulation Language Command : DML) ตัวอย่าง การลบข้อมูลในเรคอร์ดที่เก็บข้อมูล ‘ E005’  จากตาราง  employee DELETE FROM employee WHERE E_No = 'E005' ;
คำสั่งในการค้นหาข้อมูล (Data Retrival Command)
(Data Retrival Command) SELECT เป็นคำสั่งที่ใช้ในการค้นหาข้อมูลจากฐานข้อมูล โครงสร้างของคำสั่ง  SELECT  ประกอบด้วย  SELECT, FROM, WHERE,ORDER BY  และ  GROUP BY รูปแบบคำสั่งอย่างน้อยที่สุด SELECT <cluase> FROM <cluase>; ตัวอย่าง SELECT D_Name FROM department;
(Data Retrival Command) Where Clause จะช่วยให้เราสามารถเลือกเฉพาะเรคอร์ดที่เราต้องการเท่านั้น FORMAT : SELECT <cluase> FROM <cluase> WHERE <condition> ; โดยที่เงื่อนไข  <condition>  ในที่นี้จะเป็นแบบเดียวกับที่ได้แสดงไว้ในเรื่องของการ “ UPDATE ”  ที่ได้กล่าวไปแล้ว
(Data Retrival Command) ตัวอย่าง การเลือก แสดง ข้อมูลเฉพาะเรคอร์ดที่บรรจุข้อมูล ‘ D01’  ในตาราง  department SELECT * FROM department WHERE D_No = 'D01' ;
(Data Retrival Command) Boolean Operation Operation  ในที่นี้จะประกอบไปด้วยเครื่องหมาย  OR  และ  AND  โดยมีสถานการณ์ของแต่ละเหตุการณ์ ซึ่งมีดังนี้ FALSE FALSE  FALSE  FALSE  TRUE FALSE TRUE  FALSE  TRUE FALSE  FALSE  TRUE  TRUE TRUE  TRUE  TRUE  A OR B A AND B B A
(Data Retrival Command) เครื่องหมายในการเปรียบเทียบ  ( comparison operator )   เครื่องหมายในการเปรียบเทียบอื่น ๆ ไม่เท่ากับ <>  หรือ  != น้อยกว่า หรือเท่ากับ <= มากกว่า หรือเท่ากับ >= น้อยกว่า < มากกว่า > เท่ากับ = ความหมาย เครื่องหมาย ทดสอบเปรียบเทียบค่าที่ไม่ใช่ค่าว่าง NOT NULL ทดสอบเปรียบเทียบค่าว่าง NULL หาค่าที่อยู่นอกเหนือจาก  LIKE NOT LIKE ทดสอบเปรียบเทียบข้อความ LIKE ความหมาย เครื่องหมาย
(Data Retrival Command) ตัวอย่างที่  1 การเลือก แสดง ข้อมูลเฉพาะพนักงานที่อยู่ในแผนก ‘ D01’  และ มีเงินเดือนมากกว่า  20,000  บาท  ในตาราง  employee SELECT E_Name FROM employee WHERE D_No = 'D01' AND Salary > 20000 ;
(Data Retrival Command) ตัวอย่างที่  2 ต้องการค้นหาว่าใครมีเงินเดือนอยู่ในช่วง  15,000  ถึง  30,000  ในตาราง  employee SELECT * FROM employee WHERE salary between 15000 and 30000 ;

More Related Content

PDF
บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขระ
PDF
07 sql
PPTX
ภาษา Sql
DOC
การเพ มข_อม_ลลงฐานข_อม_ลด_วยภาษา jsp&sql
PPT
ตัวแปลชุดและตัวแปลอักขระ
PDF
ตัวแปรชุดและตัวแปรกลุ่มอักขระ
PPTX
ตัวแปรชุดนำเสนอ
บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขระ
07 sql
ภาษา Sql
การเพ มข_อม_ลลงฐานข_อม_ลด_วยภาษา jsp&sql
ตัวแปลชุดและตัวแปลอักขระ
ตัวแปรชุดและตัวแปรกลุ่มอักขระ
ตัวแปรชุดนำเสนอ

What's hot (12)

PDF
Lab#11 tableand form
PPTX
ตัวแปรชุด
PPTX
บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขระ
PPT
Spat Db 3 Intro Sql
PDF
Epi info unit07
PDF
Lesson 3 ตาราง
PDF
Epi info unit02
PDF
หน่วยการเรียนรู้ที่ 7 การสร้างแบบสอบถามวิชา การจัดการฐานข้อมูล
PDF
Epi info unit05
PPTX
งานนนนนนนนนนน
PDF
Epi info unit06
PPTX
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
Lab#11 tableand form
ตัวแปรชุด
บทที่ 5 ตัวแปรชุดและตัวแปรกลุ่มอักขระ
Spat Db 3 Intro Sql
Epi info unit07
Lesson 3 ตาราง
Epi info unit02
หน่วยการเรียนรู้ที่ 7 การสร้างแบบสอบถามวิชา การจัดการฐานข้อมูล
Epi info unit05
งานนนนนนนนนนน
Epi info unit06
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
Ad

Viewers also liked (20)

PDF
Laporan pengurus pengeluaran
PPT
PTMS IDEA
PPT
ETMK İzmir Şubesi Ortak Yönetim Kurulları Toplantısı Sunumu
PDF
Rozmówki - pomoc medyczna w niemczech
PDF
Manual Truss System Plano
PPT
Sandefjord i krig
PDF
Word qd
PDF
Slide Bellucci, economia della conoscenza
PPT
主日投影片
PDF
Sciopero doc welfare
PPT
ความรู้เกี่ยวกับระบบปฏิบัติการ
ODP
Endangered
PPT
вопросы жюри к игре эфоп
PDF
อาชีพครีเอทีฟ
PPTX
Smancip x i-meteor
PDF
Słownik techniczno budowlany. angielsko-polski, polsko-angielski. english for...
XLSX
Book1
PPT
ความรู้เกี่ยวกับระบบปฏิบัติการ
PDF
Обзор работы паевых фондов
Laporan pengurus pengeluaran
PTMS IDEA
ETMK İzmir Şubesi Ortak Yönetim Kurulları Toplantısı Sunumu
Rozmówki - pomoc medyczna w niemczech
Manual Truss System Plano
Sandefjord i krig
Word qd
Slide Bellucci, economia della conoscenza
主日投影片
Sciopero doc welfare
ความรู้เกี่ยวกับระบบปฏิบัติการ
Endangered
вопросы жюри к игре эфоп
อาชีพครีเอทีฟ
Smancip x i-meteor
Słownik techniczno budowlany. angielsko-polski, polsko-angielski. english for...
Book1
ความรู้เกี่ยวกับระบบปฏิบัติการ
Обзор работы паевых фондов
Ad

Similar to Sql ta2 (20)

PPT
Sql theory
PPT
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 03
PDF
Database Review for Midterm Exam
PPTX
บทที่ 2
PDF
MK380-SQL ระบบสารสนเทศทางการตลาด - ภาษา SQL
DOCX
การใช้งานคำสั่งภาษา Sql
DOCX
การใช้งานคำสั่งภาษา Sql
DOC
บทที่4
PPTX
SQL By Sayuri
PPTX
บทที่ 4
PDF
Unit 4 normalazation
PDF
คำสั่ง Sql เบื้องต้น(insert into)
PDF
SQL Structured Query Language For studies
PDF
ความรู้พื้นฐานเกี่ยวกับระบบฐานข้อมูล
PPTX
การใช้อักษร
PDF
lesson4 JSP
PPTX
Microsoft access
PPTX
Presentthe period of time that is happening now, not the past or the future:
PDF
หน่วยการเรียนรู้ที่ 4
PDF
Data management pub
Sql theory
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 03
Database Review for Midterm Exam
บทที่ 2
MK380-SQL ระบบสารสนเทศทางการตลาด - ภาษา SQL
การใช้งานคำสั่งภาษา Sql
การใช้งานคำสั่งภาษา Sql
บทที่4
SQL By Sayuri
บทที่ 4
Unit 4 normalazation
คำสั่ง Sql เบื้องต้น(insert into)
SQL Structured Query Language For studies
ความรู้พื้นฐานเกี่ยวกับระบบฐานข้อมูล
การใช้อักษร
lesson4 JSP
Microsoft access
Presentthe period of time that is happening now, not the past or the future:
หน่วยการเรียนรู้ที่ 4
Data management pub

Sql ta2

  • 2. (Data Definition Language Command : DDL) CREATE TABLE FORMAT: CREATE TABLE table_name ( column_name DATATYPE COLUMN_CONSTRAINT, column_name DATATYPE COLUMN_CONSTRAINT, … TABLE_CONSTRAINT );
  • 3. (Data Definition Language Command : DDL) ชื่อของข้อกำหนดที่ต้องการสร้างให้กับตาราง TABLE_CONSTRAINT ชื่อของข้อกำหนดที่ต้องการสร้างให้กับคอลัมน์ COLUMN_CONSTRAINT ชนิดข้อมูลของคอลัมน์นั้น ๆ DATATYPE ชื่อคอลัมน์แต่ละคอลัมน์ column_name กำหนดชื่อตาราง table_name คำสั่งให้สร้างตาราง CREATE TABLE ความหมาย คำสั่ง
  • 4. ประเภทของข้อมูลใน Oracle ตัวอักขระเช่นเดียวกับ VARCHAR2 แต่จะเก็บข้อมูลตามค่าใน National Character Set NCHAR(size) ตัวอักขระที่มีความยาวผันเปลี่ยนไปตามความยาวของข้อมูล ค่าสูงสุดคือ 4,000 ไบต์ VARCHAR2(size) ตัวอักขระที่มีความยาวของข้อมูลตามค่า size ค่าสูงสุดคือ 2,000 ไบต์ CHAR(size) ความหมาย ประเภทของข้อมูล
  • 5. ประเภทของข้อมูลใน Oracle ตัวเลข ซึ่งแสดงจำนวนหลักด้วย p และจำนวนหลังทศนิยมด้วย s โดยที่ p จะมีค่าอยู่ระหว่าง 1 ถึง 38 s จะมีค่าอยู่หว่าง – 84 ถึง 27 NUMBER(p,s) ตัวอักษรที่มีการกำหนดความยาวที่แน่นอนเอาไว้ มีความยาวสูงสุด 2 กิกะไบต์ LONG ความหมาย ประเภทของข้อมูล
  • 6. ประเภทของข้อมูลใน Oracle ข้อมูลไบนารีที่สามารถปรับขนาดได้ และมีความยาวสูงสุด 2 กิกะไบต์ LONG RAW ข้อมูลไบนารีที่กำหนดขนาดที่แน่นอนเอาไว้ และมีความยาวสูงสุด 255 ไบต์ RAW(size) วันที่ และเวลา มีค่าได้ตั้งแต่ 1 มกราคม 4712 ก่อนคริสตศักราช ถึง 31 ธันวาคม 4712 หลังคริสตศักราช DATE ความหมาย ประเภทของข้อมูล
  • 7. ประเภทของข้อมูลใน Oracle จัดเก็บข้อมูลไบนารีแบบ Large Object มีความยาวสูงสุด 4 GB BLOB จัดเก็บข้อมูลตัวอักษรที่เป็นแบบ Large Object มีความยาวสูงสุด 4 GB CLOB เลขฐานสองที่แสดงถึงตำแหน่งที่อยู่ในเรคอร์ด ROW ID ความหมาย ประเภทของข้อมูล
  • 8. ประเภทของข้อมูลใน Oracle จัดเก็บลิงค์ ( pointer ) ที่ใช้ในการเรียกไฟล์ที่จัดเก็บเป็น os file นอกฐานข้อมูล BFILE จัดเก็บข้อมูลตัวอักษรหลายชุดที่เป็นแบบ Large Object มีความยาวสูงสุด 4 GB NCLOB ความหมาย ประเภทของข้อมูล
  • 9. (Data Definition Language Command : DDL) ตัวอย่าง 1 : การสร้างตารางแผนก ชื่อ department โดยจะประกอบไปด้วยข้อมูล รหัสแผนก , ชื่อแผนก CREATE TABLE department( D_No CHAR(3) NOT NULL, D_Name VARCHAR2(50), CONSTRAINT Dept_Pk PRIMARY KEY (D_No) );
  • 10. (Data Definition Language Command : DDL) ตัวอย่าง 2 : การสร้างตารางพนักงาน ชื่อ employee โดยจะประกอบไปด้วยรหัสพนักงาน , ชื่อ , สกุล , รหัสแผนก , ตำแหน่ง และเงินเดือน CREATE TABLE employee( E_No CHAR(4) not null, E_Name VARCHAR2(30), E_Last VARCHAR2(30), D_No CHAR(3) DEFAULT 'D01', Position VARCHAR2(20), Salary NUMBER(9,2), CONSTRAINT Emp_Pk PRIMARY KEY (E_No), CONSTRAINT Dept_Fk FOREIGN KEY (D_No) REFERENCES department (D_NO) );
  • 11. คีย์หลัก ( Primary Key ) คือแอตทริบิวต์ที่น้อยที่สุดที่จะใช้ในการแยกตาราง โดยอาจจะมีเพียงคอลัมน์เดียวหรือหลายคอลัมน์ก็ได้ เช่น ในตาราง department จะมีคีย์หลักคือ D_No คีย์รอง ( Foreign Key ) คือกลุ่มของแอตทริบิวต์ที่มีน้อยที่สุดที่ใช้ในการอ้างถึงคีย์หลักในตารางแม่ เช่น ในตาราง employee จะมีคีย์รองคือ D_No ซึ่งจะเป็นคีย์ที่ใช้ในการอ้างถึงคอลัมน์ D_No ในตาราง department ซึ่งจริงๆแล้วในตาราง employee ไม่จำเป็นต้องใช้ชื่อ D_No เหมือนในตาราง department ก็ได้ (Data Definition Language Command : DDL)
  • 12. (Data Definition Language Command : DDL) UNIQUE คือ ต้องมีเพียงตัวเดียวในคอลัมน์ DEFAULT คือ การกำหนดค่าให้อัตโนมัติ ในกรณีที่ไม่มีการส่งค่าใด ๆ ลงมา CHECK คือ การกำหนดเงื่อนไขข้อมูลที่จะใส่เข้ามาจะต้องเป็นไปตามเงื่อนไขเท่านั้น NOT NULL คือ การกำหนดห้ามไม่ให้ปล่อยค่าว่างในคอลัมน์
  • 13. (Data Definition Language Command : DDL) การสร้าง Primary Key Format CONSTRAINT constraint_name PRIMARY KEY(column1[,column2]);
  • 14. (Data Definition Language Command : DDL) การสร้าง Primary Key กำหนดประเภทของ CONSTRAINT เป็น PRIMARY KEY และกำหนดคอลัมน์ที่ต้องการสร้างให้เป็น PRIMARY KEY PRIMARY KEY (column1[,column2]) คำสั่งใช้สร้าง CONSTRAINT โดย constraint_name คือชื่อของ CONSTRAINT ที่ต้องการ CONSTRAINT constraint_name ความหมาย คำสั่ง
  • 15. (Data Definition Language Command : DDL) การสร้าง Foreign Key Format CONSTRAINT constraint_name FOREIGN KEY(column1,column2,…) REFERENCES table_name (column1,column2,…);
  • 16. (Data Definition Language Command : DDL) การสร้าง Foreign Key กำหนดประเภทของ CONSTRAINT เป็น FOREIGN KEY และกำหนดคอลัมน์ที่ต้องการสร้างให้เป็น FOREIGN KEY FOREIGN KEY(column1,column2,…) คำสั่งใช้สร้าง CONSTRAINT โดย constraint_name คือชื่อของ CONSTRAINT ที่ต้องการ CONSTRAINT constraint_name ความหมาย คำสั่ง
  • 17. (Data Definition Language Command : DDL) การสร้าง Foreign Key ( ต่อ ) กำหนดชื่อตารางและคอลัมน์ของตารางที่ต้องการอ้างอิงถึง REFERENCES table_name (column1, column2,…) ความหมาย คำสั่ง
  • 18. (Data Definition Language Command : DDL) ALTER เป็นคำสั่งที่ใช้เพื่อเปลี่ยนแปลงสิ่งที่เราได้ทำการ CREATE ไปแล้ว ส่วนมากใช้ในการแก้ไขโครงสร้างของตารางเดิมที่มีอยู่ โดยมีรูปแบบคำสั่ง ดังนี้ ALTER TABLE table_name [ADD column_name DATATYPE COLUMN_CONSTRAINT] [MODIFY column_name DATATYPE COLUMN_CONSTRAINT] [DROP CONSTRAINT constraint_name [CASCADE]];
  • 19. (Data Definition Language Command : DDL) ตัวอย่างที่ 1 ต้องการเพิ่มคอลัมน์ 2 คอลัมน์ในตาราง department จะใช้คำสั่งดังนี้ ALTER TABLE department Add (Test_Add NUMBER(1) not null, Test_Add2 VARCHAR2 (2) );
  • 20. (Data Definition Language Command : DDL) ตัวอย่างที่ 2 ต้องการเปลี่ยน data type ของคอลัมน์ Test_Add2 จาก VARCHAR2 เป็น NUMBER ALTER TABLE department MODIFY ( Test_Add2 NUMBER(2));
  • 21. (Data Definition Language Command : DDL) ตัวอย่างที่ 3 ต้องการลบคอลัมน์ Test_Add2 ออกจากตาราง ALTER TABLE department DROP ( Test_Add2);
  • 22. (Data Definition Language Command : DDL) ตัวอย่างที่ 4 ต้องการเพิ่ม PRIMARY KEY ให้กับคอลัมน์ E_Name ในตาราง employee Format ALTER TABLE table_name ADD CONSTRAINT ตัวแปร PRIMARY KEY (fieldname); ตัวอย่าง ALTER TABLE employee ADD CONSTRAINT enam_fk PRIMARY KEY (E_Name);
  • 23. (Data Definition Language Command : DDL) ตัวอย่างที่ 5 ต้องการเพิ่ม FOREIGN KEY ให้กับคอลัมน์ E_Name ในตาราง employee Format ALTER TABLE table_name ADD CONSTRAINT ตัวแปร FOREIGN KEY (fieldname) REFERENCES table_name1(fieldname); ตัวอย่าง ALTER TABLE employee ADD CONSTRAINT dnam_fk FOREIGN KEY (E_Name) REFERENCES department(D_Name);
  • 24. (Data Definition Language Command : DDL) ตัวอย่างที่ 6 ต้องการเปลี่ยนชื่อคอลัมน์ E_Last ให้เป็น E_Lastname ในตาราง employee Format ALTER TABLE table_name RENAME ชื่อ คอลัมน์เดิม TO ชื่อคอลัมน์ใหม่ ; ตัวอย่าง ALTER TABLE employee RENAME E_Last TO E_Lastname;
  • 25. (Data Definition Language Command : DDL) RENAME เป็นคำสั่งเปลี่ยนชื่อตาราง Format RENAME ชื่อตารางเดิม TO ชื่อตารางใหม่ ; DROP เป็นคำสั่งลบตาราง Format DROP TABLE ชื่อตาราง ;
  • 27. (Data Manipulation Language Command : DML) INSERT คือการเพิ่มข้อมูลให้กับตารางโดยที่คำสั่งนี้จะสามารถเพิ่มได้ครั้งละ 1 record ถ้าหากต้องการเพิ่มข้อมูลหลาย record ก็ให้ทำซ้ำหลาย ๆ ครั้ง โดยมีรูปแบบคำสั่งดังนี้ FORMAT INSERT TO table_name (Column_1, Column2,…, Column_n) VALUES (Value_1, Value_2, Value_3);
  • 28. (Data Manipulation Language Command : DML) ตัวอย่างการใช้คำสั่ง INSERT เพื่อเพิ่มข้อมูลแถวที่ 1 INSERT INTO department (D_NO, D_NAME) VALUES ('D01','Sales'); ข้อมูลในตาราง department มีดังนี้ Finance D03 support Do2 Sales D01 D_Name D_No
  • 29. (Data Manipulation Language Command : DML) INSERT ( ต่อ ) เมื่อ ใส่ข้อมูลแล้วอาจจะใช้คำสั่ง COMMIT เพื่อทำการยืนยันข้อมูลที่ใส่เข้าไปทั้งหมด ซึ่งโดยปกติแล้วเวลาที่ออกจากโปรแกรมจะมีการ confirm อยู่แล้วแต่เราใส่เพื่อจะได้มั่นใจแน่ๆว่าสิ่งที่เราได้ทำมานั้นได้เก็บลงไปในฐานข้อมูล แล้วเผื่อเกิดความผิดพลาดอะไรกับระบบขึ้นมาเราจะได้สามารถกู้ข้อมูลเหล่านี้กลับมาได้
  • 30. (Data Manipulation Language Command : DML) ข้อมูลในตาราง employee มีดังนี้ 32000 Manager D03 Rakwong Sirinate E007 37000 Manager D02 Boonyarat Satit E006 12000 Co-ordinator D03 Monthon Pikul E005 25000 System-Analyst D02 Kamalawat Jitlada E004 15000 Sales D01 Penkawin Oranuch E003 35000 Manager D01 Chartsakul Rujiya E002 18000 Programmer D02 Thongsawang Songkran E001 SALARY POSITION D_NO E_LAST E_NAME E_NO
  • 31. (Data Manipulation Language Command : DML) UPDATE คือ การอ่านข้อมูล (read) ออกมาจากตารางแล้ว ทำการเขียน (write) ลงไปในตารางนั้นใหม่ โดยจะทำงานในลักษณะของ group of record ทำให้การอัพเดตใช้เวลาค่อนข้างนาน เพราะจะต้องทำงานถึง 2 รอบ FORMAT UPDATE table_name SET column = value [,column = value] WHERE <condition> ;
  • 32. (Data Manipulation Language Command : DML) UPDATE ( ต่อ ) โดยที่เงื่อนไข (condition) ที่สามารถใช้ในที่นี้ได้จะต้องมีรูปแบบดังตาราง
  • 33. (Data Manipulation Language Command : DML) ตัวอย่าง การเปลี่ยน D_Name จาก ชื่อ “ Finance” ให้เป็น “ Accounting” UPDATE department SET D_Name = 'Accounting' WHERE D_No = 'D03' ;
  • 34. (Data Manipulation Language Command : DML) DELETE คือ การลบข้อมูลออกจากตาราง FORMAT DELETE FROM table_name WHERE <condition> ; โดยที่ <condition> ในที่นี้จะเป็นแบบเดียวกับที่ได้แสดงไว้ในเรื่องของการ “ UPDATE ” ที่ได้กล่าวไปแล้ว
  • 35. (Data Manipulation Language Command : DML) ตัวอย่าง การลบข้อมูลในเรคอร์ดที่เก็บข้อมูล ‘ E005’ จากตาราง employee DELETE FROM employee WHERE E_No = 'E005' ;
  • 37. (Data Retrival Command) SELECT เป็นคำสั่งที่ใช้ในการค้นหาข้อมูลจากฐานข้อมูล โครงสร้างของคำสั่ง SELECT ประกอบด้วย SELECT, FROM, WHERE,ORDER BY และ GROUP BY รูปแบบคำสั่งอย่างน้อยที่สุด SELECT <cluase> FROM <cluase>; ตัวอย่าง SELECT D_Name FROM department;
  • 38. (Data Retrival Command) Where Clause จะช่วยให้เราสามารถเลือกเฉพาะเรคอร์ดที่เราต้องการเท่านั้น FORMAT : SELECT <cluase> FROM <cluase> WHERE <condition> ; โดยที่เงื่อนไข <condition> ในที่นี้จะเป็นแบบเดียวกับที่ได้แสดงไว้ในเรื่องของการ “ UPDATE ” ที่ได้กล่าวไปแล้ว
  • 39. (Data Retrival Command) ตัวอย่าง การเลือก แสดง ข้อมูลเฉพาะเรคอร์ดที่บรรจุข้อมูล ‘ D01’ ในตาราง department SELECT * FROM department WHERE D_No = 'D01' ;
  • 40. (Data Retrival Command) Boolean Operation Operation ในที่นี้จะประกอบไปด้วยเครื่องหมาย OR และ AND โดยมีสถานการณ์ของแต่ละเหตุการณ์ ซึ่งมีดังนี้ FALSE FALSE FALSE FALSE TRUE FALSE TRUE FALSE TRUE FALSE FALSE TRUE TRUE TRUE TRUE TRUE A OR B A AND B B A
  • 41. (Data Retrival Command) เครื่องหมายในการเปรียบเทียบ ( comparison operator ) เครื่องหมายในการเปรียบเทียบอื่น ๆ ไม่เท่ากับ <> หรือ != น้อยกว่า หรือเท่ากับ <= มากกว่า หรือเท่ากับ >= น้อยกว่า < มากกว่า > เท่ากับ = ความหมาย เครื่องหมาย ทดสอบเปรียบเทียบค่าที่ไม่ใช่ค่าว่าง NOT NULL ทดสอบเปรียบเทียบค่าว่าง NULL หาค่าที่อยู่นอกเหนือจาก LIKE NOT LIKE ทดสอบเปรียบเทียบข้อความ LIKE ความหมาย เครื่องหมาย
  • 42. (Data Retrival Command) ตัวอย่างที่ 1 การเลือก แสดง ข้อมูลเฉพาะพนักงานที่อยู่ในแผนก ‘ D01’ และ มีเงินเดือนมากกว่า 20,000 บาท ในตาราง employee SELECT E_Name FROM employee WHERE D_No = 'D01' AND Salary > 20000 ;
  • 43. (Data Retrival Command) ตัวอย่างที่ 2 ต้องการค้นหาว่าใครมีเงินเดือนอยู่ในช่วง 15,000 ถึง 30,000 ในตาราง employee SELECT * FROM employee WHERE salary between 15000 and 30000 ;