PHP
|
ASP
|
VB
|
Java
|
SQL
|
Java Script
|
สร้างตาราง ใน Sql
CREATE TABLE(สร้างตาราง)
Syntax
CREATE TABLE "table_name"
("column 1" "data_type_for_column_1",
"column 2" "data_type_for_column_2",
... )
("column 1" "data_type_for_column_1",
"column 2" "data_type_for_column_2",
... )
ตัวอย่าง
CREATE TABLE customer
(First_Name char(50),
Last_Name char(50),
Address char(50),
City char(50),
Country char(25),
Birth_Date date)
(First_Name char(50),
Last_Name char(50),
Address char(50),
City char(50),
Country char(25),
Birth_Date date)
INSERT INTO
รูปแบบการใช้คำสั่ง
INSERT INTO Table1
VALUES (value1, value2, value3)
VALUES (value1, value2, value3)
หมายเหตุ การเพิ่มข้อมูล แบบนี้ ต้องรู้ คอลัมน์ ที่แน่นอน เพื่อที่จะเพิ่ม ค่า ได้ถูกต้องตามคอลัมน์
หรือ
INSERT INTO Table (Column1, Column2, Column3)
VALUES (Value1, Value2, Value3)
VALUES (Value1, Value2, Value3)
อธิบาย
เพิ่ม ค่า Value1 ไว้ที่ Column1
เพิ่ม ค่า Value2 ไว้ที่ Column2
เพิ่ม ค่า Value3 ไว้ที่ Column3
ของ ตาราง Table
เพิ่ม ค่า Value1 ไว้ที่ Column1
เพิ่ม ค่า Value2 ไว้ที่ Column2
เพิ่ม ค่า Value3 ไว้ที่ Column3
ของ ตาราง Table
ตัวอย่าง
ตาราง T_Customer
Cus_ID | Cus_Name | Cus_LastName | Cus_tel | Cus_Address | Cus_Type |
1 | Dodi | nana | 2000000 | 123 Bangkok | vip |
2 | manee | mana | 3123456 | 44 Bangkok | General |
3 | piti | chujai | 4123456 | 55 Nan | General |
4 | Software | siam | 8000000 | 66 Chiang Mai | General |
คำสั่ง
Insert into T_Customer
Values(5,'Teeradat','wong','0141000','phetburi','vip')
Values(5,'Teeradat','wong','0141000','phetburi','vip')
ผลลัพธ์
Cus_ID | Cus_Name | Cus_LastName | Cus_tel | Cus_Address | Cus_Type |
1 | Dodi | nana | 2000000 | 123 Bangkok | vip |
2 | manee | mana | 3123456 | 44 Bangkok | General |
3 | piti | chujai | 4123456 | 55 Nan | General |
4 | Software | siam | 8000000 | 66 Chiang Mai | General |
5 | Teeradat | wong | 141000 | phetburi | vip |
หมายเหตุ หากคุณตั้ง PK คือ Cus_ID ให้ Identity เป็นแบบ เพิ่ม อัตโนมัติ จะทำให้เพิ่มข้อมูลไม่ได้ ให้ลบ ค่าของ Cus_ID ออก คือValues(5,'Teeradat','wong','0141000','phetburi','vip') เป็น Values('Teeradat','wong','0141000','phetburi','vip')
ต่อไปเป็นการเพิ่ม แบบ กำหนด คอลัมน์
INSERT INTO Table (Column1, Column2, Column3)
VALUES (Value1, Value2, Value3)
VALUES (Value1, Value2, Value3)
ตัวอย่าง
Cus_ID | Cus_Name | Cus_LastName | Cus_tel | Cus_Address | Cus_Type |
1 | Dodi | nana | 2000000 | 123 Bangkok | vip |
2 | manee | mana | 3123456 | 44 Bangkok | General |
3 | piti | chujai | 4123456 | 55 Nan | General |
4 | Software | siam | 8000000 | 66 Chiang Mai | General |
5 | Teeradat | wong | 141000 | phetburi | vip |
คำสั่ง
Insert into T_Customer (Cus_ID,Cus_Name,Cus_LastName,Cus_tel,Cus_Address,Cus_Type)
Values(6,'Ada','Chara','0900000','Nakhon Ratchasima','General')
Values(6,'Ada','Chara','0900000','Nakhon Ratchasima','General')
ผลลัพธ์
Cus_ID | Cus_Name | Cus_LastName | Cus_tel | Cus_Address | Cus_Type |
1 | Dodi | nana | 2000000 | 123 Bangkok | vip |
2 | manee | mana | 3123456 | 44 Bangkok | General |
3 | piti | chujai | 4123456 | 55 Nan | General |
4 | Software | siam | 8000000 | 66 Chiang Mai | General |
5 | Teeradat | wong | 141000 | phetburi | vip |
6 | Ada | Chara | 900000 | Nakhon Ratchasima | General |
หมายเหตุ ถ้าขึ้น Cannot insert explicit value for identity column in table 'T_Customer' when IDENTITY_INSERT is set to OFF. ก็คือมีการ เซ็ต Cus_ID ซึ่งเป็น PK ให้ IDENTITY เป็น Auto ไม่สามารถเพิ่ม ข้อมูลที่คอลัมน์ นี้ได้
ให้เปลียนโค๊ด
Insert into T_Customer (Cus_ID,Cus_Name,Cus_LastName,Cus_tel,Cus_Address,Cus_Type)
Values(6,'Ada','Chara','0900000','Nakhon Ratchasima','General')
Values(6,'Ada','Chara','0900000','Nakhon Ratchasima','General')
เป็น
Insert into T_Customer (Cus_Name,Cus_LastName,Cus_tel,Cus_Address,Cus_Type)
Values('Ada','Chara','0900000','Nakhon Ratchasima','General')
Values('Ada','Chara','0900000','Nakhon Ratchasima','General')
CREATE DATABASE ( การสร้าง ดาต้าเบส )
SQL CREATE DATABASE Syntax
CREATE DATABASE DatabaseName
ตัวอย่าง สร้างดาต้าเบสชื่อ ss_db
ใช้คำสั่ง CREATE DATABASE ss_db
SQL Joins
เป็นการเรียกข้อมูลมาแสดง ตั้งแต่ 2 ตารางขึ้นไป ซึ่งจะใช้ความสัมพันธ์ระหว่างคอลัมน์ในตาราง เชื่อมโยงเข้ากับข้อมูลหลัก ซึ่งจะใช้ กับตารางตั้งแต่ 2 ตารางขึ้นไป
เช่น
ตาราง T_Customer
Cus_ID | Cus_Name | Cus_LastName | Cus_tel | Cus_Address | Cus_Type | Age |
1 | Dodi | nana | 2000000 | 123 Bangkok | vip | 25 |
2 | manee | mana | 3123456 | 44 Bangkok | General | 16 |
3 | piti | chujai | 4123456 | 55 Nan | General | 35 |
4 | Software | siam | 8000000 | 66 Chiang Mai | General | 26 |
5 | Teeradat | wong | 141000 | phetburi | vip | 16 |
6 | Ada | Chara | 900000 | Nakhon Ratchasima | General | 43 |
ตาราง T_Order
OrderID | Cus_ID | ProductName | Price |
1 | 1 | Notebook | 20000 |
2 | 1 | pen | 300 |
3 | 2 | Computer | 15000 |
4 | 4 | Harddisk | 2500 |
5 | 4 | Ram | 1500 |
จะเห็นว่า ที่ตารางของ T_Customer จะ มี Cus_ID เป็น Primary Key แต่เมื่อนำมาเชื่อมเข้าที่ตาราง T_Order ก็จะกลายเป็นForeign Key ที่สามารถระบุข้อมูลการสั่งซื้อเป็นของ ผู้ใช้คนไหน ซึ่งสามารถนำไปใช้ในตารางอื่น ๆ ด้วยก็ได้
ประเภทของ Join
การใช้ LEFT JOIN
เป็นการนำ ตารางตั้งแต่ 2 ตารางขึ้นไป มารวมกัน เพื่อระบุเงื่อนไข หรือ เรียกใช้ข้อมูลร่วมกัน โดยที่ยึด Table1 ( ด้านซ้าย ) เป็นหลัก โดยที่ไม่สนใจ ว่า Table2 ( ด้านขวา ) จะมีข้อมูลของตารางด้านซ้าย
รูปแบบคำสั่ง
SELECT column_name(s)
FROM table_name1
LEFT JOIN table_name2
ON table_name1.column_name=table_name2.column_name
FROM table_name1
LEFT JOIN table_name2
ON table_name1.column_name=table_name2.column_name
ตัวอย่าง
ตาราง T_Customer
Cus_ID | Cus_Name | Cus_LastName | Cus_tel | Cus_Address | Cus_Type | Age |
1 | Dodi | nana | 2000000 | 123 Bangkok | vip | 25 |
2 | manee | mana | 3123456 | 44 Bangkok | General | 16 |
3 | piti | chujai | 4123456 | 55 Nan | General | 35 |
4 | Software | siam | 8000000 | 66 Chiang Mai | General | 26 |
5 | Teeradat | wong | 141000 | phetburi | vip | 16 |
6 | Ada | Chara | 900000 | Nakhon Ratchasima | General | 43 |
ตาราง T_Order
OrderID | Cus_ID | ProductName | Price |
1 | 1 | Notebook | 20000 |
2 | 1 | pen | 300 |
3 | 2 | Computer | 15000 |
4 | 4 | Harddisk | 2500 |
5 | 4 | Ram | 1500 |
คำสั่ง
SELECT T_Customer.Cus_ID, T_Customer.Cus_Name, T_Customer.Cus_LastName,T_Order.ProductName,T_Order.Price
FROM T_Customer
LEFT JOIN T_Order
ON T_Customer.Cus_ID=T_Order.Cus_ID
ORDER BY T_Customer.Cus_Name
FROM T_Customer
LEFT JOIN T_Order
ON T_Customer.Cus_ID=T_Order.Cus_ID
ORDER BY T_Customer.Cus_Name
ผลลัพธ์
Cus_ID | Cus_Name | Cus_LastName | ProductName | Price |
6 | Ada | Chara | NULL | NULL |
1 | Dodi | nana | Notebook | 20000 |
1 | Dodi | nana | pen | 300 |
2 | manee | mana | Computer | 15000 |
3 | piti | chujai | NULL | NULL |
4 | Software | siam | Harddisk | 2500 |
4 | Software | siam | Ram | 1500 |
5 | Teeradat | wong | NULL | NULL |
SQL IN
คำสั่ง IN
ตรวจสอบว่ามีค่าอยู่ในรายการหรือไม่
รูปแบบคำสั่ง
SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1,value2,...)
FROM table_name
WHERE column_name IN (value1,value2,...)
ตัวอย่าง
ตาราง T_Customer
Cus_ID | Cus_Name | Cus_LastName | Cus_tel | Cus_Address | Cus_Type |
1 | Dodi | nana | 2000000 | 123 Bangkok | vip |
2 | manee | mana | 3123456 | 44 Bangkok | General |
3 | piti | chujai | 4123456 | 55 Nan | General |
4 | Software | siam | 8000000 | 66 Chiang Mai | General |
5 | Teeradat | wong | 141000 | phetburi | vip |
6 | Ada | Chara | 900000 | Nakhon Ratchasima | General |
คำสั่ง
SELECT *
FROM T_Customer
WHERE Cus_Name IN ('Dodi','Software')
FROM T_Customer
WHERE Cus_Name IN ('Dodi','Software')
ผลลัธ์
Cus_ID | Cus_Name | Cus_LastName | Cus_tel | Cus_Address | Cus_Type |
1 | Dodi | nana | 2000000 | 123 Bangkok | vip |
4 | Software | siam | 8000000 | 66 Chiang Mai | General |
อธิบาย : ทำการเรียกข้อมูล ในคอลัมน์ Cus_Name ที่มีค่า Dodi และ Software
รวม Syntax ของคำสั่ง SQL
Select Statement
SELECT "column_name" FROM "table_name"
SELECT "column_name" FROM "table_name"
Distinct
SELECT DISTINCT "column_name"
FROM "table_name"
SELECT DISTINCT "column_name"
FROM "table_name"
Where
SELECT "column_name"
FROM "table_name"
WHERE "condition"
SELECT "column_name"
FROM "table_name"
WHERE "condition"
And/Or
SELECT "column_name"
FROM "table_name"
WHERE "simple condition"
{[AND|OR] "simple condition"}+
SELECT "column_name"
FROM "table_name"
WHERE "simple condition"
{[AND|OR] "simple condition"}+
In
SELECT "column_name"
FROM "table_name"
WHERE "column_name" IN ('value1', 'value2', ...)
SELECT "column_name"
FROM "table_name"
WHERE "column_name" IN ('value1', 'value2', ...)
Between
SELECT "column_name"
FROM "table_name"
WHERE "column_name" BETWEEN 'value1' AND 'value2'
SELECT "column_name"
FROM "table_name"
WHERE "column_name" BETWEEN 'value1' AND 'value2'
Like
SELECT "column_name"
FROM "table_name"
WHERE "column_name" LIKE {PATTERN}
SELECT "column_name"
FROM "table_name"
WHERE "column_name" LIKE {PATTERN}
Order By
SELECT "column_name"
FROM "table_name"
[WHERE "condition"]
ORDER BY "column_name" [ASC, DESC]
SELECT "column_name"
FROM "table_name"
[WHERE "condition"]
ORDER BY "column_name" [ASC, DESC]
Count
SELECT COUNT("column_name")
FROM "table_name"
SELECT COUNT("column_name")
FROM "table_name"
Group By
SELECT "column_name1", SUM("column_name2")
FROM "table_name"
GROUP BY "column_name1"
SELECT "column_name1", SUM("column_name2")
FROM "table_name"
GROUP BY "column_name1"
Having
SELECT "column_name1", SUM("column_name2")
FROM "table_name"
GROUP BY "column_name1"
HAVING (arithematic function condition)
SELECT "column_name1", SUM("column_name2")
FROM "table_name"
GROUP BY "column_name1"
HAVING (arithematic function condition)
Create Table Statement
CREATE TABLE "table_name"
("column 1" "data_type_for_column_1",
"column 2" "data_type_for_column_2",
... )
CREATE TABLE "table_name"
("column 1" "data_type_for_column_1",
"column 2" "data_type_for_column_2",
... )
Drop Table Statement
DROP TABLE "table_name"
DROP TABLE "table_name"
Truncate Table Statement
TRUNCATE TABLE "table_name"
TRUNCATE TABLE "table_name"
Insert Into Statement
INSERT INTO "table_name" ("column1", "column2", ...)
VALUES ("value1", "value2", ...)
INSERT INTO "table_name" ("column1", "column2", ...)
VALUES ("value1", "value2", ...)
Update Statement
UPDATE "table_name"
SET "column_1" = [new value]
WHERE {condition}
UPDATE "table_name"
SET "column_1" = [new value]
WHERE {condition}
Delete From Statement
DELETE FROM "table_name"
WHERE {condition}
DELETE FROM "table_name"
WHERE {condition}
ฟังก์ชัน มีทั้งหมด 6 ประเภท ใน Sql
ฟังก์ชัน มีทั้งหมด 6 ประเภท คือ
ฟังก์ชันในการรวม (Aggregate functions)
COUNT, SUM, AVG, MAX, MIN ฯลฯ
ฟังก์ชันวันและเวลา (Date and tune functions)
ADD_MONTHS, LAST_DAY, MONTHS_BETWEEN ฯลฯ
ฟังก์ชันคณิตศาสตร์ (Arithmetic functions)
ABS, EXP, ฟังก์ชันทางตรีโกณ, LN, LOG, MOD, SQRT ฯลฯ
ฟังก์ชันตัวอักขระ (Character functions)
CHR, CONCAT, LOWER, UPPER, REPLACE, SUBSTR ฯลฯ
ฟังก์ชันการแปลง (Converter functions)
TO_CHAR,
ฟังก์ชันอื่นๆ (Miscellaneous functions)
ฟังก์ชันในการรวม (Aggregate functions)
COUNT, SUM, AVG, MAX, MIN ฯลฯ
ฟังก์ชันวันและเวลา (Date and tune functions)
ADD_MONTHS, LAST_DAY, MONTHS_BETWEEN ฯลฯ
ฟังก์ชันคณิตศาสตร์ (Arithmetic functions)
ABS, EXP, ฟังก์ชันทางตรีโกณ, LN, LOG, MOD, SQRT ฯลฯ
ฟังก์ชันตัวอักขระ (Character functions)
CHR, CONCAT, LOWER, UPPER, REPLACE, SUBSTR ฯลฯ
ฟังก์ชันการแปลง (Converter functions)
TO_CHAR,
ฟังก์ชันอื่นๆ (Miscellaneous functions)
โอเปอร์เรเตอร์ สามารถแยกออกเป็น 4 ประเภท
โอเปอร์เรเตอร์ สามารถแยกออกเป็น 4 ประเภท ได้แก่
โอเปอเรเตอร์คณิตศาสตร์ ได้แก่ plus(+), minus(-), divide(/), multiply(*), modula(%)
โอเปอเรเตอร์เปรียบเทียบ จะได้ค่ากลับคืนมา 3 ค่า คือ TRUE, FALSE และ UNKNOW (ในกรณีค่าที่เปรียบเทียบเป็น Null)
โอเปอเรเตอร์อักขระ ได้แก่ LIKE ใช้ร่วมกับ ?%? หรือ ?_?
โอเปอเรเตอร์ตรรกะ ได้แก่ AND, OR, NOT, IN, BETWEEN?AND
โอเปอเรเตอร์คณิตศาสตร์ ได้แก่ plus(+), minus(-), divide(/), multiply(*), modula(%)
โอเปอเรเตอร์เปรียบเทียบ จะได้ค่ากลับคืนมา 3 ค่า คือ TRUE, FALSE และ UNKNOW (ในกรณีค่าที่เปรียบเทียบเป็น Null)
โอเปอเรเตอร์อักขระ ได้แก่ LIKE ใช้ร่วมกับ ?%? หรือ ?_?
โอเปอเรเตอร์ตรรกะ ได้แก่ AND, OR, NOT, IN, BETWEEN?AND
การเรียกค้นข้อมูลอย่างง่าย
SELECT <column1, column2,?>
FROM <table name>
[WHERE <condition>];
FROM <table name>
[WHERE <condition>];
ไม่มีความคิดเห็น:
แสดงความคิดเห็น