วันจันทร์ที่ 1 ธันวาคม พ.ศ. 2557

SQL ภาษาที่ใช้ในการเขียนโปรแกรมเพื่อจัดการกับฐานข้อมูลโดย

SQL คืออะไร
     SQL ย่อมาจาก structured query language คือภาษาที่ใช้ในการเขียนโปรแกรม เพื่อจัดการกับฐานข้อมูลโดยเฉพาะ เป็นภาษามาตราฐานบนระบบฐานข้อมูลเชิงสัมพันธ์และเป็นระบบเปิด (open system) หมายถึงเราสามารถใช้คำสั่ง sql กับฐานข้อมูลชนิดใดก็ได้ และ คำสั่งงานเดียวกันเมื่อสั่งงานผ่าน  ระบบฐานข้อมูลที่แตกต่างกันจะได้ ผลลัพธ์เหมือนกัน ทำให้เราสามารถเลือกใช้ฐานข้อมูล ชนิดใดก็ได้โดยไม่ติดยึดกับฐานข้อมูลใดฐานข้อมูลหนึ่ง นอกจากนี้แล้ว SQL ยังเป็นชื่อโปรแกรมฐานข้อมูล ซึ่งโปรแกรม SQL เป็นโปรแกรมฐานข้อมูลที่มีโครงสร้างของภาษาที่เข้าใจง่าย ไม่ซับซ้อน มีประสิทธิภาพการทำงานสูง สามารถทำงานที่ซับซ้อนได้โดยใช้คำสั่งเพียงไม่กี่คำสั่ง โปรแกรม SQL จึงเหมาะที่จะใช้กับระบบฐานข้อมูลเชิงสัมพันธ์ และเป็นภาษาหนึ่ง ซึ่งแบ่งการทำงานได้เป็น 4 ประเภท ดังนี้
1. Select query ใช้สำหรับดึงข้อมูลที่ต้องการ
2. Update query ใช้สำหรับแก้ไขข้อมูล
3. Insert query ใช้สำหรับการเพิ่มข้อมูล
4. Delete query ใช้สำหรับลบข้อมูลออกไป
     ปัจจุบันมีซอฟต์แวร์ระบบจัดการฐานข้อมูล (DBMS ) ที่สนับสนุนการใช้คำสั่ง SQL เช่น  Oracle , DB2, MS-SQL, MS-Access 
นอกจากนี้ภาษา SQL ถูกนำมาใช้เขียนร่วมกับโปรแกรมภาษาต่างๆ เช่น ภาษา c/C++ , VisualBasic และ Java 

ประโยชน์ของภาษา SQL
1. สร้างฐานข้อมูลและ ตาราง    
2. สนับสนุนการจัดการฐานข้อมูล ซึ่งประกอบด้วย การเพิ่ม การปรับปรุง และการลบข้อมูล
3. สนับสนุนการเรียกใช้หรือ ค้นหาข้อมูล    
    
ประเภทของคำสั่งภาษา SQL
1. ภาษานิยามข้อมูล(Data Definition Language : DDL) เป็นคำสั่งที่ใช้ในการสร้างฐานข้อมูล กำหนดโครงสร้างข้อมูลว่ามี  Attribute ใด
 ชนิดของข้อมูล รวมทั้งการเปลี่ยนแปลงตาราง และการสร้างดัชนี คำสั่ง : CREATE,DROP,ALTER
2. ภาษาจัดการข้อมูล (Data Manipulation Language :DML) เป็นคำสั่งที่ใช้ในการเรียกใช้ เพิ่ม ลบ และเปลี่ยนแปลงข้อมูลในตาราง    คำสั่ง : SELECT,INSERT,UPDATE,DELETE
3. ภาษาควบคุมข้อมูล (Data Control Language : DCL) เป็นคำสั่งที่ใช้ในการกำหนดสิทธิการอนุญาติ หรือ ยกเลิก การเข้าถึงฐานข้อมูล เพื่อป้องกันความปลอดภัยของฐานข้อมูล คำสั่ง : GRANT,REVOKE


ตัวอย่าง

MYSQL CONCAT()
เป็นคำสั่งของ MySQL ใช้ในการนำ String มารวมกันหรือต่อกัน


Database : MySQL

Syntax

CONCAT(str1,str2,...)


Sample

SELECT CONCAT('My', 'S', 'QL');
-> MySQL

SELECT CONCAT('My', NULL, 'QL');
-> NULL

SELECT CONCAT(14.3);
-> 14.3



SQL LEN
เป็นคำสั่งที่ใช้สำหรับการระบุเงื่อนไขการเลือกข้อมูลในตาราง (Table) โดยทำการนับจำนวนตัวอักษร

Database : MySQL,Microsoft Access,SQL Server,Oracle

Syntax

SELECT LEN(ColumnName) FROM table_name


Table : customer
CustomerID
Name
Email
CountryCode
Budget
Used
C001
Win Weerachaiwin.weerachai@thaicreate.com
TH
1000000600000
C002
John Smithjohn.smith@thaicreate.com
EN
2000000800000
C003
Jame Bornjame.born@thaicreate.com
US
3000000600000
C004
Chalee Angelchalee.angel@thaicreate.com
US
4000000100000


Sample1 เลือกข้อมูล Column ชื่อ Name โดยทำการนับจำนวนตัวอักษร

SELECT Name, LEN(Name) As LenName FROM customer

Output 

Name
LenName
win weerachai
13
john smith
10
jame born
9
chalee angel
12

SQL AUTO_INCREMENT For MySQL
เป็นคำสั่งที่ใช้สำหรับการสร้าง Auto Number หรือตัวเลขรันอัตโนมัติ,

Database : MySQL

Syntax
CREATE TABLE "TableName" 
(
ColumnName1 DataType AUTO_INCREMENT,
ColumnName2 DataType ,
ColumnName3 DataType ,
ColumnName4 DataType ,
...
PRIMARY KEY (ColumnName1)
)

หรือในกรณี ALTER

ALTER TABLE "TabmeName" CHANGE ColumnName1 ColumnName1 DataType AUTO_INCREMENT

Sample 1 ต้องการสร้างตารางชื่อ audit ประกอบด้วย Column ชื่อ AuditID , CustomerID , Date , Used มี AuditID เป็น AUTO_INCREMENT 

CREATE TABLE audit (
AuditID int(4) NOT NULL auto_increment,
CustomerID varchar(4) NOT NULL,
Date date NOT NULL,
Used double NOT NULL,
PRIMARY KEY (AuditID)
);

โดยค่าจะเริ่มต้นเป็น 1,2,3,4,5,6 .... แต่ถ้าต้องการให้มี 0 ข้างหน่้าเช่น 0001,0002,0003 สามารถใส่ Attributes ชื่อ UNSIGNED ZEROFILL

ALTER TABLE audit CHANGE AuditID AuditID INT( 4 ) UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT


SQL UNIQUE
เป็นคำสั่งที่ใช้สำหรับการสร้าง UNIQUE ต้องการให้ฟิวด์หรือ Column นั้น ๆ มีค่าไม่ซ้ำกันของ Rows ทั้งหมด

Database : MySQL,Microsoft Access,SQL Server,Oracle

Syntax
CREATE TABLE "TableName" 
(
ColumnName1 DataType ,
ColumnName2 DataType ,
ColumnName3 DataType ,
ColumnName4 DataType ,
...
UNIQUE (ColumnName1,ColumnName2...)
)

หรือในกรณี ALTER

ALTER TABLE "TabmeName" ADD UNIQUE (Column1,Column2)

Table : customer

CustomerID
Name
Email
CountryCode
Budget
Used
C001
Win Weerachaiwin.weerachai@thaicreate.com
TH
1000000600000
C002
John Smithjohn.smith@thaicreate.com
EN
2000000800000
C003
Jame Bornjame.born@thaicreate.com
US
3000000600000
C004
Chalee Angelchalee.angel@thaicreate.com
US
4000000100000

Sample 1 ต้องการทำ UNIQUE ของ Table customer สำหรับ Column ชื่อ Email (กรณีแก้ไข Table) 

ALTER TABLE customer ADD UNIQUE (Email)


Output 

CustomerID
Name
Email
CountryCode
Budget
Used
C001
Win Weerachaiwin.weerachai@thaicreate.com
TH
1000000600000
C002
John Smithjohn.smith@thaicreate.com
EN
2000000800000
C003
Jame Bornjame.smith@thaicreate.com
EN
3000000600000
C004
Chalee Angelchalee.angel@thaicreate.com
US
4000000100000


เมื่อทำ UNIQUE แล้ว Column Email จะไม่สามารถมีค่าซ้ำกันของ Rows ทั้งหมด 


SQL LIKE 
เป็นคำสั่งที่ใช้สำหรับการระบุเงื่อนไขการเลือกข้อมูลในตาราง (Table) โดยทำการค้นหาข้อความที่ระบุภายในฟิวด์ที่กำหนด

Database : MySQL,Microsoft Access,SQL Server,Oracle

Syntax

SELECT Column1,Column2,Column3,... FROM [Table-Name] WHERE [Filed] LIKE '%Value%'


Table : customer
CustomerID
Name
Email
CountryCode
Budget
Used
C001
Win Weerachaiwin.weerachai@thaicreate.com
TH
1000000600000
C002
John Smithjohn.smith@thaicreate.com
EN
2000000800000
C003
Jame Bornjame.born@thaicreate.com
US
3000000600000
C004
Chalee Angelchalee.angel@thaicreate.com
US
4000000100000


Sample1 การเลือกข้อมูลตารางที่ฟิวด์ Name มีคำว่า ee อยู่ 

SELECT * FROM customer WHERE Name LIKE '%ee%'

Output 

CustomerID
Name
Email
CountryCode
Budget
Used
C001
Win Weerachaiwin.weerachai@thaicreate.com
TH
1000000600000
C004
Chalee Angelchalee.angel@thaicreate.com
US
4000000100000


Sample2 การเลือกข้อมูลตารางที่ฟิวด์ Email มีคำว่า j นำหน้า 

SELECT * FROM customer WHERE Name LIKE 'j%'

Output 

CustomerID
Name
Email
CountryCode
Budget
Used
C002
John Smithjohn.smith@thaicreate.com
EN
2000000800000
C003
Jame Bornjame.smith@thaicreate.com
US
3000000600000


Sample3 การเลือกข้อมูลตารางที่ฟิวด์ Name มีคำว่า i ลงท้าย

SELECT * FROM customer WHERE Name LIKE '%i'

Output 

CustomerID
Name
Email
CountryCode
Budget
Used
C001
Win Weerachaiwin.weerachai@thaicreate.com
TH
1000000600000


การใช้งาน LIKE ที่หลายเงื่อนไข หรือ OR ใน Statement สามารถใช้ [x,y] ได้

เช่น

SELECT * FROM customer WHERE Name LIKE '%[John,jame]%'



SQL LIMIT 
เป็นคำสั่งที่ใช้สำหรับการระบุเงื่อนไขการเลือกข้อมูลในตาราง (Table) ที่สามารถกำหนดจำนวน Record ที่แสดงผลออกมาได้

Database : MySQL 

Syntax

SELECT Column1, Column2, Column3,... FROM [Table-Name] ORDER BY [Fields] [ASC/DESC] LIMIT [Int-Start] , [Int-End]


Table : customer
CustomerID
Name
Email
CountryCode
Budget
Used
C001
Win Weerachaiwin.weerachai@thaicreate.com
TH
1000000600000
C002
John Smithjohn.smith@thaicreate.com
EN
2000000800000
C003
Jame Bornjame.born@thaicreate.com
US
3000000600000
C004
Chalee Angelchalee.angel@thaicreate.com
US
4000000100000


Sample1 การเลือกข้อมูลที่มีการใช้ยอดเงินมากที่สุดจำนวน 2 Record 

SELECT * FROM customer ORDER BY Used DESC LIMIT 0,2

Output 

CustomerID
Name
Email
CountryCode
Budget
Used
C002
John Smithjohn.smith@thaicreate.com
EN
2000000800000
C001
Win Weerachaiwin.weerachai@thaicreate.com
TH
1000000600000



MYSQL REPEAT()
เป็นคำสั่งของ MySQL ใช้ในการแทนที่แสดงจำนวนข้อความ ตามจำนวน Loop ที่ต้องการ

Database : MySQL

Syntax

REPEAT(str,count)


Sample

SELECT REPEAT('MySQL', 3);
-> MySQLMySQLMySQL

SELECT REPEAT('ThaiCreate', 5);
-> ThaiCreateThaiCreateThaiCreateThaiCreateThaiCreate


SQL NOW()
เป็นคำสั่งที่ใช้ในอ่านวันที่ปันจุบันของ MySQL Database 

Database : MySQL Database

Syntax

SELECT NOW()
SELECT * FROM table WHERE Column = NOW()
INSERT INTO table (Column1,Column2) VALUES ('Value1',NOW())


SQL USE
เป็นคำสั่งที่ใช้ในการเปลี่ยนหรือเรียกใช้ฐานข้อมูลปัจจุบัน

Database : MySQL , SQL Server 

Syntax

USE DatabaseName



MYSQL CEILING()
เป็นคำสั่งของ MySQL ใช้ในการปัดเศษทศนิยม ให้มีค่ามากขึ้น เช่น 2.01 จะปัดเป็น 3 หรือ 2.5 ก็จะได้เป็นค่า 3

Database : MySQL

Syntax

CEILING(expression)


Sample 1

SELECT CEILING(2.01)

Output 

3


Sample 2

SELECT CEILING(2.5)

Output 

3


สำหรับการใง้งานรวมกับ Column หรือ ฟิวด์ใน MySQL ก็สามารถทำการครอบ Column นั้น ๆ ได้เช่นเดียวกัน 

SELECT Column1, CEILING(Column2) As AliasColumn2 FROM table_name

วันจันทร์ที่ 23 มิถุนายน พ.ศ. 2557

ขนาดภาพและตำแหน่งกล้อง

ECU ( Extreme Close Up) และ BCU ( Big Close Up) 
        ลักษณะภาพทั้ง 2 แบบนี้จะเป็นการถ่ายภาพในระยะใกล้มากๆ ใช้ขับเน้นรายละเอียด หรือใช้เน้นและจับความรู้สึกของตัวละครนั้นให้เด่นออกมา เช่นภาพที่จับแค่ดวงตา หรือ ริมฝีปากตัวละคร



CU (Close Up) 
        ขนาดของวัตถุในภาพจะเล็กกว่า ECU และ BCU มองเห็นใบหน้าทั้งหมดลักษณะการใช้งานคล้ายกับ ECU และ BCU



MCU (Medium Close Up)
        จับภาพตั้งแต่ช่วงอกขึ้นไป เพื่อจะได้เห็นอากัปกิริยาของตัวแสดงได้มากขึ้น





MS (Medium Shot) 
        เป็นการถ่ายตัวแสดงครึ่งตัวจากเอวขึ้นไป ใช้สำหรับถ่ายทอดอากับกิริยาของตัวแสดง โดยที่ไม่มีผลของการเร้าอารมณ์เข้ามาเกี่ยวข้อง



MLS (Medium Long Shot) 
        คล้าย MS โดยที่กล้องจะเก็บภาพไม่เต็มตัว(แต่ก็เกือบจะเต็มตัว) ระยะภาพแบบนี้เริ่มจะกันคนดูออกมาเป็นเพียงผู้สังเกตุการณ์



LS (Long Shot)
       เป็นการถ่ายที่จะเก็บภาพตัวแสดงเต็มตัว พร้อมๆกับสภาพแวดล้อมรอบข้าง


ELS (Extra Long Shot)
       จะเป็นการใช้กล้องเก็บภาพของโลเกชันไว้ได้ทั้งหมด







Cr. http://www.bloggang.com/viewdiary.php?id=pongpongu&month=09-2009&date=13&group=2&gblog=38

http://princezip.blogspot.com/

CAMERA MOVEMENT การเคลื่อนกล้อง

Dolly หรือ Tracking
       เป็นการเคลื่อนกล้องตามวัตถุโดยใช้รางเลื่อน ประโยชน์ของมัน นอกจากจะใช้ตามตัวแสดงแล้วยัง มีผู้กำกับภาพที่มีฝีมือหลายคนใช้มันได้สารพัดประโยชน์


Crane
      เป็นการเอากล้องไปติดไว้กับเครน หรือมี Camera man ขึ้นไปด้วยใช้สำหรับวาง Line กล้องแบบพิศดาร (และแพง) หรือใช้ถ่ายภาพแทนสายตานก (Bird Eyes View) การเคลื่อนกล้องโดยใช้เครน สามารถสร้างความหมายให้เรื่องราวได้หลายแบบ หรือไม่สร้างความหมายเลย(แต่เท่ห์) ก็มี


POV (Point Of View)
       เป็นการถ่ายแบบแทนสายตาตัวแสดง อันนี้ผู้กำกับพยายามจะดึงคนดูให้เข้าร่วมเหตุการณ์อย่างใกล้ชิด


Tilt Up/ Tilt Down
        ในกรณี Tilt Up ส่วนใหญ่จะใช้ในการเปิดเผยอะไรที่ใหญ่โตมาก หรือบางคนใช้ในการเชื่อมShot เมื่อหมดมุข โดยทำที Tilt Up แล้ว Fade เลย Tilt Up จะต้องทำบนขาตั้งกล้องโดยที่กล้องจะถูกหมุนขึ้นในแนวดิ่งจากแนวระดับเป็นมุมเงย และมีหัวยึดกล้องของขาตั้งเป็นจุดหมุน, ส่วน Tilt Down นั้นจะหมุนจากมุมเงยลงมาเป็นแนวระดับ ตรงข้ามกับ Tilt Down


Pan Left/ Pan Right
       แบบนี้เป็นการหมุนกล้องโดยใช้หัวยึดกล้องของขาตั้งเป็นจุดหมุนเหมือนกัน แต่กล้องจะถูกหมุนในแนวระนาบแทน Pan Left คือการหมุนจากขวาไปซ้าย ส่วน Pan Right จะหมุนจากซ้ายไปขวา



Zoom In/ Zoom Out
       เป็นการเป็นทางยาวโฟกัสของเลนส์ขณะถ่าย โดยที่ Zoom In จะทำให้วัตุขยายใหญ่ขึ้น Zoom Out จะทำให้วัตถุเล็กลง หนังฮอลลีวูดทุกวันนี้ไม่ค่อยใช้ ทั้ง 2 แบบนี้ สงสัยกลัวเชยและถูกกล่าวหาว่ามักง่ายขี้เกียจเคลื่อนกล้อง


Hand Held
        เป็นการถือกล้องด้วยมือเปล่าในการถ่ายทำ ถ้านิยมภาพดิบๆก็ไม่ต้องใช้อุปกรณ์เสริมพวก Stedicam (อุปกรณ์ที่ทำให้กล้องสมดุลและลดการสั่นไหวจากการถือ)







Cr.http://www.kmutt.ac.th/organization/Education/Technology/web%20TV/WEBTV/see_movepic.htm

แบบสอบถามประเมินความพึงพอใจที่มีต่อเว็บไซต์