<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Dexdev &#187; MySQL</title>
	<atom:link href="http://www.dexdev.com/category/mysql/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.dexdev.com</link>
	<description>เป็นโปรแกรมเมอร์มันไม่ง่าย แต่ก็ทำเป็นอยู่อย่างเดียวนี่แหละ</description>
	<lastBuildDate>Fri, 27 Aug 2010 11:44:32 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>คำนวนอายุจากวันเกิด</title>
		<link>http://www.dexdev.com/mysql/age-calculation/</link>
		<comments>http://www.dexdev.com/mysql/age-calculation/#comments</comments>
		<pubDate>Thu, 28 May 2009 11:35:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://www.dexdev.com/?p=202</guid>
		<description><![CDATA[ใครบอก 1 ปีเท่ากับ 365 ผิดๆแบบนี้ไม่ใช่ ที่คุณรู้มามันผิดแล้ว 1 ปีเท่ากับ 10000 2009-05-28 = 20090528 2008-05-28 = 20080528 20090528 &#8211; 20080528 = 10000 เห็นมั้ย 1 ปีเท่ากับ 10000 อะลองคำนวนอายุ (20090528 &#8211; วันเกิด) / 10000 = อายุ PHP $age = floor((20090528-19810623)/10000); MySQL SELECT FLOOR((CURDATE()-`dateofbirth`)/10000) FROM `table` ไม่เชื่อต้องลอง ปล. 1ปี มี 365 วัน นะครับ 10000 นี่เอาไว้คำนวนเฉยๆ]]></description>
			<content:encoded><![CDATA[<p>ใครบอก 1 ปีเท่ากับ 365 ผิดๆแบบนี้ไม่ใช่ ที่คุณรู้มามันผิดแล้ว</p>
<h2>1 ปีเท่ากับ 10000</h2>
<p>2009-05-28 = 20090528<br />
2008-05-28 = 20080528</p>
<p>20090528 &#8211; 20080528 = 10000<br />
เห็นมั้ย 1 ปีเท่ากับ 10000</p>
<p>อะลองคำนวนอายุ<br />
(20090528 &#8211; วันเกิด) / 10000 =  อายุ</p>
<p>PHP</p>
<blockquote><p>
$age = floor((20090528-19810623)/10000);
</p></blockquote>
<p>MySQL</p>
<blockquote><p>
SELECT  FLOOR((CURDATE()-`dateofbirth`)/10000)  FROM `table`
</p></blockquote>
<p>ไม่เชื่อต้องลอง<br />
ปล. 1ปี มี 365 วัน นะครับ 10000 นี่เอาไว้คำนวนเฉยๆ</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dexdev.com/mysql/age-calculation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reset MySQL password</title>
		<link>http://www.dexdev.com/mysql/reset-mysql-password/</link>
		<comments>http://www.dexdev.com/mysql/reset-mysql-password/#comments</comments>
		<pubDate>Wed, 26 Nov 2008 16:52:45 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://www.dexdev.com/?p=152</guid>
		<description><![CDATA[ต๊าย!(ทำเสียงแต๋วแตก) ลืม password ของ mysql ด้วยความที่คนคิดมากอย่างผมไม่อยากจะให้ password ที่มันง่ายต่อการเดาของ hacker ที่พยายามจะมาล้วงความลับของผม&#8230;เลยตั้งไปซะมนุษย์ต่างดาวเรียกพี่ !a@ali#$%xxx^&#38;* โอ้วนี่เราจะ art ไปถึงไหนเนี่ย &#8230; และแล้ววันที่ผมลืม password มนุษย์ต่างดาวอันนี้ &#62;&#60; ต้อง reset password แล้วหล่ะ ใครใช้ FreeBSD ก็สะบายตัวไปสามาใช้ mysqladmin ได้เลย mysqladmin -u root password &#8216;password ใหม่&#8217; แค่นี้ก็ได้ password ใหม่แล้ว แล้วถ้าเป็น mysql บนเครื่องที่เป็น window หล่ะ(ทำสีหน้าแบบเหงื่อตก) ก็เพราะว่าบน windows ใช mysqladmin reset password ไมได้ ขั้นตอนการ reset password mysql บน windows [...]]]></description>
			<content:encoded><![CDATA[<p><strong>ต๊าย</strong><strong>!</strong><strong>(ทำเสียงแต๋วแตก) ลืม password ของ mysql</strong><br />
ด้วยความที่คนคิดมากอย่างผมไม่อยากจะให้ password ที่มันง่ายต่อการเดาของ hacker ที่พยายามจะมาล้วงความลับของผม&#8230;เลยตั้งไปซะมนุษย์ต่างดาวเรียกพี่ !a@ali#$%xxx^&amp;*<br />
โอ้วนี่เราจะ art ไปถึงไหนเนี่ย &#8230; และแล้ววันที่ผมลืม password มนุษย์ต่างดาวอันนี้ &gt;&lt;</p>
<p><strong>ต้อง reset password แล้วหล่ะ</strong><br />
ใครใช้ <strong>FreeBSD</strong> ก็สะบายตัวไปสามาใช้ mysqladmin ได้เลย</p>
<blockquote><p>mysqladmin -u root password &#8216;password ใหม่&#8217;</p></blockquote>
<p>แค่นี้ก็ได้ password ใหม่แล้ว</p>
<p>แล้วถ้าเป็น mysql บนเครื่องที่เป็น window หล่ะ(ทำสีหน้าแบบเหงื่อตก) ก็เพราะว่าบน windows ใช mysqladmin reset password ไมได้</p>
<p><strong>ขั้นตอนการ reset password mysql บน windows</strong></p>
<p>1. stop mysql services ก่อนครับ วิธีที่ง่ายที่สุดก็คือกด Ctrl+Alt+Del แล้ว stop process ของ mysql<br />
<img title="reset-mysql-pwd-01" src="http://www.dexdev.com/wp-content/uploads/2008/11/reset-mysql-pwd-01.jpg" alt="" width="404" height="455" /><br />
หรือจะ stop mysql ผ่าน command line ก็ได้นะครับ</p>
<blockquote><p>net stop mysql</p></blockquote>
<p>&#8230;ต้องเลือกแล้วหล่ะ ว่าจะหล่อแบบไหนดี<br />
2. เตรียม sql ที่จะใช้เปลี่ยน password ของ mysql</p>
<blockquote><p>UPDATE mysql.user SET Password=PASSWORD(&#8216;xxx&#8217;) WHERE User=&#8217;root&#8217;;<br />
FLUSH PRIVILEGES;</p></blockquote>
<p>สมมุติมา save ไว้ที่ C:\reset_pwd.sql</p>
<p>3. สั่ง start mysql (แบบไม่ปกติ)<br />
ที่ไม่ปกติดเพราะว่าเพิ่ม -init-file=C:\reset_pwd.sql ไปด้วย<br />
<img title="reset-mysql-pwd-02" src="http://www.dexdev.com/wp-content/uploads/2008/11/reset-mysql-pwd-02.jpg" alt="" width="500" height="252" /></p>
<p>4. ทดสอบ password ใหม่ด้วย user root และ password ใหม่ ครับ<br />
<img title="reset-mysql-pwd-03" src="http://www.dexdev.com/wp-content/uploads/2008/11/reset-mysql-pwd-03.jpg" alt="" width="500" height="252" /><br />
ถ้าจะให้ดี restart เครื่องแล้วลองดีกว่าครับ</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dexdev.com/mysql/reset-mysql-password/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>ผมสอบได้ที่เท่าไหร่ของห้องครับ</title>
		<link>http://www.dexdev.com/mysql/row-number/</link>
		<comments>http://www.dexdev.com/mysql/row-number/#comments</comments>
		<pubDate>Tue, 05 Aug 2008 16:49:40 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://www.dexdev.com/?p=13</guid>
		<description><![CDATA[บทความนี้ขอเขียนเรื่องเทคนิคเกี่ยวกับ mysql หน่อยนะครับ เดี๋ยวขอยกตัวอย่างข้อมูลก่อน name score a 65 b 45 c 72 d 96 e 54 สมมุติว่าผมต้องส่งผลการสอบไปให้กับนักเรียนทุกคน ตัวอย่างดังนี้ครับ สวัสดี {name}, คะแนนความหล่อของเธอคือ {score} เธอสอบได้ที่ {rank} จาก ทั้งหมด {all_row} เด้อ ปัญหาก็คือ mysql ไม่มี row num เหมือนพวก oracle, mssql ทำให้การหา rank ดูยากเย็นขึ้นมาทันที ลองทำ query กันทีละขั้นตอนเลยนะครับ ประกาศตัวแปร row_id SET @row := 0; คล้ายๆ pascal เลยอิอิ query แสดงข้อมูลโดยเรียงจากคะแนนมากไปหาน้อย และเพิ่มตัวแปร row_id [...]]]></description>
			<content:encoded><![CDATA[<p>บทความนี้ขอเขียนเรื่องเทคนิคเกี่ยวกับ mysql หน่อยนะครับ<br />
เดี๋ยวขอยกตัวอย่างข้อมูลก่อน</p>
<link href="/demo/tablesort.css" rel="stylesheet" type="text/css" />
<table class="sortable" border="0" cellspacing="0" cellpadding="5">
<thead>
<tr>
<th>name</th>
<th>score</th>
</tr>
</thead>
<tbody>
<tr>
<td>a</td>
<td>65</td>
</tr>
<tr>
<td>b</td>
<td>45</td>
</tr>
<tr>
<td>c</td>
<td>72</td>
</tr>
<tr>
<td>d</td>
<td>96</td>
</tr>
<tr>
<td>e</td>
<td>54</td>
</tr>
</tbody>
</table>
<p>สมมุติว่าผมต้องส่งผลการสอบไปให้กับนักเรียนทุกคน ตัวอย่างดังนี้ครับ</p>
<blockquote><p>สวัสดี {name},<br />
คะแนนความหล่อของเธอคือ {score}<br />
เธอสอบได้ที่ {rank} จาก ทั้งหมด {all_row} เด้อ</p></blockquote>
<p><span id="more-13"></span>ปัญหาก็คือ mysql ไม่มี row num เหมือนพวก oracle, mssql ทำให้การหา rank ดูยากเย็นขึ้นมาทันที<br />
ลองทำ query กันทีละขั้นตอนเลยนะครับ</p>
<ol>
<li>ประกาศตัวแปร row_id<br />
<blockquote><p>SET @row := 0;</p></blockquote>
<p>คล้ายๆ pascal เลยอิอิ</li>
<li>query แสดงข้อมูลโดยเรียงจากคะแนนมากไปหาน้อย และเพิ่มตัวแปร row_id ไปด้วย<br />
<blockquote><p>SELECT @row:=@row+1 AS `row_id`, `t_score`.* FROM `t_score` ORDER BY `score` ASC</p></blockquote>
<p>จากตัวอย่างเป็นการเพิ่ม @row ขึ้นทีละ 1 แล้วตั้ง alias เป็น row_id</p>
<table class="sortable" border="0" cellspacing="0" cellpadding="5">
<thead>
<tr>
<th>row_id</th>
<th>name</th>
<th>score</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>d</td>
<td>96</td>
</tr>
<tr>
<td>2</td>
<td>c</td>
<td>72</td>
</tr>
<tr>
<td>3</td>
<td>a</td>
<td>65</td>
</tr>
<tr>
<td>4</td>
<td>e</td>
<td>54</td>
</tr>
<tr>
<td>5</td>
<td>b</td>
<td>45</td>
</tr>
</tbody>
</table>
</li>
</ol>
<p>หุหุแค่นี้ผมก็ได้ row number เอามาส่ง rank คะแนนได้แล้วครับ</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dexdev.com/mysql/row-number/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
