คำสั่งSQL
สร้าง Database
สร้าง DATABASE
mysql > create database
<ชื่อdatabase>;
เช่น
create database world;
ที่มา : http://natsusencho.blogspot.com/2012/08/sql-language.html
สร้าง table
สร้าง table
mysql > create table <ชื่อtable>
(<ชื่อข้อมูล> <ชนิดข้อมูล>,
... );
เช่น create
table human (name VARCHAR(20), birth DATE, sex CHAR(1));
ชนิดข้อมูล เช่น
VARCHAR(n) - ข้อมูลชนิด string เก็บแบบ linked list เหมาะสมกับข้อมูลที่มีความยาวที่ไม่แน่นอน
CHAR(n) - ข้อมูลชนิด
string เก็บแบบ array เหมาะสมกับข้อมูลที่มีความยาวที่แน่นอน
INT - จำนวนเต็ม
DATE - ข้อมูลชนิดพิเศษของ
SQL ใช้เก็บวันที่ มีรูปแบบเป็น YYYY-MM-DD
ที่มา : http://natsusencho.blogspot.com/2012/08/sql-language.html
การใส่ข้อมูลลงไปใน table
การใส่ข้อมูลลงไปใน
table
1. ใช้คำสั่ง load data จากไฟล์ที่เราเตรียมไว้ โดย default จะแบ่งเนื้อหาโดยใช้
tab แบบนี้จะมีปัญหาเรื่องการใช้ข้อมูลชนิด NULL ซึ่งใช้ \N แทน
mysql > load data local infile ‘natsu.txt’ into table pet;
2.INSERT ใส่ทีละข้อมูล เหมาะกับข้อมูลที่น้อยๆ ที่เราเพิ่มเติมเข้าไป เช่น
2.INSERT ใส่ทีละข้อมูล เหมาะกับข้อมูลที่น้อยๆ ที่เราเพิ่มเติมเข้าไป เช่น
mysql > INSERT INTO pet VALUES (‘natsusencho’, ‘1992-03-25’,
‘M’);
3. *ทำ SQL script คือเตรียมไฟล์คำสั่ง sql ไว้แล้วนำมาทำการ source ทีเดวเช่น
ส่วนตัวแนะนำวิธีนี้เพราะเราเขียนทั้งหมดทีเดียวไม่ต้องมาใส่ทีละคำสั่ง นึกออกให้เสร็จที่เดียวแล้ว run ทีเดียวทั้งหมด
3. *ทำ SQL script คือเตรียมไฟล์คำสั่ง sql ไว้แล้วนำมาทำการ source ทีเดวเช่น
ส่วนตัวแนะนำวิธีนี้เพราะเราเขียนทั้งหมดทีเดียวไม่ต้องมาใส่ทีละคำสั่ง นึกออกให้เสร็จที่เดียวแล้ว run ทีเดียวทั้งหมด
---- file natsu.sql ----
CREATE TABLE IF NOT EXISTS human (
name VARCHAR(20),
birth DATE,
sex CHAR(1) );
INSERT INTO human VALUES
( 'NatsuSencho', '1992-03-25',
'M'),
( 'Slime', '1999-03-03', NULL ),
( ‘HeyFemale’ , ‘1993-12-25’ , ‘F’);
----- file natsu.sql -----
หลังจากสร้างเสร็จแล้วก้ลองใช้คำสั่ง
mysql > source natsu.sql;
ก็จะได้ตาราง world
หน้าที่มีข้อมูล 3 ตัว
create table IF NOT EXISTS human
คำว่า IF NOT
EXISTS หมายถึงการสร้าง table นี้ถ้ายังไม่มี table
นี้ ถ้ามีแล้วก็ไม่ต้องสร้าง
ที่มา : http://natsusencho.blogspot.com/2012/08/sql-language.html
การลบ table
การลบ table
ใช้คำสั่ง mysql
> DELETE FROM <ชื่อtable>;
ที่มา : http://natsusencho.blogspot.com/2012/08/sql-language.html
การสืบค้นข้อมูลหรือการดูข้อมูล
การสืบค้นข้อมูล หรือการดูข้อมูล
SELECT <สิ่งที่ต้องการ>
FROM <ชื่อtable>
WHERE <เงื่อนไขอื่นๆ>
เช่นต้องการชื่อของข้อมูลในตาราง
human ที่มีมีเพศชาย
SELECT name
FROM human
WHERE sex = ‘M’;
ต้องการดูข้อมูลทั้งหมดในตาราง
human [* คือทั้งหมด]
SELECT *
FROM human;
ซึ่งการกำหนดเงื่อนไขนั้นเราสามารถใช้ตัวแปรทางคณิตศาสตร์ตรรกะ
มาช่วยได้เช่น
AND และ
OR หรือ
OR หรือ
< น้อยกว่า
> มากกว่า
> มากกว่า
<= น้อยกว่าหรือเท่ากับ
>= มากกว่าหรือเท่ากับ
<> ไม่เท่ากับ
UNION การนำ 2 ตารางมาเชื่อมต่อกันตัดตัวซ้ำ
UNION ALL การนำ 2 ตารางมาเชื่อมกันโดยไม่ตัดตัวซ้ำ
INTERSECT ข้อมูลที่ซ้ำกัน
DISTINCT คือการตัดตัวที่ซ้ำกันออก
เช่น SELECT DISTINCT
sex
FROM human;
ที่มา : http://natsusencho.blogspot.com/2012/08/sql-language.html
ORDER BY เรียงลำดับข้อมูล การจัดกลุ่มข้อมูล
ORDER BY เรียงลำดับข้อมูล การจัดกลุ่มข้อมูล
เรียงลำดับจากมากไปน้อย
(descending order)
เช่น SELECT *
FROM human
ORDER BY name;
เรียงลำดับจากน้อยไปมาก
(descending order)
เช่น SELECT *
FROM human
ORDER BY name DESC;
ถ้าต้องการมากกว่าอันนึงก็ย่อมได้
เช่น SELECT *
FROM human
ORDER BY name , sex DESC ;
แบบนี้จะจัดตามชื่อแบบ
ascending ก่อนแล้วจะมาจัดเพศแบบ descending
ทีหลัง
ที่มา : http://natsusencho.blogspot.com/2012/08/sql-language.html
การคำนวณเกี่ยวกับวันที่
การคำนวณเกี่ยวกับวันที่
ตัวแปร DATE เป็น string ที่มีการเก็บเป็นรูปแบบ YYYY-MM-DD
ตัวแปรชนิด DATE สามารถนำมาเทียบค่ากันได้ในระดับ
ASCII
CURDATE() จะเป็น function
ที่ส่งค่าออกมาเป็นข้อมูลรูปแบบ DATE (YYYY-MM-DD)
YEAR(<ข้อมูลชนิดdate>)
ส่งค่าออกมาเป็นข้อมูลรูปแบบของปี (YYYY)
MONTH(<ข้อมูลชนิดdate>)
ส่งค่าออกมาเป็นข้อมูลรูปแบบของเดือน (MM)
DAY(<ข้อมูลชนิดdate>)
ส่งค่าออกมาเป็นข้อมูลรูปแบบของวัน (DD)
RIGHT(<ข้อมูลชนิดstring>,
<จำนวนตัวเลข>) ส่งค่าออกมาจำนวนเท่ากับที่เราต้องการตัดออกมาจาก
string นั้นๆ โดยเริ่มนับจากทางขวา
LEFT(<ข้อมูลชนิดstring>,
<จำนวนตัวเลข>) ส่งค่าออกมาจำนวนเท่ากับที่เราต้องการตัดออกมาจาก
string นั้นๆ โดยเริ่มนับจากทางซ้าย
ตัวอย่าง
ex1. ต้องการปีของวันปัจจุบัน YEAR( CURDATE() )
ex2. ต้องการเดือนและวันของปัจจุบัน
RIGHT( CURDATE(),5 )
[5 ในที่นี้คือนับจากทางขวามือมา YYYY-MM-DD
ก็จะได้ MM-DD มา]
ที่มา : http://natsusencho.blogspot.com/2012/08/sql-language.html
การใช้ตัวแปร NULL ในเงื่อนไข
การใช้ตัวแปร NULL ในเงื่อนไข
ใช้คำสั่ง xxx
IS NOT NULL เช่นต้องการดูสิ่งมีชีิวิตที่ไม่มีเพศ
SELECT *
FROM human
WHERE sex IS NOT NULL;
ที่มา : http://natsusencho.blogspot.com/2012/08/sql-language.html
การตั้งชื่อ
การตั้งชื่อเป็นชื่อที่เราต้องการ
หมายถึงเวลา select
บางทีคนทั่วไปอาจจะไม่เข้าใจว่าคืออะไร เราจึงมีคำสั่ง AS ช่วย เช่น
SELECT name AS ‘NAME-SURNAME’
FROM human;
ที่มา : http://natsusencho.blogspot.com/2012/08/sql-language.html
COUNT การนับจำนวน + GROUP BY การจัดกลุ่ม
COUNT การนับจำนวน + GROUP BY การจัดกลุ่ม
COUNT ใช้ในการนับจำนวนของตารางต่างๆ จะใช้คู่กับ GROUP
BY ได้ดีเพราะจะช่วยในการจัดกลุ่มชุดข้อมูลได้ดีขึ้น
SELECT <อื่นๆ> COUNT(*)
FROM <ชื่อtable>
WHERE <เงื่อนไข>
GROUP BY <จัดกลุ่มโดยใช้อะไร>
เช่นต้องการนับจำนวนคนในแต่ละเพศ
SELECT sex , COUNT(*)
FROM human
GROUP BY sex;
SET การกำหนดตัวแปร
SET @<ชื่อตัวแปร> = <ค่า>
เช่น
SET @A1 = ‘Natsu Sencho’;
SET @A2 = ‘1999-09-09’;
ที่มา : http://natsusencho.blogspot.com/2012/08/sql-language.html
ไม่มีความคิดเห็น:
แสดงความคิดเห็น