วันอังคารที่ 1 ธันวาคม พ.ศ. 2558

ปัญหาของวัยรุ่น

ไม่มีเพื่อน
         เพื่อนมีความหมายสำหรับวัยรุ่นอย่างยิ่ง ใครที่มีเพื่อนน้อยหรือไม่มีคนคบจะเป็นวัยรุ่นที่มีปมด้อยมากสาเหตุที่ทำให้วัยรุ่นมีปัญหากับเพื่อน มักเกิดจากพื้นฐานไม่ดีมาก่อน เช่น
         1. ปรับตัวยาก เอาแต่ใจ ไม่เข้าใจจิตใจคนอื่น ยึดตัวเองเป็นศูนย์กลางความคิด
         2. ขี้อาย ไม่กล้าแสดงออก กลัวทำผิด กลัวคนอื่นว่า มักจะมีทักษะในด้านต่างๆไม่มาก
         3. เรียนไม่เก่ง
         4. ด้อยโอกาส ขาดคนรัก ขาดคนสนใจ ถูกละทิ้ง หรือถูกทำร้าย ขาดคนดูแลสั่งสอน
         5. มีปัญหาทางอารมณ์ ซึมเศร้า วิตกกังวล
         6. มีปัญหาที่บ้าน พ่อแม่ทะเลาะกันบ่อย หรือเข้ากับคนในบ้านไม่ได้ดี
         7. ขาดทักษะการเข้าสังคม เช่น กีฬา ดนตรี การทำกิจกรรม ไม่เข้าใจจิตใจผู้อื่น เป็นต้น
คบเพื่อนไม่ดี
          เด็กที่มีปัญหาก็มักจะคบคนที่มีปัญหาคล้ายๆกัน เรียนไม่เก่งก็จะมีเพื่อนที่เรียนไม่ค่อยสนใจเรียนหนังสือ กลุ่มตุ๊ดก็จะคบกันอยู่ในกลุ่มเดียวกัน เป็นต้น บางรายชวนกันหนีเรียน เที่ยวเธค เล่นเกม หรือทำผิดกฎหมายก็มี
         วัยรุ่นที่ขาดคนสนใจ ขาดความอบอุ่นก็จะหันไปหาเพื่อนมากขึ้น ติดเพื่อนและไม่เชื่อฟังพ่อแม่ ต่อต้านเพิ่มขึ้นเพราะรู้สึกเป็นที่ยอมรับจากเพื่อนมากกว่าพ่อแม่
         การที่ได้รู้จักเพื่อนลูก จะช่วยทำให้พ่อแม่ได้เข้าใจมุมมองและประเด็นปัญหาของลูกเราได้ ถึงแม้ว่าลักษณะบางอย่างของเพื่อนลูกจะขัดใจ ขัดตาพ่อแม่บ้าง ขอให้อดทนและยอมรับว่าเขาเป็นเพื่อนของลูกเรา คงต้องมีอะไรที่ดีๆบ้าง การสร้างความใกล้ชิดกับกลุ่มเพื่อนลูก ให้โอกาสทำดี ฝึกฝนทำงาน เท่ากับคุณกลายเป็นผู้พัฒนาวัยรุ่นทั้งกลุ่มให้เป็นผู้ใหญ่ที่ดีได้โดยง่าย ถ้าเข้ากับพวกเขาได้ อย่าลืมว่าวัยรุ่นยังต้องการผู้ใหญ่อยู่เหมือนกัน ถ้าทนไม่ไหวจริงๆก็ต้อง
         1. คุยกับลูกว่าเพื่อนคนนี้เป็นคนอย่างไร มีข้อดีข้อเสียตรงไหน เพื่อฝึกให้ลูกหัดแยกแยะ และชักจูงให้พิจารณาให้เห็นข้อเสียของพฤติกรรมของเพื่อน ว่าถ้าคบต่อควรระวังตัวอย่างไร
         2. อย่าด่วนไปแจกแจงความไม่ดีของเพื่อนลูกก่อนเพราะจะทำให้เขารู้สึกว่าคุณไม่ชอบเพื่อนเขา ไม่ควรบอกลูกตรงๆว่าเพื่อนลูกคนนี้ไม่ดี แม่ไม่ชอบ ไม่ให้คบกัน เพราะจะทำให้เกิดการต่อต้าน หรือทำในทิศทางตรงข้าม คือ แอบไปหากัน ยกเว้นว่าคุณให้เวลากับเพื่อนลูกมากพอและลูกคุณก็เห็นปัญหาที่เพื่อนจะทำให้เขาเสียหายเหมือนกัน
         3. ช่วยกันหาทางป้องกันปัญหาและแก้ไขปัญหากับลูก เท่ากับช่วยฝึกให้ลูกเรียนรู้จักคนเพิ่มขึ้น
         4. เป็นที่ปรึกษา เพราะเวลาที่ลูกคบกับเพื่อนคนนี้ก็อาจเกิดปัญหาขึ้นเป็นระยะ รับฟังความรู้สึก ฟังความคิดเห็น ให้วัยรุ่นมีโอกาสคิดแก้ไขหาทางออก มากกว่าจะคิดแทน เพราะวัยรุ่นยังขาดประสบการณ์และความมั่นใจในการแก้ปัญหา การปรับตัวในทางเข้าสังคม
         5. วางขอบเขตในการคบเพื่อนที่พอเหมาะ ถึงแม้ว่าวัยรุ่นต้องการความอิสระก็ตามแต่ต้องอยู่ในความเหมาะสมควบคู่กัน เช่น ไม่ฟุ่มเฟือย ไม่รบกวนการเรียนซึ่งเป็นหน้าที่หลัก ไม่อันตรายต่อจนเองและผู้อื่น อยู่ในกรอบกฎเกณฑ์ทางสังคมและกฎหมาย ไม่รบกวนหรือทำให้ผู้อื่นเดือนร้อน เป็นต้น และถ้าเกินเลย จำเป็นต้องพูดคุยและรักษาขอบเขตให้ชัดเจนเสมอ จะง่ายถ้ามีความสัมพันธ์ที่ดีต่อกัน



ชอบแกล้งน้อง
 การส่งเสริมให้พี่น้องเกื้อกูล เอื้ออาทรต่อกัน เข้าใจและช่วยเหลือซึ่งกันและกัน จะเป็นรากฐานที่ดีในการอยู่ในสังคมปัจจุบัน จากประสบการณ์ที่เคยดูแลเด็กเล็กมาก่อนโดยอาศัยการช่วยชี้แนะจากพ่อแม่ จะช่วยให้พี่มีทักษะในการดูแลเด็ก ระมัดระวังอันตราย คอยปกป้องอันตรายแต่ก็ต้องช่วยฝึกสอนน้องให้เก่งขึ้น จิตใจอ่อนโยน เป็นที่เคารพของน้องๆต่อไป ขณะเดียวกันพี่เองก็รู้สึกภูมิใจที่ทำหน้าที่แทนพ่อแม่ได้ มั่นใจและเกิดเป็นความรักความผูกพันกับคนในครอบครัว

ใช้สารเสพติด
         รายงานจากกรมตำรวจพบว่า ในปี พ.ศ. 2546 มีนักเรียนมากกว่า 2 แสนคนที่เข้าไปเกี่ยวข้องซึ่งเป็นภาพสะท้อนถึงพื้นฐานคุณภาพของวัยรุ่นไทย และความมั่นคงของครอบครัวที่มีปัญหาได้ชัดเจน ถึงแม้ว่าปัจจุบันรัฐบาลใช้ความเด็ดขาดในการปราบปรามยาเสพติดโดยเฉพาะยาบ้า โดยเอ๊กซเรย์ทุกพื้นที่ในประเทศเป็นระรอกที่ 3 แล้วก็ตาม ทำให้สถิติของวัยรุ่นที่ใช้ยาเสพติดลดจำนวนลงมากเนื่องจากราคาสารเสพติดในท้องตลาดแพงขึ้นและเสี่ยงต่อการถูกจับกุมเพิ่มขึ้น แต่ยังไม่มีวีธีการในการพัฒนาวัยรุ่นและครอบครัวอย่างเป็นรูปธรรมที่ชัดเจน
         เหตุวัยรุ่นที่หันเข้าหายาเสพติด ได้แก่ เพื่อนชวน สิ่งแวดล้อมที่เอื้ออำนวยต่อการแสวงหายาเสพติดมาใช้ ค่านิยมการใช้ยาเสพติดในวัยรุ่น อยากเป็นที่ยอมรับของเพื่อน ปัญหาครอบครัว ความกดดันในการเรียน จิตใจไม่
         ปัจจุบันสามารถรักษาอาการติดยาได้ทุกโรงพยาบาล แต่การแก้ปัญหาเมื่อวัยรุ่นติดยาเสพติดแล้วจะได้ผลดีก็ต่อเมื่อวัยรุ่นคนนั้นมีปัจจัยเสี่ยงน้อย ในกรณีที่มีปัจจัยเสี่ยงมากมีปัญหาในทุกๆด้าน โอกาสแก้ไขให้วัยรุ่นเลิกใช้ยาเสพติด อาจจะได้ผลในระยะสั้นๆ ส่วนใหญ่เมื่อเวลาผ่านไปก็จะกลับไปใช้อีก





ปัญหาของวัยรุ่น

วันพุธที่ 17 ธันวาคม พ.ศ. 2557

คำสั่ง SQL เบื้องต้น


คำสั่ง SQL เบื้องต้น by natsu


ก่อนอื่นต้องบอกเลยครับว่ามันไม่ได้ดีมากนักสำหรับหน้าเวปนี้เพราะผมอ่านหนังสือและสรุปอย่างคร่าวๆ แล้วรูปแบบมันอาจจะเพี้ยนๆ เพราะผมเขียนใน PAGE แล้วเอา COPY and PASTE ลงเล้ย แบบไม่แก้ไขอันใด tab มั่วไปหมด ถ้าผิดพลาดประการใดต้องขออภัยด้วยครับ

ภาษา SQL นั้นไม่เป็น case sensitive (ตัวเล็ก ตัวใหญ่มีค่าเท่ากัน) และในแต่ละคำสั่งจะถูกปิดด้วย ; (semi-colon) 


(วิธีการลง SQL ใน Window7 : http://natsusencho.blogspot.com/2012/07/mysql-window7.html)

มาเริ่มกันเลย
การเข้าใช้ให้เราเปิด cmd ขึ้นมาและ
$ mysql -u root -p
จากนั้นใส่ password ลงไป
จะเข้าสู่การใช้ 

mysql > (เราจะพิมพ์คำสั่งต่างๆลงไป)

ถ้าต้องการออกใช้
mysql > quit
mysql > show databases; แสดง  databases ทั้งหมดที่เราสร้างขึ้น

mysql > use <ชื่อ database> เป็นการเข้าใช้ database นั้นๆ
mysql > SELECT database(); ดู database ที่เรากำลังใช้อยู่
mysql > show tables; แสดงตารางทั้งหมดที่เราสร้างขึ้นใน database ที่ use

สร้าง DATABASE
mysql > create database  <ชื่อdatabase>;
เช่น create database world;


สร้าง 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
ดูชื่อและชนิดข้อมูลของแต่ละตาราง
mysql > describe <ชื่อtable>;
การใส่ข้อมูลลงไปใน table
1. ใช้คำสั่ง load data จากไฟล์ที่เราเตรียมไว้ โดย default จะแบ่งเนื้อหาโดยใช้ tab แบบนี้จะมีปัญหาเรื่องการใช้ข้อมูลชนิด NULL ซึ่งใช้ \N แทน
mysql > load data local infile ‘natsu.txt’ into table pet;

2.INSERT ใส่ทีละข้อมูล เหมาะกับข้อมูลที่น้อยๆ ที่เราเพิ่มเติมเข้าไป เช่น
mysql > INSERT INTO pet VALUES (‘natsusencho’, ‘1992-03-25’, ‘M’);

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 นี้ ถ้ามีแล้วก็ไม่ต้องสร้าง
มีสร้างก็ต้องมีลบ การลบ table ใช้คำสั่ง
mysql > DELETE FROM <ชื่อtable>;
หลังจากที่สร้างเป็นแล้วต้องสามารถแก้ไขข้อมูลได้
mysql > UPDATE <ชื่อtable> 
SET <ชื่อข้อมูล> = <ข้อมูลใหม่>
WHERE <เงื่อนไขอื่นๆ>;
เช่น UPDATE human SET name = ‘HeyGirl’ WHERE name = ‘HeyFemale’;
การสืบค้นข้อมูล หรือการดูข้อมูล
SELECT <สิ่งที่ต้องการ>
FROM   <ชื่อtable>
WHERE <เงื่อนไขอื่นๆ>
เช่นต้องการชื่อของข้อมูลในตาราง human ที่มีมีเพศชาย
SELECT name
FROM   human
WHERE sex = ‘M’; 
ต้องการดูข้อมูลทั้งหมดในตาราง human [* คือทั้งหมด]
SELECT *
FROM   human;
ซึ่งการกำหนดเงื่อนไขนั้นเราสามารถใช้ตัวแปรทางคณิตศาสตร์ตรรกะ มาช่วยได้เช่น
AND และ 
 OR หรือ
< น้อยกว่า 
 > มากกว่า
<= น้อยกว่าหรือเท่ากับ
>= มากกว่าหรือเท่ากับ
<> ไม่เท่ากับ
UNION การนำ 2 ตารางมาเชื่อมต่อกันตัดตัวซ้ำ
 UNION ALL การนำ 2 ตารางมาเชื่อมกันโดยไม่ตัดตัวซ้ำ
INTERSECT ข้อมูลที่ซ้ำกัน
DISTINCT คือการตัดตัวที่ซ้ำกันออก
เช่น SELECT DISTINCT sex
FROM   human;
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 ทีหลัง
การคำนวณเกี่ยวกับวันที่
ตัวแปร 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 มา]
การใช้ตัวแปร NULL ในเงื่อนไข
ใช้คำสั่ง xxx IS NOT NULL เช่นต้องการดูสิ่งมีชีิวิตที่ไม่มีเพศ
SELECT *
FROM   human
WHERE sex IS NOT NULL;
การตั้งชื่อเป็นชื่อที่เราต้องการ
หมายถึงเวลา select บางทีคนทั่วไปอาจจะไม่เข้าใจว่าคืออะไร เราจึงมีคำสั่ง AS ช่วย เช่น
SELECT name AS ‘NAME-SURNAME’
FROM   human;
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’;
การใช้คำสั่ง JOIN
การ JOIN คือการนำตารางที่มีความสัมพันธ์ของข้อมูลในแต่ละฟิลมาเชื่อมโยงกัน
การ JOIN มี 2 แบบคือ
1. INNER JOIN
2. OUTER JOIN  |--- LEFT JOIN
|--- RIGHT JOIN
INNER JOIN
คือการ JOIN โดยไม่สนใจค่า NULL จะดูเพียงตัวที่เหมือนกันเท่านั้น
สมมติมีตาราง 2 อันชื่อ Ltable และ ​Rtable นำมา JOIN กันโดยมีข้อมูลที่ซ้ำกันคือ id
-- JOIN โดยใช้ ON
SELECT *
FROM Ltable INNER JOIN Rtable ON Ltable.id = Rtable.id;
-- หรือ JOIN โดยใช้ USING
SELECT *
FROM Ltable INNER JOIN Rtable USING (id);
กรณีพิเศษที่ตัวแปรหรือชื่อ Column ซ้ำกันก็สามาใช้ NATURAL JOIN ได้ อย่างในที่นี้เรารุ้ว่า id นั้นซ้ำกันเราก็ไม่ต้องใส่เงื่อนไขใดๆ แต่ใช้ Natural Join เข้ามาช่วยโดย
SELECT *
FROM Ltable NATURAL JOIN Rtable;
OUTER JOIN
  • LEFT JOIN
คือการ JOIN โดยใช้ตัวทางซ้ายเป็นหลักคือ จะแสดงตัวทางซ้ายทุกตัวและนำข้อมูลขวามาเชื่อม
SELECT *
FROM Ltable LEFT JOIN Rtable ON Ltable.id = Rtable.id;
  • RIGHT JOIN
คือการ JOIN โดยใช้ตัวทางขวาเป็นหลักคือ จะแสดงตัวทางขวาทุกตัวและนำข้อมูลขวามาเชื่อม
SELECT *
FROM Ltable RIGHT JOIN Rtable ON Ltable.id = Rtable.id;
นอกจากวิธีการ JOIN ยังมีวิธีที่เรียกว่า Cartesian Product ซึ่งไม่ได้อทิบายไว้ในทีนี้
ถ้ามีโอกาศจะนั่งทำตัวอย่างให้ดูให้เห็นได้ชัดกว่านี้นะครับ แต่ผมสรุปแบบคร่าวๆ ให้พอดู
รวมคำศัพท์คำสั่งที่เจอเพจนี้
CREATE สร้างdatabase, table
INSERT ใส่ข้อมูล
UPDATE อัพเดตข้อมูล
SELECT ต้องการจะดูอะไรบ้าง
FROM จากที่ไหน
WHERE เงื่อนไขอย่างไร
COUNT(*) นับจำนวนของฟิลข้อมูล
GROUP BY จัดกลุ่มข้อมูล
ORDER BY เรียงลำดับข้อมูลโดย
JOIN เชื่อมตาราง
DISTINCT ตัดตัวซ้ำ
AS ใช้คำใหม่ให้กระทัดรัดขึ้น
SET กำหนดตัวแปร
CURDATE() วันที่ปัจจุบัน
YEAR() ปี
MONTH() เดือน
DAY() วัน
RIGHT() ตัดคำจากทางขวา
LEFT() ตัดคำจากทางซ้าย
* ทั้งหมด

ที่มา:http://natsusencho.blogspot.com/2012/08/sql-language.html