ផ្នែកនេះផ្តល់ការណែនាំ My SQL ដោយបង្ហាញពីរបៀបប្រើ mySQL client program ដើម្បីបង្កើតនិងប្រើ database ធម្មតា។
MySQL គឺជាprogram អន្តរមួយដែលអនុញ្ញាតឲ្យអ្នកធ្វើការភ្ជាប់ទៅកាន់ MySQL server , run queries និង បង្ហាញលទ្ឋផល។ mySQL ក៏ត្រូវបានប្រើនៅក្នុង mode ជាច្រើន៖ អ្នកដាក់ queries របស់អ្នកទុកមុនបន្ទាប់មក ប្រាប់ mysql ដើម្បីដំណើការអត្ថបទរបស់ file។
ដើម្បីមើល list របស់ជំរើសផ្តល់ដោយ mysql ជាមួយនឹង help option ៖
Case Sensitivity
ដូចយើងបានប្រើ SQL និងបង្កើតMySQL យើងគួរតែសង្ខេបការនិយាយពី case sensitivity នៅក្នុង MySQL ។ SQL keyword មិនមែនជា case sensitivity ។
នេះគឺជាស្តង់ដា database systems។ case sensitivity លេចឡើងពឹងផ្អែកលើ database system ដែលអ្នកប្រើ។ នៅក្នុងMySQL database និង table name ជា case sensitivity ដែលពឹងផ្អែកលើ operating system របស់អ្នក។ ហេតុផលសម្រាប់ database នីមួយៗនឹងមាននៅខាងក្រោម directory នៅក្នុង operating system របស់អ្នក និង table នីមួយៗនឹងមាននៅខាងក្រោម file។ Directory name និង filename មានភាពខុសគ្នាអាស្រ័យលើ operating system។
Data Types MySQL
MySQL ប្រើ data type ខុសគ្នាជាច្រើន ដែលបំបែកទៅក្នុងជម្រើសបី ៖ numeric, date time និង string type ។
1. Numeric Data Types
MySQL ប្រើស្តង់ដា ANSI numeric data types ទាំងអស់ ។
- INT ជាទំហំ integer ធម្មតាដែលអាចជា signed ឬ unsigned ។ ប្រសិនបើ signed មានលទ្ឋភាព rang ពី -2147483648 ទៅ 2147483647។ ប្រសិនបើ unsigned មានលទ្ឋភាព rang ពី 0 ទៅ 4294967295។
- TINYINT integer តូចដែលអាចជា signed ឬ unsigned។ ប្រសិនបើ signed មានលទ្ឋភាព rang ពី -128 ទៅ 127។ ប្រសិនបើ unsigned មានលទ្ឋភាព rang ពី 0 ទៅ 255។
- SMALLINT integer តូចដែលអាចជា signed ឬ unsigned។ ប្រសិនបើ signed មានលទ្ឋភាព rang ពី -32768 ទៅ 32767។ ប្រសិនបើ unsigned មានលទ្ឋភាព rang ពី 0 ទៅ 65535។
- MEDIUMINT integer កណ្តាលដែលអាចជា signed ឬ unsigned។ ប្រសិនបើ signed មានលទ្ឋភាព rang ពី -8388608ទៅ 8388607។ ប្រសិនបើ unsigned មានលទ្ឋភាព rang ពី 0 ទៅ 16777215។
- BIGINT integer មានទំហំធំដែលអាចជា signed ឬ unsigned។ ប្រសិនបើ signed មានលទ្ឋភាព rang ពី –9223372036854775808 ទៅ 9223372036854775807។ ប្រសិនបើ unsigned មានលទ្ឋភាព rang ពី 0 ទៅ 18446744073709551615។
- FLOAT(M,D) ជាចំនួនទសភាគដែលមិនអាច unsigned ។ អ្នកអាចកំណត់ការបង្ហាញចំងាយ(M) និង ចំនួយរបស់ប្រពន្ឋ័គោលដប់(D)។ ដែលជា default គឺ 10,2 ដែល 2ជាចំនួយនៃប្រពន្ឋ័គោលដប់ និង 10 ជាចំនួនសរុបនៃ digits
- DOUBLE(M,D) ចំនួន double precision floating-point ដែលមិនអាចជា unsigned អ្នកអាចកំណត់ការបង្ហាញចម្ងាយ(M) និងចំនួននៃប្រពន្ឋ័គោលដប់។ តម្លៃជា default គឺ 16,4 ដែល 4 គឺជាចំនួនប្រព្ឋ័គោល 10។
- DECIMAL(M,D) ត្រូវបានបំបែកចេញពី floating-point number ដែលមិនអាចជា unsigned ។ នៅក្នុងការបំបែក decimals decimal នីមួយស្មើរនឹង 1 byte។ ការកំណត់ការបង្ហញចំងាយ(M) និង decimal (D)គឺជាតម្រូវការ។
រាល់data type ជា numeric របស់ MySQL ទាំងងស់ អ្នកនឹងចូលចិត្តប្រើ INT ច្រើនជាងគេ។ អ្នកអាច run ទៅកាន់បញ្ហាប្រសិនបើអ្នកកំណត់ fields តូចជាងអ្វីដែលអ្នកត្រូវការពិតប្រាកដ ឧទាហរណ៍ ប្រសិនបើអ្នកំណត់ field id មួយជា unsigned TINYINT អ្នកនឹងមិនមានលទ្ឋភាពក្នុងការបញ្ចូល 256record ប្រសិនបើ id គឺជា primary key ។
Storage Requirements for Numeric Types
Data Type | Storage Required |
TINYINT | 1 byte |
SMALLINT | 2 bytes |
MEDIUMINT | 3 bytes |
INT, INTEGER | 4 bytes |
BIGINT | 8 bytes |
FLOAT(p) | 4 bytes if 0 <= p <= 24, 8 bytes if 25 <= p <= 53 |
FLOAT | 4 bytes |
DOUBLE [PRECISION], REAL | 8 bytes |
DECIMAL(M,D), NUMERIC(M,D) | Varies |
BIT(M) | approximately (M+7)/8 bytes |
2. Date and Time Types
MySQL មាន data type ជាច្រើនសម្រាប់ធ្វើការ store date និង time ហើយ date typeទាំងនេះអាចផ្លាស់ប្តូរនៅក្នុងការបញ្ចូលរបស់ពួកគេ។
ភាពដែលអាចផ្លាស់ប្តូរនៃ ប្រភេទ date និង time របស់ MySQLចង្អុលប្រាប់ពីទំនួលខុសត្រូវសម្រាប់ការត្រួតពិនិត្យនៅលើ application developer ។ MySQL ត្រួតពិនិត្យតែពីរ element ប៉ុណ្ណោះសម្រាប់សុពលភាព៖ដូចជា month គឺនៅចន្លោះពី 0 ទៅ 12 និង day ចន្លោះពី 0 ទៅ 31 ។
The MySQL date and time data types are
- DATE ៖ date មួយនៅក្នុង ទំរង់ YYYY-MM-DD ចន្លោះពី 1000-01-01និង 9999-12-31។ឧទាហរណ៍ December 30th, 1973 would be stored as 1973-12-30.
- DATETIME ៖ date and time រួមបញ្ចូលក្នុងទំរង់ YYYY-DD-MM HH:MM:SS នៅចន្លោះពី 1000-01-01 00:00:00 និង 9999:-12-31-23:59:59។ ឧទាហរណ៍ ម៉ោង 3:30 ពេលរសៀល នៅថ្ងៃទី 30 ខែធ្នូ ឆ្នាំ 1973 អាចត្រូវបាន store ដូច1973-12-30 15:30:00។
- TIMESTAMP ៖ timestamp នៅចន្លោះពាក់កណ្តាលយប់ ថ្ងៃទី 1 ខែ មករា ឆ្នាំ 1970 និងពេលខ្លះនៅក្នុងឆ្នាំ 2037។ អ្នកអាចកំណត់រយៈពេលច្រើនទៅឲ្យ field TIMESTAMPដែលមានទំនាក់ទំនងភ្លាមៗទៅកាន់អ្វីដែល store ទុកនៅក្នុងវា។ រយៈពេលជា default សម្រាប់ TIMESTAMP គឺ 14 ដែល store ក្នុងទំរង់ YYYYMMDDHHMMSS។ វាមើលទៅដូចទំរង់ DATETIME វាគ្រាន់តែមិនមានសហសញ្ញានោចន្លោះលេខប៉ុណ្ណោះ ។ឧទាហរណ៍ ម៉ោង 3:30 ពេលរសៀល នៅថ្ងៃទី 30 ខែធ្នូ ឆ្នាំ 1973 អាចត្រូវបាន store ដូច19731230153000។ការកំណត់ដ៏ទៃទៀតរបស់ TIMESTAMP គឺ 12 (YYMMDDHHMMSS), 8 (YYYYMMDD),និង 6(YYMMDD).
- TIME store ពេលវេលាក្នុងទំរង់ HH:MM:SS ។
- YEAR(M) store year ក្នុងទំរង់ 2digit ឬ 4 digit ។ ប្រសិនបើរយៈបពលត្រូវបានកំណត់ស្មើរ 2 (YEAR(2)) YEAR អាចចាប់ពី 1970 ទៅ 2069។ ប្រសិនបើរយៈពេលត្រូវបានកំណត់ស្មើរ 4 YEAR អាចចាប់ពី 1901ទៅ 2155។រយៈពេលជា default គឺ 4។
Storage Requirements for Date and Time Types
Data Type | Storage Required |
DATE | 3 bytes |
TIME | 3 bytes |
DATETIME | 8 bytes |
TIMESTAMP | 4 bytes |
YEAR | 1 byte |
3. String Types
ទោះបីជា numeric និង data types ជា fun data ភាគច្រើនដែលអ្នកនឹង store ទុកនៅក្នុង string format ។ List នេះពិពណ៌នាពី string data type សាមញ្ញនៅក្នុង MySQL។
- CHAR(M) ៖ String fixed-length នៅចន្លោះពី 1ទៅ 255 អក្សរនៅក្នុង length (CHAR(5)) Right-padded ជាមួយ spaces ទៅឲ្យ length ពេល store។ ការកំណត់ length គឺមិនត្រូវការ ប៉ុន្តែជា default គឺ 1។
- VARCHAR(M) ៖ String variable-length នៅចន្លោះពី 1 ទៅ 255អក្សរនៅក្នុង length (CHAR(5))។ អ្នកត្រូវតែកំណត់ length មួយនៅពេលធ្វើការបង្កើត field VARCHAR។
- BLOB OR TEXT ៖ field មួយជាមួយនឹងអតិបរមា length នៃ 65535 អក្សរ។ BLOB គឺជា “Binary Large Object” ហើយប្រើដើម្បី store ចំនួនច្រើននៃ binary data ដូចជា images ឬ ប្រភេទ file ដ៏ទៃទៀត។ filed កំណត់ដោយ TEXT ផ្ទុកចំនួនច្រើនរបស់ data ។ ភាពខុសគ្នា្វវាង data type ទាំងពីនេះគឺ sort និង comparisons លើការ store data ជា case sensitive នៅលើ Blobs និង មិនមែនជា case sensitive នៅក្នុង TEXT filed ។អ្នកមិនធ្វើការកំណត់ length ជាមួយ BLOB OR TEXTឡើយ។
- TINYBLOB OR TINYTEXT ៖ Column BLOB ឬ TEXTមួយជាមួយនឹងអតិបរមា length នៃ 255 អក្សរ។ អ្នក មិនធ្វើការកំណត់ length ជាមួយ TINYBLOB OR TINYTEXTឡើយ។
- MEDIUMBLOB ឬ MEDIUMTEXT ៖ Column BLOB ឬ TEXTមួយជាមួយនឹងអតិបរមា length នៃ 16777215 អក្សរ។ អ្នក មិនធ្វើការកំណត់ length ជាមួយ MEDIUMBLOB OR MEDIUMYTEXTឡើយ។
- LONGBLOB ឬ LOONGTEXT ៖ ៖ Column BLOB ឬ TEXTមួយជាមួយនឹងអតិបរមា length នៃ 4294967295 អក្សរ។ អ្នក មិនធ្វើការកំណត់ length ជាមួយ LONGBLOB OR LONGTEXTឡើយ។
- ENUM ៖ Enumeration ដែលជា term list ប្រសើរមួយ។ ពេលធ្វើការកំណត់ ENUM មួយ អ្នកធ្វើការបង្កើត list នៃ items ពីតម្លៃដែលត្រូវបានជ្រើសរើស9(ឬវាអាចទទេ) ។ ប្រសិនបើអ្នកចង់ឲ្យ field របស់អ្នកផ្ទុក “A” ឬ“B”ឬ “C” អ្នកអាចកំណត់ ENUM មួយដូច ENUM (‘A’,’B’,’C’) ។ ENUMs អាចមានតម្លៃ 65535 ខុសៗគ្នា។
អ្នកប្រហែលជាប្រើ field VARCHAR និង TEXT ច្រើនជាងប្រភេទ field ដ៏ទៃទៀត និង ENUMs មានប្រយោជន៍ដែល។
Value | CHAR(4) | Storage Required | VARCHAR(4) | Storage required |
” | ‘ ‘ | 4 bytes | ” | 1 byte |
‘ab’ | ‘ab ‘ | 4 bytes | ‘ab’ | 3 bytes |
‘abcd’ | ‘abcd’ | 4 bytes | ‘abcd’ | 5 bytes |
‘abcdefgh’ | ‘abcd’ | 4 bytes | ‘abcd’ | 5 bytes |