MySQL Workbench

ရန်ကုန်မှာတုန်းက မသုံးဖြစ်ခဲ့ဘူး။ MySQL က မြန်မာနိုင်ငံကနေ download ချခွင့်မရှိလို့ပါ။ SUN က သူ့ product တွေကို အဲတုန်းက မြန်မာနိုင်ငံကို download ချခွင့်မပေးထားဘူး။ အခုတော့ oracle လက်အောက် ရောက်သွားပြီဆိုတော့ ဘယ်လိုလဲတော့မသိဘူး။ MySQL Workbench version 4 တုန်းက သုံးဖူးသေးတယ်။ အဲတုန်းကတော့ သုံးရတာ တော်တော်လက်ပေါက်ကပ်တယ်။ ဘာဖြစ်လို့လည်းမသိဘူး။ သုံးလို့ကို မကောင်းဘူးဖြစ်နေတာ။ အခုတလောတော့ MySQL Workbench နဲ့ တော်တော်အဆင်ပြေနေတယ်။ Database Design ကို MySQL အတွက်ဆွဲရင် MySQL Workbench က တော်တော်လေးကို မိုက်တယ်။ Index တွေကော Foreign Key တွေကော အကုန် လုပ်လို့ရတယ်။ phpMyadmin နဲ့ realitionship ချိတ်တာ တော်တော်လေးကို ခက်တယ်လို့ ဆိုရမယ်။ MySQL Workbench က GUI မှာ အကုန်လုပ်။ ပြီးရင် SQL ထုတ်။ phpMyadmin မှာ import လုပ်။ ပြီးတာပဲ။ ပြင်စရာတွေရှိရင်လည်း Create Table မဟုတ်ပဲ Alter Table လည်း လုပ်လို့ရသေးတယ်။ နောက်ပြီး လက်ရှိ databaes ကနေပြီး reverse engine လည်းလုပ်လို့ရတော့ တော်တော်အဆင်ပြေတယ်။ MySQL သမားတွေ သုံးသင့်တဲ့ Program တစ်ခုလို့ဆိုရလိမ့်မယ်။ MySQL Workbench ကိုတော့ http://dev.mysql.com/downloads/workbench/5.0.html အဲမှာ download ချလို့ရပါတယ်။

Thnking about MZ 2.0

အခုတလော cassandra ကို ဖတ်ရင်းနဲ့ MZ ကို cassandra နဲ့ ရေးကြည့်ချင်လာတယ်။ cassandra နဲ့ project လေး တစ်ခုလောက် လုပ်ချင်တယ်။ ဒါပေမယ့် ဘာ project လုပ်ရမလဲ စဉ်းစားမရဖြစ်နေတာ။ MZ ကိုပဲလုပ်တော့မလား စဉ်းစားနေတာ။ Why MZ ! လို့ မေးလာရင်တော့ cassandra က သာမာန် project တွေ မလိုအပ်ဘူး။ တခြားမပြောနဲ့ mediawiki ကို သုံးထားတဲ့ wikipedia တောင် mysql ကို သုံးထားတာပဲ ကြည့်လေ။ mysql ကလွယ်တယ်။ နှစ်ကြာပြီဖြစ်တဲ့အတွက် community က ရှိပြီးသား။ user million နဲ့ ချီခဲ့မှသာ နည်းနည်းကြာတာ။ ဒါပေမယ့် mysql 5 မှာ partition နဲ့ fulltext search ကြောင့် million data ကိုတောင် ရှာနိုင်တယ်လို့ ပြောထားတာပဲ။ Continue reading

MySQL Migration Toolkit (Excel To MySQL)

2009-10-04_104737တစ်ခါတစ်လေ excel က data တွေကို mysql ထဲ ထည့်ချင်ရင် အရမ်းစိတ်ညစ်ရတယ်။ csv ကနေ ပြောင်းထည့်လို့ရတယ်။ ဒါပေမယ့် အမြဲတော့ အဆင်မပြေဘူးဗျ။ စာတွေကရိုက်ရတော့ နည်းနည်းလေး မှားသွားတာနဲ့ error message ပြရော။ GUI tool လေးသုံးပြီးထည့်ရင်တော့ အဆင်ပြေပါတယ်။ ဒါပေမယ့် ၂ ဆင့် ၃ ဆင့် လောက်တော့ လုပ်ရမယ်။ MySQL Migration Toolkit ဆိုတာကို mysql ကနေ ထုတ်ပေးထားတယ်။ဝမ်းနည်းစရာကောင်းတယ်က mysql ကို sun က ပိုင်တာဖြစ်လို့ မြန်မာနိုင်ငံကနေ download ချလို့လွယ်မှာတော့ မဟုတ်ဘူးဗျ။

1.http://dev.mysqlcom/downloads/gui-tools/ ကနေ download ချလိုက်လို့ရပါတယ်။

2. Excel ကို အရင်ဆုံး MS Access database အဖြစ်ပြောင်းလဲဖို့လိုတယ်။

3. ပြီးရင်တော့ MySQL Migration Toolkit ထဲကိုသွားပြီး ms access ကို import လုပ်ဖို့လိုတယ်။

4. ပြီးရင်တော့ database အသစ်တစ်ခု ပေါှလာပါမယ်။

5. အဲဒီအခါမှ PHPMyadmin ကနေ table ကို export လုပ်ပြီး လိုအပ်တဲ့ Database ထဲကို import ပြန်လုပ်ရုံပါပဲဗျာ။

Row ပေါင်းများစွာ

ဒီနေ့ Database ထဲက Row ပေါင်း ၇ သောင်းလောက် ကို ဘယ်လို Display ပြရင်ကောင်းမလဲဆိုတာ စဉ်းစားမိတယ်။ အခု လုပ်နေတဲ့ Project က row ပေါင်း ၇ သောင်းကျော်မယ်တဲ့။ အခုစမ်းနေတာ ၂၀၀၀ လောက်တင် Datagridview မှာ သိပ်အဆင်မပြေဘူး။ နောက်တော့ web မှာလို page တွေ ခွဲထုတ်ဖို့ ဆုံးဖြတ်လိုက်တယ်။ Access မှာတော့ MySQL Limit မရှိဘူး။ wiki1 အကူအညီနဲ့ Top နဲ့ လုပ်ရတယ် ဆိုတာ သိသွားတယ်။

Access မှာ
page 1 မှာ ၅၀ ပြပြီးသွားရင် page 2 ကို
select top 50 * from table where ID Not IN (select top 50 * from table)

အဲလိုလေး ပြန်ထိန်းရတယ်။ နောက်ကတော့ where နဲ့ filter ပြန်လုပ်ရတယ်။ ပါပြီးသား ID တွေ မဟုတ်တာဆိုပြီး ရွေးထုတ်လိုက်တဲ့ ပုံလေးပေါ့။ page ခွဲပုံ idea ကိုတော့

http://code.mysteryzillion.org/article/separate-page-from-row-record

မှာ ဖတ်နိုင်ပါတယ်။ ကျွန်တော်တို့တွေအနေနဲ့ record တွေများလာလေလေ… အများကြီးကို တစ်ခါတည်း တန်းမပြပဲ page လေးတွေ ခွဲလိုက်ခြင်းဟာ အသုံးပြုသူအတွက် တော်တော်အဆင်ပြေစေပါတယ်။ Memory သုံးတာ တော်တော်သက်သာသွားတယ်။ Database သုံးတာ တော်တော်သက်သာသွားတယ်။ အခုတော့ အဆင်ပြေသွားပါပြီဗျာ။

  1. http://en.wikipedia.org/wiki/Select_(SQL)#Limiting_result_rows []

MySQL Reference Book

MySQL ကို ကျွန်တော် အမှန်တိုင်းပြောရင် ကျွမ်းကျွမ်းကျင်ကျင်မရဘူး။ အမြဲတန်း reference သုံးဖို့အတွက် online မှာ တက်ပြီးရှာနေရတယ်။ ဒါကြောင့် PHP လို chm file လေး ရရင်ကောင်းမယ်ဆိုပြီး googling လုပ်ကြည့်လိုက်တော့ ရှာတွေ့ပါတယ်ဗျာ။ တခြားလူတွေလည်း အသုံးဝင်အောင် မျှဝေလိုက်ပါတယ်။

http://dev.mysql.com/doc/

CSV to Mysql

တော်တော်လေး မူးနောက်သွားတယ်ဗျာ။ ဆိုးဝါးတာက excel 2007 ပဲ။ excel မှာ လုပ်ထားတဲ့ဟာတွေကို mysql ထဲ ထည့်ချင်တယ်။ ရှာတယ်။ မရဘူး။ ဒါနဲ့ csv ပြောင်းဖို့လုပ်တယ်။ အဲမှာ excel ကို တော်တော် ညစ်သွားတာ။ UTF-8 မပြောင်းပေးဘူးလေ။ အဲမှာသိလိုက်ပြီ။ ဆက်ကြိုးစားလို့မဖြစ်တော့ဘူး။ ဒါနဲ့ Openoffice.org ကနေ csv ပြောင်းတော့ အဆင်ပြေသွားတယ်။ ဟိုရှာ ဒီရှာနဲ့

mysql> LOAD DATA LOCAL INFILE '/host/Users/saturngod/Project/dictionary.csv' INTO TABLE dblist FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n';

အဲလိုလေး ရေးလိုက်တော့ တော်တော်လေးကို အဆင်ပြေသွားတယ်။ အခုတော့ CSV ကနေ Mysql ကို ကောင်းကောင်းပြောင်းလို့ရသွားပြီလေ။

Database Charset UTF-8

ကျွန်တော်တို့တွေ အများအားဖြင့် database transfer လုပ်ရင် UTF-8 မပြောင်းတာ အမြဲ ပြသနာဖြစ်တယ်ဗျ။
ကျွန်တော်တို့တွေ အစအဆုံး ပြန်ပြန်တင်နေရတာတွေ ကြုံတတ်တယ်။ အဲဒီအတွက် ကျွန်တော် sahana project လုပ်တုန်းက ရေးထားတဲ့ db_setup.php လေးက တော့ ကိုယ့် database တစ်ခုလုံး ရှိတဲ့ field တွေအပါအဝင် UTF-8 ပြောင်းပေးအောင်ရေးထားပါတယ်။
အဲဒီ file လေးကို download ချပြီး notepad နဲ့ဖြစ်ဖြစ် wordpad နဲ့ဖြစ်ဖြစ် ဖွင့်ပြီး

$db_name=’sahana’;
$host=”localhost”;
$username=”root”;
$pwd=”";

အဲဒီနေရာတွေမှာ ကိုယ့် database နဲ့ဆိုင်ရာတွေ ဖြည့်ပြီး db_setup.php ကို run လိုက်ရင် အားလုံးအဆင်ပြေသွားမှာပါ။
မြန်မာတွေအတွက် database transfer လုပ်ပြီးတဲ့အခါ အသုံးဝင်နိုင်လို့ ဖြန့်ဝေလိုက်ပါတယ်။