การสร้างตาราง : create table
DESCRIPTION
การสร้างตาราง : CREATE TABLE. รูปแบบคำสั่งการสร้างตาราง CREATE TABLE ( Data type not null unique, < column name>data type >< size >,…... , Primary key);. ตัวอย่าง. Create table Employee ( Eid char(4) not null unique; - PowerPoint PPT PresentationTRANSCRIPT
การสร�างตาราง : CREATE TABLE
รปแบบคำ�าส��งการสร�างตาราง CREATE TABLE <table name>
(<column_name> Data type <size> not
null unique,
<column name>data type><size>,…...,
Primary key<Column name>);
Create table Employee(Eid char(4) not null unique; Ename varchar(25), Salary number, Position varchar(20),
Address varchar(40), primary key(Eid ));
ต�วอย่�าง
Eid Ename Salary Position Address
คำ�าส��งการเพิ่��มข้�อมลคำ�าส��งการเพิ่��มข้�อมลในตารางจะใช้�คำ�าส��ง
INSERT จะม อย่� 2 รปแบบคำ!อ การเพิ่��มข้�อมลเข้�าไปที ละแถว และ การเพิ่��มข้�อมลโดย่การด'งกล(�มข้�อมลด�วย่คำ�าส��งคำ�นหาข้�อมล
1.1 คำ�าส��งการเพิ่��มข้�อมลที ละแถวโดย่ระบ(ข้�อมลที �จะ INSERTเข้�าไปโดย่ตรง รปแบบข้องคำ�าส��งเป*นด�งน +
INSERT INTO <tablename>[(column 1, column 2,…)]VALUES(<value1,value2, …>);
INSERT INTO SALES VALUES( “1001”, “Chaiwat”, “Bangkok”,0.12);
SALENO SALENAME ADDRESS SALECOM1001 Chaiwat Bangkok 0.12
ผลข้องคำ�าส��งน + จะม ข้�อมลปรากฎในที(กคำอล�มน.ในตารางพิ่น�กงานข้าย่ด�งน +
ต�วอย่�าง ต�องการจะใส�ข้�อมลที(กคำอล�มน.ลงในตารางลกคำ�า
CUSNO CUSNAME ADDRESS RATING SALENO
2010 Arlee Bangkok
INSERT INTO CUSTOMER (ADDRESS,CUSNAME,CUSNO)VALUES( “Bangkok”,”Arlee”, “2010”);
ผลข้องคำ�าส��งในตารางลกคำ�า จะที�าให�คำอล�มน. ADDRESS ม คำ�าเป*น Bangkok คำอล�มน. CUSNAME จะม คำ�าเป*น
Arlee คำอล�มน. CUSNO จะม คำ�าเป*น 2010
ต�วอย่�าง ถ�าต�องการจะใส�ข้�อมลบางคำอล�มน. เช้�น ที �อย่� Bangkok ช้!�อลกคำ�า Arlee และหมาย่เลข้ลกคำ�า
2010 ลงในตารางลกคำ�า ใช้�คำ�าส��งด�งน +
การแก�ไขข�อมูลที่ �มู อยู่� (Update)
รปแบบ
Update <table Name>Set <Column Name> = New _ValueWhere <Condition>;
ต�วอย่�าง ต้�องการปร�บเง�นเดื�อนพน�กงานที่�กคน ๆละ 1,000 บาที่
Update EmployeeSet salary = salary+1000;
การแก�ไขข�อมูลที่ �มู อยู่� (Update)
ต�วอย่�าง ต�องการปร�บเง�นเด!อนพิ่น�กงานช้!�อ “Somchai” เพิ่��มข้'+นอ ก 2000 บาที
Update employeeSet salary = salary+2000Where ename = “Somchai”;
การลบข้�อมลที �ม อย่� (Delete)
รปแบบ
Delete from <table Name>Where <Condition>;
ต�วอย่�าง นพิ่น�กงานช้!�อ “Wilai”ลาออกจากบร�ษั�ที ให�ลบข้�อมลข้อง “wilai” ออกจากเทีเบ�ล employeeDelete from employeeWhere ename = “Wilai”;
การเร ย่กดข้�อมลการเร ย่กดข้�อมลจากตารางสามารถที�าได�หลาย่รปแบบที�+งที �ม เง!�อนไข้หร!อไม�ม เง!�อนไข้ หร!อแม�แต�ดข้�อมลจากหลาย่ตาราง โดย่คำ�าส��งที �ใช้�ในการเร ย่กดข้�อมล คำ!อ คำ�าส��ง SELECT
การเร ย่กดข้�อมลที�+งตาราง
รปแบบ
SELECT *FROM <table name>;
การเร ย่กดข้�อมลที�+งตาราง จะใช้�เคำร!�องหมาย่ * เพิ่!�อแทีนการเร ย่กดจากที(กคำอล�มน.ข้องตารางหน'�ง ๆ
ต�วอย่�าง ให�เร ย่กดข้�อมลที�+งหมดข้องตาราง EMPLOYEE
• คำ�าส��งที �ใช้�คำ!อSELECT *FROM Employee;
ผลล�พิ่ธ์.ที �ได�คำ!อ ข้�อมลที�+งหมดข้องตาราง
Employee
การเร ย่กดข้�อมลเพิ่ ย่งบางคำอล�มน.
รปแบบ
SELECT <column 1, column 2, ….>FROM <table name>;
การเร ย่กดข้�อมลเพิ่ ย่งบางคำอล�มน. จ�าเป*นต�องระบ(ช้!�อคำอล�มน.ให�ถกต�องตามที �ระบ(ไว�ในโคำรงสร�าง หากเร ย่กดมากกว�าหน'�งคำอล�มน. จะต�องม เคำร!�องหมาย่ , คำ��นระหว�างคำอล�มน.
SELECT Empnum, Emname, SalaryFROM Employee;
ต�วอย่�างที � 1 ให�เร ย่กดข้�อมลรห�สพิ่น�กงาน ช้!�อ และเง�นเด!อนข้องพิ่น�กงาน
ต�วอย่�างที � 2 ให�เร ย่กดข้�อมล ช้!�อ ว�นที �เร��มงาน และเง�นเด!อนข้องพิ่น�กงานคำ�าส��งที �ใช้�คำ!อ
SELECT Ename, Salary,PositionFROM Employee;
ผลล�พิ่ธ์.ที �ได�คำ!อ
Ename Salary Position
Anucha 40000 Officer
การเร ย่กดโดย่ไม�ให�แสดงข้�อมลซ้ำ�+าก�น
รปแบบ
เม!�อต�องการดข้�อมลจากตารางโดย่ไม�ให�แสดงข้�อมลที �ซ้ำ�+าซ้ำ�อนออกมา จะใช้�คำ�าว�า DISTINCT ก�าก�บ หล�งคำ�าว�า SELECT
SELECT DISTINCT<column Name>FROM <table name>;
SELECT DISTINCT Depno, PositionFROM Employee;
ต�วอย่�างที � 1 ให�เร ย่กดข้�อมลรห�สแผนก และต�าแหน�งงานข้องพิ่น�กงานที �ไม�ซ้ำ�+าก�น
คำ�าส��งที �ใช้�คำ!อ
น�พิ่จน.ทีางคำณิ�ตศาสตร.
เคำร!�องหมาย่ คำวามหมาย่+ บวก- ลบ* คำณิ/ หาร
SELECT Empname, Salary*12FROM Employee;
ต�วอย่�างที � 1 ต�องการดข้�อมลเง�นเด!อนต�อป5ข้องพิ่น�กงาน
คำ�าส��งที �ใช้�คำ!อ
SELECT Eid, Ename, (Salary*1.1)*12 As New SalaryFROM Employee;
ต�วอย่�างที � 2 ต�องการดข้�อมลรห�สพิ่น�กงาน ช้!�อ เง�นเด!อนใหม�ต�อป5 โดย่ที �เง�นเด!อนใหม�ข้องพิ่น�กงานที(กคำน จะปร�บข้'+นเง�นเด!อนจากเด�มอ กคำนละ 10 %
คำ�าส��งที �ใช้�คำ!อ
Select e eid, Ename, (Salary+(salary*.10))*12 As New salaryFrom Employee;
การเร ย่กดโดย่การจ�ดเร ย่งข้�อมล
ข้�อมลที �ถกเร ย่กจะจ�ดเร ย่งตามคำอล�มน.ที �ต�องการ เช้�น ให�เร ย่งช้!�อตามต�วอ�กษัร หร!อให�เร ย่งข้�อมลตามเง�นเด!อน เป*นต�น รป
แบบ
SELECT <column 1, ….> FROM <table name>
ORDER BY <column ..>[[ASC][DESC]];
ORDER BY คำ!อการส��งให�จ�ดเร ย่งผลล�พิ่ธ์.ตามคำอล�มน.ที �ระบ(ต�อที�าย่ ORDER BY
เร ย่งจากมากมาน�อย่ให�ระบ(คำ�าว�า DESCแต�ถ�าเร ย่งน�อย่ไปหามาก ไม�จ�าเป*นต�องระบ( ASC
SELECT Empname, Position, HiredateFROM EmployeeORDER BY Hiredate DESC;
ต�วอย่�างที � 1 ให�แสดงช้!�อ ต�าแหน�ง และว�นที �เร��มที�างาน โดย่ให�เร ย่งตาม
ว�นที �เร��มที�างานคำร�+งล�าส(ด
คำ�าส��งที �ใช้�คำ!อ
SELECT Empname, SalaryFROM EmployeeORDER BY Salary;
ต�วอย่�างที � 2 ให�แสดงช้!�อ แสดงเง�นเด!อน ข้องพิ่น�กงานโดย่เร ย่งจาก
เง�นเด!อนน�อย่ไปหามาก
คำ�าส��งที �ใช้�คำ!อ
การสอบถามูข�อมูลแบบมู เง��อนไขSelect …….where
รปแบบ Select <Column Name> From <Table Name> Where <condition>;
ต�วด�าเน�นการเช้�งเปร ย่บเที ย่บComparison Operators
เคำร!�องหมาย่ที �ใช้�เปร ย่บเที ย่บ
คำวามหมาย่
= เที�าก�บ> มากกว�า< น�อย่กว�า
>= มากกว�าหร!อเที�าก�บ<= น�อย่กว�าหร!อเที�าก�บ<> ไม�เที�าก�บ
• ต�วอย่�าง แสดงข้�อมลที�+งหมดข้องลกคำ�าเฉพิ่าะที �อาศ�ย่อย่�ใน “Bangkok”
CustomerCidCnameAddressTelephoneCredit_limCurr_bal
Select * From customer where address = “Bangkok”;
การเล!อกข้�อมลโดย่ระบ(หลาย่เง!�อนไข้
• การสอบถามข้�อมลจากการเช้!�อมเง!�อนไข้หลาย่เง!�อนไข้ด�วย่ AND
• ต�วอย่�าง แสดงข้�อมลลกคำ�าที �อาศ�ย่อย่�ใน “Bangkok” และม วงเง�นมากกว�า 500,000 บาที
Select cid,cname,address, credit_limFrom customerWhere address= “Bangkok” and credit_lim>500000 ;
การเล!อกข้�อมลโดย่ระบ(หลาย่เง!�อนไข้
• การสอบถามข้�อมลจากการเช้!�อมเง!�อนไข้หลาย่เง!�อนไข้ด�วย่ OR
• ต�วอย่�าง แสดงข้�อมลลกคำ�าที �อาศ�ย่อย่�ใน “Bangkok” หร!อ ม วงเง�นมากกว�า 500,000 บาที
Select cid,cname,address, credit_limFrom customerWhere address= “Bangkok” OR credit_lim>500000 ;
การสอบถามข้�อมลด�วย่การใช้� Not ก�บเง!�อนไข้
• ต�วอย่�าง แสดงข้�อมลลกคำ�าที �ไม�ได�อย่�ใน “Bangkok” Select cname, address from customer where address <> “Bangkok”;
Select cname, address from customer where not address = “Bangkok”;
• Select <column name>• From <Table name>• Where <colimn name> [NOT] in <data set>;
เล!อกข้�อมลที �ตรงตามช้(ดข้�อมลด�วย่ IN
• ต�วอย่�าง แสดงข้�อมลลกคำ�าที �อย่�ใน “Bangkok”, “Rayong”, “TRAT”
เล!อกข้�อมลที �ตรงตามช้(ดข้�อมลด�วย่ IN , NOT IN
Select cname, address from customer where address in (“Bangkok”, “Rayong”, “TRAT”);
• ต�วอย่�าง แสดงข้�อมลลกคำ�าที �ไม�ได�อย่�ใน “Bangkok”, “Rayong”, “TRAT”
Select cname, address from customer where address not in (“Bangkok”, “Rayong”, “TRAT”);
เล!อกข้�อมลที �ตรงตามช้(ดข้�อมลด�วย่ between…And…..
• Select <column name>• From <Table name>• Where <colimn name> [NOT] Between
<value-1> and <value-2>;
• ต�วอย่�าง แสดงข้�อมลพิ่น�กงานที �ม เง�นเด!อนระหว�าง 10000 – 50000 บาที
Select ename, salary from employee where salary between 10000 and 50000;
เล!อกข้�อมลที �ตรงตามช้(ดข้�อมลด�วย่ between…And…..
เล!อกข้�อมลที �ตรงตามช้(ดข้�อมลด�วย่ Like
• ต�วอย่�าง แสดงข้�อมลพิ่น�กงานที �ม ช้!�อข้'+นต�นด�วย่ “S”
Select ename, salary from employee where ename like “s*”;
แบบฝึ8กห�ด1 .ให�แสดงข้�อมล ช้!�อ เง�นเด!อน และต�าแหน�งข้องพิ่น�กงาน2 .ให�แสดงช้!�อแผนก และสถานที �ข้องแผนก โดย่เร ย่งตามช้!�อ
แผนก3 .ให�แสดงข้�อมลราย่ละเอ ย่ดที�+งหมดข้องตาราง Customer4 .แสดงข้�อมลพิ่น�กงานที �ม เง�นเด!อนมากกว�า 40,000 บาที5 .แสดงข้�อมลลกคำ�าเฉพิ่าะที �อย่�จ�งหว�ดเช้ ย่งใหม�และ ม ย่อดคำง
เหล!อเที�าก�บศนย่.บาที6 .แสดงช้!�อลกคำ�าที �ช้!�อข้'+นต�นด�วย่ “P”7 .แสดงข้�อมลลกคำ�าเฉพิ่าะที �ม ย่อดวงเง�นส�นเช้!�อต�+งแต� 200,000
บาที โดย่เร ย่งล�าด�บตามวงเง�นส�นเช้!�อจากน�อย่ไปมาก