วันอังคารที่ 16 สิงหาคม พ.ศ. 2554

คำสั่งส่งออก สร้าง และนำเข้าฐานข้อมูลใน mysql ที่ผมต้องใช้บ่อยๆ


ส่งออกข้อมูลจากฐานข้อมูล xxdb
• ส่งออกฐานข้อมูล xxdb  พร้อม functions/stored procedures
  นําเข้าข้อมูลจากไฟล์ SQL เข้าสู่ฐานข้อมูล xxdb
  ไปลงที่ไฟล์ /tmp/xxdb.sql
   # mysqldump  --routines  --default-character-set=tis620  -a  -Q  -n  --add-drop-table
     -u  root  -p  provisdb  >  /tmp/xxdb.sql

• สร้างฐานข้อมูล xxdb
   #  mysqladmin  -u root  -p  create  xxdb

• นําเข้าฐานข้อมูล xxdb.sql จากไฟล์ /tmpxxdb.sql
   #  mysql  --default-character-set=utf8  -u  root  -p  xxdb  <  /tmp/xxdb.sql

วันจันทร์ที่ 15 สิงหาคม พ.ศ. 2554

MySQL :: Aggreation Function


  • COUNT ( column_name )ใช้นับจำนวนแถวทั้งหมด แต่จะไม่นับค่าข้อมูลที่เป็น NULL โดยค่าที่คืนกลับมาจะเป็นชนิด int
    SUM ( column_name )ใช้หาผลรวมของค่าข้อมูลในทุกแถว
    AVG ( column_name )ใช้หาค่าเฉลี่ยของค่าข้อมูลในทุกแถว
    MAX ( column_name )ใช้หาค่าสูงสุด เมื่อเทียบกับค่าข้อมูลในทุกแถว ถ้าใช้กับข้อมูลที่เป็นตัวอักษร จะแสดงผลแถวแรกสุด
    MIN ( column_name )ใช้หาค่าต่ำสุด เมื่อเทียบกับค่าข้อมูลในทุกแถว ถ้าใช้กับข้อมูลที่เป็นตัวอักษร จะแสดงผลแถวท้ายสุด
    STDEV ( column_name )ใช้หาค่าส่วนเบี่ยงเบนมาตรฐาน ของค่าข้อมูลในทุกแถว
    STDEVP ( column_name )ใช้หาค่าส่วนเบี่ยงเบนฐานนิยม ของค่าข้อมูลในทุกแถว
    VAR ( column_name )ใช้หาค่าความแปรปรวน ของค่าข้อมูลในทุกแถว
    VARP ( column_name )ใช้หาค่าความแปรปรวนฐานนิยม ของค่าข้อมูลในทุกแถว
  • function:COUNT(column_name)
    content:ใช้นับจำนวนแถวทั้งหมด แต่จะไม่นับค่าข้อมูลที่เป็น NULL โดยค่าที่คืนกลับมาจะเป็นชนิด int
    example:SELECT COUNT(id) FROM person
  • function:SUM(column_name)
    content:ใช้หาผลรวมของค่าข้อมูลในทุกแถว
    example:SELECT SUM(price), type FROM product GROUP BY type
  • function:AVG(column_name)
    content:ใช้หาค่าเฉลี่ยของค่าข้อมูลในทุกแถว
    example:SELECT price FROM product WHERE price > AVG(price)
  • function:MAX(column_name)
    content:ใช้หาค่าสูงสุด เมื่อเทียบกับค่าข้อมูลในทุกแถว ถ้าใช้กับข้อมูลที่เป็นตัวอักษร จะแสดงผลแถวแรกสุด
    example:SELECT MAX(price) FROM product
  • function:MIN(column_name)
    content:ใช้หาค่าต่ำสุด เมื่อเทียบกับค่าข้อมูลในทุกแถว ถ้าใช้กับข้อมูลที่เป็นตัวอักษร จะแสดงผลแถวท้ายสุด
    example:SELECT MIN(price) FROM product
  • function:STDEV(column_name)
    content:ใช้หาค่าส่วนเบี่ยงเบนมาตรฐาน ของค่าข้อมูลในทุกแถว
    example:SELECT STDEV(price) FROM product
  • function:STDEVP(column_name)
    content:ใช้หาค่าส่วนเบี่ยงเบนฐานนิยม ของค่าข้อมูลในทุกแถว
    example:SELECT STDEVP(price) FROM product
  • function:VAR(column_name)
    content:ใช้หาค่าความแปรปรวน ของค่าข้อมูลในทุกแถว
    example:SELECT VAR(price) FROM product
  • function:VARP(column_name)
    content:ใช้หาค่าความแปรปรวนฐานนิยม ของค่าข้อมูลในทุกแถว
    example:SELECT VARP(price) FROM product
    คัดลอกจาก :: http://code.function.in.th/mysql/aggreation-function

MySQL :: String Function


  • ASCII ( char )ใช้คืนค่ารหัส ascii ของ char ที่กำหนด
    ORD ( string )ใช้คืนค่ารหัส ascii ของ string (คือจะนำค่า ascii ของแต่ละตัวใน string มารวมกัน)
    CONV ( num, from_base, to_base )ใช้แปลงค่า num ที่เป็นเลขฐาน from_base ให้เป็นเลขฐาน to_base
    BIN ( num )ใช้แปลงค่า num ให้เป็นเลขฐาน 2
    OCT ( num )ใช้แปลงค่า num ให้เป็นเลขฐาน 8
    HEX ( num )ใช้แปลงค่า num ให้เป็นเลขฐาน 16
    CHAR ( num1, num2, ..., numN )ใช้แปลงค่า num1, num2, ..., numN ให้เป็นข้อความ โดยเปรียบเทียบค่าจาก รหัส ascii
    CONCAT ( char1, char2, ..., charN )ใช้นำสตริงของ char1, char2, ..., charN นำมาต่อกัน
    CONCAT_WS ( separator, char1, char2, ..., charN )ใช้นำสตริงของ char1, char2, ..., charN นำมาต่อกัน โดยมีตัวเชื่อมแต่ละสตริงตาม separator ที่กำหนด
    LENGTH ( char )ใช้หาค่าความยาวของ char ที่กำหนด
    OCTET_LENGTH ( char )ใช้หาค่าความยาวของ char ที่กำหนด
    CHAR_LENGTH ( char )ใช้หาค่าความยาวของ char ที่กำหนด
    CHARACTER_LENGTH ( char )ใช้หาค่าความยาวของ char ที่กำหนด
    LOCATE ( word, sentence )ใช้คืนค่าตำแหน่งแรกที่พบค่าของ word ภายใน sentence โดยค้นหาจากซ้ายไปขวา
    LOCATE ( word, sentence, start )ใช้คืนค่าตำแหน่งแรกที่พบค่าของ word ภายใน sentence โดยค้นหาจากซ้ายไปขวา
    POSITION ( word IN sentence )ใช้คืนค่าตำแหน่งแรกที่พบค่าของ word ภายใน sentence โดยค้นหาจากซ้ายไปขวา
    INSTR ( sentence, word )ใช้คืนค่าตำแหน่งแรกที่พบค่าของ word ภายใน sentence โดยค้นหาจากซ้ายไปขวา
    LPAD ( sentence, length, word )ใช้คืนค่า sentence ที่มีขนาดจำนวนตัวอักษรเท่ากับ length
    RPAD ( sentence, length, word )ใช้คืนค่า sentence ที่มีขนาดจำนวนตัวอักษรเท่ากับ length
    LEFT ( sentence, length )ใช้คืนค่า sentence โดยจะตัดสตริงให้เหลือเพียงจำนวนตัวอักษร length โดยจะเริ่มนับจากทางซ้าย
    RIGHT ( sentence, length )ใช้คืนค่า sentence โดยจะตัดสตริงให้เหลือเพียงจำนวนตัวอักษร length โดยจะเริ่มนับจากทางขวา
    SUBSTRING ( sentence, position, length )ใช้ตัดสตริงของ sentence โดยจะเริ่มตัดจากตำแหน่ง position และตัดไปจำนวน length ตัวอักษร
    SUBSTRING ( sentence FROM position FOR length )ใช้ตัดสตริงของ sentence โดยจะเริ่มตัดจากตำแหน่ง position และตัดไปจำนวน length ตัวอักษร
    MID ( sentence, position, length )ใช้ตัดสตริงของ sentence โดยจะเริ่มตัดจากตำแหน่ง position และตัดไปจำนวน length ตัวอักษร
    SUBSTRING ( sentence, position )ใช้ตัดสตริงของ sentence โดยจะเริ่มตัดจากตำแหน่ง position และตัดจนจบประโยค
    SUBSTRING ( sentence FROM position )ใช้ตัดสตริงของ sentence โดยจะเริ่มตัดจากตำแหน่ง position และตัดจนจบประโยค
    SUBSTRING_INDEX ( sentence, delimeter, count )ใช้ตัดสตริงของ sentence โดยมีรูปแบบของการตัด
    LTRIM ( sentence )ใช้ต้ดช่องว่างทางซ้ายของ sentence ออกไป
    RTRIM ( sentence )ใช้ต้ดช่องว่างทางขวาของ sentence ออกไป
    TRIM ( sentence )ใช้ต้ดช่องว่างทางซ้ายและทางขวาของ sentence ออกไป
    SPACE ( num )ใช้กำหนดให้มีช่องว่างจำนวน num ตัวอักษร
    REPLACE ( sentence, word, replacement )ใช้ค้นหาค่าของ word ภายใน sentence แล้วแทนที่ word นั้นด้วยค่า replacement
    REPEAT ( sentence, count )ใช้คืนค่า sentence จำนวน count ครั้ง
    REVERSE ( sentence )ใช้สลับค่าของ sentence โดยจะสลับจากหน้าไปหลัง และจากหลังไปหน้า
    INSERT ( sentence, position, length, word )ใช้แทนที่ค่าของ word เข้าไปใน sentence ที่กำหนด
    ELT ( index, char1, char2, ..., charN )ใช้คืนค่าของสตริง โดยถ้า index = 1 จะคืนค่า char1, ถ้า index = 2 จะคืนค่า char2, ถ้า index = N จะคืนค่า charN
    FIELD ( word, char1, char2, ..., charN )ใช้คืนค่าของ ตำแหน่ง โดยถ้า word = char1 จะคืนค่า 1, ถ้า word = char2 จะคืนค่า 2, ถ้า word = charN จะคืนค่า N
    FIELD_IN_SET ( word, list )ใช้คืนค่าว่า word เป็นค่าข้อมูลที่เท่าใดภายใน list
    LCASE ( sentence )ใช้แปลงค่าตัวอักษรภายใน sentence ให้เป็น ตัวพิมพ์เล็กทั้งหมด
    LOWER ( sentence )ใช้แปลงค่าตัวอักษรภายใน sentence ให้เป็น ตัวพิมพ์เล็กทั้งหมด
    UCASE ( sentence )ใช้แปลงค่าตัวอักษรภายใน sentence ให้เป็น ตัวพิมพ์ใหญ่ทั้งหมด
    UPPER ( sentence )ใช้แปลงค่าตัวอักษรภายใน sentence ให้เป็น ตัวพิมพ์ใหญ่ทั้งหมด
    LOAD_FILE ( filename )ใช้อ่านข้อมูลที่อยู่ใน filename ที่กำหนด
  • function:ASCII(char)
    content:ใช้คืนค่ารหัส ascii ของ char ที่กำหนด
    example:SELECT ASCII('A')
  • function:ORD(string)
    content:ใช้คืนค่ารหัส ascii ของ string (คือจะนำค่า ascii ของแต่ละตัวใน string มารวมกัน)
    example:SELECT ORD('Function')
  • function:CONV(num,from_base,to_base)
    content:ใช้แปลงค่า num ที่เป็นเลขฐาน from_base ให้เป็นเลขฐาน to_base
    example:SELECT CONV('6E', 16, 10)
  • function:BIN(num)
    content:ใช้แปลงค่า num ให้เป็นเลขฐาน 2
    example:SELECT BIN(12)
  • function:OCT(num)
    content:ใช้แปลงค่า num ให้เป็นเลขฐาน 8
    example:SELECT OCT(12)
  • function:HEX(num)
    content:ใช้แปลงค่า num ให้เป็นเลขฐาน 16
    example:SELECT HEX(255)
  • function:CHAR(num1,num2,...,numN)
    content:ใช้แปลงค่า num1, num2, ..., numN ให้เป็นข้อความ โดยเปรียบเทียบค่าจาก รหัส ascii
    example:SELECT CHAR(77,121,83,81,76)
  • function:CONCAT(char1,char2,...,charN)
    content:ใช้นำสตริงของ char1, char2, ..., charN นำมาต่อกัน
    example:SELECT CONCAT('My','SQL')
  • function:CONCAT_WS(separator,char1,char2,...,charN)
    content:ใช้นำสตริงของ char1, char2, ..., charN นำมาต่อกัน
    โดยมีตัวเชื่อมแต่ละสตริงตาม separator ที่กำหนด
    example:SELECT CONCAT_WS(',','firstname','lastname','address')
  • function:LENGTH(char)
    content:ใช้หาค่าความยาวของ char ที่กำหนด
    example:SELECT LENGTH(firstname) FROM person
  • function:OCTET_LENGTH(char)
    content:ใช้หาค่าความยาวของ char ที่กำหนด
    example:SELECT OCTET_LENGTH(firstname) FROM person
  • function:CHAR_LENGTH(char)
    content:ใช้หาค่าความยาวของ char ที่กำหนด
    example:SELECT CHAR_LENGTH(firstname) FROM person
  • function:CHARACTER_LENGTH(char)
    content:ใช้หาค่าความยาวของ char ที่กำหนด
    example:SELECT CHARACTER_LENGTH(firstname) FROM person
  • function:LOCATE(word,sentence)
    content:ใช้คืนค่าตำแหน่งแรกที่พบค่าของ word ภายใน sentence โดยค้นหาจากซ้ายไปขวา
    example:SELECT LOCATE('Mr.',name) FROM person
  • function:LOCATE(word,sentence,start)
    content:ใช้คืนค่าตำแหน่งแรกที่พบค่าของ word ภายใน sentence โดยค้นหาจากซ้ายไปขวา
    โดยเริ่มต้นค้นหาจากตำแหน่ง start ที่กำหนด
    example:SELECT LOCATE('Mr.',name,5) FROM person
  • function:POSITION(word IN sentence)
    content:ใช้คืนค่าตำแหน่งแรกที่พบค่าของ word ภายใน sentence โดยค้นหาจากซ้ายไปขวา
    example:SELECT POSITION('Mr.' IN name) FROM person
  • function:INSTR(sentence,word)
    content:ใช้คืนค่าตำแหน่งแรกที่พบค่าของ word ภายใน sentence โดยค้นหาจากซ้ายไปขวา
    example:SELECT INSTR(name,'Mr.') FROM person
  • function:LPAD(sentence,length,word)
    content:ใช้คืนค่า sentence ที่มีขนาดจำนวนตัวอักษรเท่ากับ length
    โดยถ้ามีน้อยกว่าก็จะเพิ่มค่าของ word เข้าไปทางซ้ายจนกว่า sentence จะมีจำนวนตัวอักษรเท่ากับ length
    example:SELECT LPAD(id,9,'0') FROM orders
  • function:RPAD(sentence,length,word)
    content:ใช้คืนค่า sentence ที่มีขนาดจำนวนตัวอักษรเท่ากับ length
    โดยถ้ามีน้อยกว่าก็จะเพิ่มค่าของ word เข้าไปทางขวาจนกว่า sentence จะมีจำนวนตัวอักษรเท่ากับ length
    example:SELECT RPAD(id,9,'0') FROM orders
  • function:LEFT(sentence,length)
    content:ใช้คืนค่า sentence โดยจะตัดสตริงให้เหลือเพียงจำนวนตัวอักษร length
    โดยจะเริ่มนับจากทางซ้าย
    example:SELECT LEFT(name,10) FROM person
  • function:RIGHT(sentence,length)
    content:ใช้คืนค่า sentence โดยจะตัดสตริงให้เหลือเพียงจำนวนตัวอักษร length
    โดยจะเริ่มนับจากทางขวา
    example:SELECT RIGHT(name,10) FROM person
  • function:SUBSTRING(sentence,position,length)
    content:ใช้ตัดสตริงของ sentence โดยจะเริ่มตัดจากตำแหน่ง position และตัดไปจำนวน length ตัวอักษร
    example:SELECT SUBSTRING(name,3,10) FROM person
  • function:SUBSTRING(sentence FROM position FOR length)
    content:ใช้ตัดสตริงของ sentence โดยจะเริ่มตัดจากตำแหน่ง position และตัดไปจำนวน length ตัวอักษร
    example:SELECT SUBSTRING(name FROM 3 FOR 10) FROM person
  • function:MID(sentence,position,length)
    content:ใช้ตัดสตริงของ sentence โดยจะเริ่มตัดจากตำแหน่ง position และตัดไปจำนวน length ตัวอักษร
    example:SELECT MID(name,3,10) FROM person
  • function:SUBSTRING(sentence,position)
    content:ใช้ตัดสตริงของ sentence โดยจะเริ่มตัดจากตำแหน่ง position และตัดจนจบประโยค
    example:SELECT SUBSTRING(name,3) FROM person
  • function:SUBSTRING(sentence FROM position)
    content:ใช้ตัดสตริงของ sentence โดยจะเริ่มตัดจากตำแหน่ง position และตัดจนจบประโยค
    example:SELECT SUBSTRING(name FROM 3) FROM person
  • function:SUBSTRING_INDEX(sentence,delimeter,count)
    content:ใช้ตัดสตริงของ sentence โดยมีรูปแบบของการตัด คือ
    นับจำนวน delimeter ใน sentence จำนวน count ครั้ง
    โดยถ้า count เป็นค่าบวกจะเริ่มนับจากทางซ้าย
    แต่ถ้า count เป็นค่าลบจะเริ่มนับจากทางขวา
    ซึ่งเมื่อนับ delimeter ไปจำนวน count ครั้งแล้วก็จะตัดสตริงนั้นออกมา
    example:SELECT SUBSTRING_INDEX('www.function.in.th','.',3)
  • function:LTRIM(sentence)
    content:ใช้ต้ดช่องว่างทางซ้ายของ sentence ออกไป
    example:SELECT LTRIM(name) FROM person
  • function:RTRIM(sentence)
    content:ใช้ต้ดช่องว่างทางขวาของ sentence ออกไป
    example:SELECT RTRIM(name) FROM person
  • function:TRIM(sentence)
    content:ใช้ต้ดช่องว่างทางซ้ายและทางขวาของ sentence ออกไป
    example:SELECT TRIM(name) FROM person
  • function:SPACE(num)
    content:ใช้กำหนดให้มีช่องว่างจำนวน num ตัวอักษร
    example:SELECT firstname + SPACE(2) + lastname FROM person
  • function:REPLACE(sentence,word,replacement)
    content:ใช้ค้นหาค่าของ word ภายใน sentence แล้วแทนที่ word นั้นด้วยค่า replacement
    example:SELECT REPLACE(name,'Mr.','นาย ') FROM person
  • function:REPEAT(sentence,count)
    content:ใช้คืนค่า sentence จำนวน count ครั้ง
    example:SELECT REPEAT('www.function.in.th',3)
  • function:REVERSE(sentence)
    content:ใช้สลับค่าของ sentence โดยจะสลับจากหน้าไปหลัง และจากหลังไปหน้า
    example:SELECT REVERSE(name) FROM person
  • function:INSERT(sentence,position,length,word)
    content:ใช้แทนที่ค่าของ word เข้าไปใน sentence ที่กำหนด 
    โดยจะเริ่มแทนที่จากตำแหน่ง position ที่กำหนดไปจำนวน length ที่กำหนด
    example:SELECT INSERT(name,1,4,'นาย ') FROM person
  • function:ELT(index,char1,char2,...,charN)
    content:ใช้คืนค่าของสตริง โดยถ้า index = 1 จะคืนค่า char1, ถ้า index = 2 จะคืนค่า char2,
    ถ้า index = N จะคืนค่า charN
    example:SELECT ELT(2,'www','function','in.th')
  • function:FIELD(word,char1,char2,...,charN)
    content:ใช้คืนค่าของ ตำแหน่ง โดยถ้า word = char1 จะคืนค่า 1, ถ้า word = char2 จะคืนค่า 2,
    ถ้า word = charN จะคืนค่า N
    example:SELECT FIELD('function','www','function','in.th')
  • function:FIELD_IN_SET(word,list)
    content:ใช้คืนค่าว่า word เป็นค่าข้อมูลที่เท่าใดภายใน list
    example:SELECT FIELD_IN_SET('function','www,function,in,th')
  • function:LCASE(sentence)
    content:ใช้แปลงค่าตัวอักษรภายใน sentence ให้เป็น ตัวพิมพ์เล็กทั้งหมด
    example:SELECT LCASE(name) FROM person
  • function:LOWER(sentence)
    content:ใช้แปลงค่าตัวอักษรภายใน sentence ให้เป็น ตัวพิมพ์เล็กทั้งหมด
    example:SELECT LOWER(name) FROM person
  • function:UCASE(sentence)
    content:ใช้แปลงค่าตัวอักษรภายใน sentence ให้เป็น ตัวพิมพ์ใหญ่ทั้งหมด
    example:SELECT UCASE(name) FROM person
  • function:UPPER(sentence)
    content:ใช้แปลงค่าตัวอักษรภายใน sentence ให้เป็น ตัวพิมพ์ใหญ่ทั้งหมด
    example:SELECT UPPER(name) FROM person
  • function:LOAD_FILE(filename)
    content:ใช้อ่านข้อมูลที่อยู่ใน filename ที่กำหนด
    example:SELECT LOAD_FILE('/tmp/detail')
    คัดลอกจาก :: http://code.function.in.th/mysql/string-function