មេរៀនទី១២: ការណែនាំអំពី MySQL

មេរៀនទី១២: ការណែនាំអំពី MySQL

. តើ​អ្វី​ជា MySQL?

MySQL គឺ​ជា relational database management system (RDBMS) មួយ​ដែល​មាន​ការ​និយម​ប្រើ​ប្រាស់​ពី​សំណាក់​អ្នក​កសាង​គេហ​ទំព័រ​។ យើង​ប្រើ MySQL ដើម្បី​រក្សា​ទុក​ទិន្នន័យ​របស់​គេហ​ទំព័រ របស់​យើង ហើយ​អាច​ធ្វើ​ការ​កែ​ប្រែ និង លុប​ទិន្នន័យ​ជា​ដើម។
អ្នក​កសាង​គេហ​ទំព័រ​ជា​ច្រើន​នៅ​លើ​ពិភព​លោក បាន​ជ្រើស​រើស PHP និង MySQL ដើម្បី​យក​មក កសាង​គេហ​ទំព័រ​របស់​ពួក​គេ។
MySQL បាន​ក្លាយ​ជា open source database ល្បី​ជាង​គេ​នៅ​លើ​ពិភព​លោក ដោយ​សារ​តែ វា​មាន ដំណើរ​ការ​លឿន, ផ្តល់​ទំនុក​ចិត្ត​ខ្ពស់ និង ងាយ​ស្រួល​ក្នុង​ការ​ប្រើ​ប្រាស់។

សំគាល់៖
មុន​នឹង​ចាប់​ផ្តើម​រៀន MySQL យើង​ត្រូវ​ចេះ HTML និង PHP ជា​មុន​សិន

 ២. ប្រភេទទិន្នន័យ

 ខាង​ក្រោម​នេះ គឺ​ជា​ប្រភេទ​ទិន្នន័យ​របស់ MySQL ដែល​យើង​តែង​តែ​ប្រើ​ញឹក​ញាប់

ប្រភេទ​ទិន្នន័យ​ជា​ចំនួន

INT : ជា​ប្រភេទ​ទិន្នន័យ​ជា​ចំនួនគត់ វា​មាន​ប្រវែង -2147483648 to 2147483647 ករណី​គិត​សញ្ញា និង​ពី 0 ទៅ 4294967295 ករណី​មិន​គិត​សញ្ញា។
smallint : ជា​ប្រភេទ​ទិន្នន័យ​ជា​ចំនួន​គត់​ដែរ តែ​មាន​ទំហំ​តូច​ជាង int។ វា​មាន​ប្រវែង ពី -32768 ទៅ 32767 ក្នុង​ករណី គិត​សញ្ញា និង​ពី 0 to 65535 ក្នុង​ករណី​មិន​គិត​សញ្ញា។
TINYINT : ជា​ប្រភេទ​ទិន្នន័យ​ជា​ចំនួន​គត់​ដែរ តែ​មាន​ទំហំ​តូច​ជាង smallint។ វា​មាន​ប្រវែង​ពី -128 ទៅ 127 ក្នុង​ករណី​គិត​សញ្ញា និង​ពី 0 to 255 ក្នុង​ករណី​មិន​គិត​សញ្ញា​។
FLOAT(M,D) : ជា​ប្រភេទ​ទិន្នន័យ​ចំនួន​ទសភាគ ដែល M មាន​នាទី​កំណត់​ប្រវែង​នៃ​ការ​បង្ហាញ និង D កំណត់​ប្រវែង​ចំនួន​ក្រោយ​ក្បៀស។
DOUBLE(M,D) : ជា​ប្រភេទ​ទិន្នន័យ​ចំនួន​ទសភាគ​ដែរ ប៉ុន្តែ​វា​មាន​ប្រវែង​ធំ​ជាង float។

ប្រភេទ​ទិន្នន័យ​ជា អក្សរ

CHAR(M) : ជា​ប្រភេទ​ទិន្នន័យ​ជា​អក្សរ ដែល​មាន​ប្រវែង​ពី ១ → ២៥៥ តួ​អក្សរ។ ទំហំ​នៃ​ការ​ផ្ទុក​របស់​វា អា​ស្រ័យ​ទៅ​លើ​ការ​កំណត់ ចំនួន​តួ (M)។
VARCHAR(M) : ជា​ប្រភេទ​ទិន្នន័យ​ជា​អក្សរ ហើយ​ទំហំ​នៃ​ការ​ផ្ទុក​របស់ វា​មិន​អាស្រ័យ​ទៅ​លើ​ការ​កំណត់ ចំនួន​តួ (M) នោះ​ទេ វា​អាស្រ័យ​ទៅ​លើ តម្លៃ​ដែល​វា​ផ្ទុក ហើយ​បូក​ជា​មួយ នឹង ១ byte នៃ​ទំហំ​របស់ Space។
ឧទាហរណ៍

a

TEXT : ជា​ប្រភេទ​ទិន្នន័យ​ជា​អក្សរ​ដែល​មាន​លទ្ធភាព​ផ្ទុក​បាន ៦៥៥៣៥ តួ​អក្សរ​។

 

– ប្រភេទ​ទិន្នន័យ​ជា ថ្ងៃ​ខែ​ (កាល​បរិច្ឆេទ) និង ម៉ោង

DATE : ប្រភេទ​ទិន្នន័យ​ជា​ថ្ងៃ​ខែ ដែល​មាន​ទំរង់ YYYY-MM-DDហើយ​អាច​មាន​តម្លៃ​ពី ១០០០-01-01 ដល់ 9999-12-31 ។
DATETIME : ប្រភេទ​ទិន្នន័យ​ជា​ថ្ងៃខែ និង ម៉ោង​បញ្ចូល​គ្នា ដែល​មាន​ទំរង់ YYYY-MM-DD HH:MM:SS ។
TIME : ប្រភេទ​ទិន្នន័យ​ជា​ម៉ោង ដែល​មាន​ទំរង់ HH:MM:SS ។

៣. របៀប​បង្កើត, លុប, បង្ហាញ និង ប្រើ Database

ដើម្បី​បង្កើត Database អាច​យើង​ប្រើ phpMyAdmin (មាន Interface), MySQL Console (ប្រើ Command Line) និង កម្ម​វិធី​ផ្សេង​ៗ​ទៀត​។ ប៉ុន្តែ​នៅ​ក្នុង​មេរៀន​នេះ អាយ​ធី​កូន​ខ្មែរ​សូម​លើក​យក​ MySQL Console មក​ប្រើ ដើម្បី​ឲ្យ​យើង​អាច ចង់​ចាំ និង ចេះ ពី​កូដ​របស់ MySQL។

 

. របៀប​ចូល​ទៅកាន់ MySQL Console

មុន​ដំបូង​យើង​ត្រូវ​បើក Wamp Server ជា​មុន​សិន បន្ទាប់​មក​ចុច​លើ Trail Icon របស់​វា → MySQL → MySQL Console
a

បន្ទាប់​មក​វា​នឹង​បង្ហាញ​ផ្ទាំង​មួយ​ដែល​តំរូវ​ឲ្យ​យើង​បញ្ជូល​លេខ​សំងាត់ ប៉ុន្តែ​ជា​ធម្មតា យើង​មិន​ចាំ​បាច់​វាយ​បញ្ជូល​នោះ​ទេ ដូចនេះ​យើង​គ្រាន់​ចុច Enter ពេល​នោះ​វា​បង្ហាញ​ផ្ទាំង​ដែល​អាច ឲ្យ​យើង​សរសេរ កូដ​របស់ MySQL បាន​ហើយ​។

a

សំគាល់:
វាយ exit រួច​ចុច Enter ដើម្បី​ចាក​ចេញ

 

. របៀប​បង្កើត Database

ទំរង់ទូទៅ

CREATE DATABASE database_name;

 

ឧទាហរណ៍

a

សំគាល់: យើង​អាច​ចុច​លើ Up & Down Arrow key ដើម្បី​យក command ដែល​យើង​ធ្លាប់​ប្រើ មក​ប្រើ​ម្តង​ទៀត​បាន​។

 

. របៀប​បង្ហាញ Database ទាំង​អស់​ដែល​យើង​បាន​បង្កើត

ទំរង់ទូទៅ

SHOW DATABASES;

 

ឧទាហរណ៍

a

របៀប​ជ្រើស​យក Database មក​ប្រើ

មុន​នឹង​យើង​ធ្វើ​ការ​បង្កើត Table យើង​ត្រូវ​ជ្រើស​រើស Database ជា​មុន​សិន​។

ទំរង់ទូទៅ

USE database_name;

 

ឧទាហរណ៍

a

របៀបលុប Database

ទំរង់ទូទៅ

DROP DATABASE database_name;

 

ឧទាហរណ៍

DROP DATABASE dbsample;

 

៤. របៀប​បង្កើត,លុប និង មើល​ព័ត៌មាន Table

របៀបបង្កើត Table

ទំរង់ទូទៅ

CREATE TABLE Table_Name(Field_Name1 Datatype(num),
                                             Field_Name2 Datatype(num), . . . );

ឧទាហរណ៍

mysql> CREATE TABLE tbluser(us_id INT,us_name VARCHAR(50),

us_username VARCHAR(5),us_password VARCHAR(50),create_date DATE);

 

. របៀប​បង្ហាញ​ព័ត៌មាន​ផ្សេង​ៗ​របស់ Table

ទំរង់ទូទៅ

DESC table_name;  | DESCRIPE table_name;

ឧទាហរណ៍

a

.របៀប​លុប Table ចេញ​ពី Database

ទំរង់ទូទៅ

DROP TABLE Table_Name;

ឧទាហរណ៍

ALTER TABLE tbluser;

៥. Attribute របស់ Column

Attribute គឺ​យើង​ប្រើ​វា​ដើម្បី​កំណត់​លក្ខណៈ​ទៅ​ឲ្យ Column និមួយ​ៗ​របស់ Table ដូច​ជា​កំណត់​ជា មិន​មាន​ស្ទួល ឬ ជា Primary Key ជា​ដើម។
ខាង​ក្រោម​នេះ គឺ​ជា Attribute និង មុខ​ងាររបស់​វា

. Unsigned : មិន​គិត​សញ្ញា​
. Signed : គិត​សញ្ញា
. Auto_Increment : កំណត់​វា​ឲ្យ​កើន​ដោយ​ស្វ័យ​ប្រវត្តិ (Auto number)
. Unique : មិន​អាច​មាន​ស្ទួន
. Null : អនុញ្ញាត​ឲ្យ​ទទេ
. Not Null : មិន​អនុញ្ញាត​ឲ្យ​ទទេ
. Default Value : តំណត់​តម្លៃ Default

ឧទាហរណ៍

mysql> CREATE TABLE tbluser(us_id INT UNSIGNED NOT NULL PRIMARY KEY

AUTO_INCREMENT,us_name VARCHAR(50),us_username VARCHAR(5),us_password

VARCHAR(50),create_date DATE);

a

៦. ការ​ធ្វើ​ការ​កែ​ប្រែ Table

ករណី​ដែល​យើង​បាន​បង្កើត Table រួច​ហើយ ប៉ុន្តែ​មាន​ការ​ខ្វះ,លើស ឬ ខុស​ត្រង់ យើង​មិន​ចាំ​បាច់ លុប​វា​ចោល រួច​បង្កើត​សារ​ជា​ថ្មី​នោះ​ទេ គឺ​យើង​មាន​លទ្ធភាព​អាច​ការ​ប្រែ​វា​បាន ដូច​វិធី​ដែល​មាន បង្ហាញ​ខាង​ក្រោម​។

 

. បន្ថែម Field ថ្មី​ឲ្យ Table (មាន​ទី​តាំង​បន្ទាប់​ពី field ដែល​មាន)

ទំរង់ទូទៅ

ALTER TABLE table_name ADD field_name,ADD field_name2 . . . ;

ឧទាហរណ៍

ALTER TABLE tbluser ADD us_email;

 

. បន្ថែម Field ដែល​មាន​ទីតាំង​នៅ​មុខគេ

ទំរង់ទូទៅ

ALTER TABLE table_name ADD field_name FIRST field_name2 . . . ;

ឧទាហរណ៍

ALTER TABLE tbluser ADD us_website FIRST;

 

. បន្ថែម Field ថ្មី ដែល​មាន​ទីតាំង​បន្ទាប់​ពី Field ណា​មួយ

ទំរង់ទូទៅ

ALTER TABLE table_name ADD field_name datatype AFTER other_field_name,

ADD field_name2 . . . ;

ឧទាហរណ៍

ALTER TABLE tbluser ADD us_address TEXT AFTER us_email;

 

. លុប Field ណា​មួយ​ចេញ​ពី Table

ទំរង់ទូទៅ

ALTER TABLE table_name DROP field_name ;

ឧទាហរណ៍

ALTER TABLE tbluser DROP us_website ;

 

៧. របៀប​បញ្ចូល​ទិន្នន័យ (Insert)

ទំរង់ទូទៅ

INSERT INTO table_name ( field1, field2,…fieldN )

VALUES( value1, value2,…valueN );

ឧទាហរណ៍

INSERT INTO tbluser(us_name,us_username,us_password)

VALUES(“chan reaksmey”,”reaksmey”,”R3a5mey”);

សំគាល់:
ដោយ us_id ជា auto_number ដូចនេះ​យើង​មិន​ចាំ​បញ្ចូល​ឲ្យ​វា​នោះ​ទេ​។

៨. របៀបទាញយកទិន្នន័យពី Table (Select)

ទំរង់ទូទៅ

SELECT field_name1,field_name2,.. FROM table_name [WHERE];

ឧទាហរណ៍១

mysql> SELECT us_id,us_name,us_username,us_password FROM tbluser;

+——-+—————+————-+————-+

| us_id | us_name       | us_username | us_password |

+——-+—————+————-+————-+

|     1 | Chan Reaksmey | Reaks       | R3ak5mey    |

|     2 | Chan Dara     | Dara        | dara09      |

|     3 | Sok San       | San         | 5an         |

+——-+—————+————-+————-+

3 rows in set (0.04 sec)

 

ឧទាហរណ៍២

mysql> SELECT * FROM tbluser;

+——-+—————+————-+————-+

| us_id | us_name       | us_username | us_password |

+——-+—————+————-+————-+

|     1 | Chan Reaksmey | Reaks       | R3ak5mey    |

|     2 | Chan Dara     | Dara        | dara09      |

|     3 | Sok San       | San         | 5an         |

+——-+—————+————-+————-+

3 rows in set (0.00 sec)

 

សំគាល់:
slect * មាន​ន័យ​ថា select គ្រប់ field ទាំង​អស់​របស់ Table។

. ការ​ប្រើ​ប្រាស់ WHERE

យើង​ប្រើ​ប្រាស់ WHERE នៅ​ករណី​ដែល​យើង​ចង់​ដាក់​លក្ខខ័ណ្ឌ​ទៅ​ឲ្យ​ការ​ទាញ​យក​ទិន្នន័យ របស់​យើង ដូច​ជា user ណា​ដែល​មាន លេខ us_id = 1 ជា​ដើម។

ឧទាហរណ៍

mysql> SELECT * FROM tbluser WHERE us_id <3;

+——-+—————+————-+————-+

| us_id | us_name       | us_username | us_password |

+——-+—————+————-+————-+

|     1 | Chan Reaksmey | Reaks       | R3ak5mey    |

|     2 | Chan Dara     | Dara        | dara09      |

+——-+—————+————-+————-+

2 rows in set (0.04 sec)

 

៩. របៀប​កែ​ប្រែ​ទិន្នន័យ នៅ​ក្នុង Table (Update)

នៅ​ក្នុង​ការ​កែ​ប្រែ​ទិន្នន័យ​នេះ យើង​ត្រូវ​ដឹង​ច្បាស់​ថា​តើ Record មួយ​ណា​ដែល​យើង​ចង់​ធ្វើ​ការ​កែ​ប្រែ ដូច​នេះ យើង​ចាំ​បាច់​ត្រូវ​តែ​ប្រើ លក្ខ​ខ័ណ្ឌ ដើម្បី​ធ្វើ​ការ​កែ​ប្រែ បាន។

ទំរង់ទូទៅ

UPDATE table_name SET field1=new-value1, field2=new-value2 WHERE …;

ឧទាហរណ៍

mysql> UPDATE tbluser SET us_name=”Sok Chandara” WHERE us_id=2;

Query OK, 1 row affected (0.09 sec)

Rows matched: 1  Changed: 1  Warnings: 0

 

mysql> SELECT * FROM tbluser;

+——-+—————+————-+————-+

| us_id | us_name       | us_username | us_password |

+——-+—————+————-+————-+

|     1 | Chan Reaksmey | Reaks       | R3ak5mey    |

|     2 | Sok Chandara  | Dara        | dara09      |

|     3 | Sok San       | San         | 5an         |

+——-+—————+————-+————-+

3 rows in set (0.00 sec)

១០. របៀប​លុប​ទិន្នន័យ​ចេញ​ពី Table (Delete)

ទំរង់ទូទៅ

DELETE FROM table_name [WHERE];

ឧទាហរណ៍១

mysql> DELETE FROM tbluser;

Query OK, 3 rows affected (0.08 sec)

 

mysql> SELECT * FROM tbluser;

Empty set (0.00 sec)

សំគាល់:
ក្នុង​ករណី​ដែល​យើង​មិន​បាន​ដាក់​លក្ខខ័ណ្ឌ នោះ​វា​នឹង​លុប ទិន្នន័យ​ទាំង​អស់​នៅ​ក្នុង Table។

 

ឧទាហរណ៍២

mysql> DELETE FROM tbluser WHERE us_id=3;

Query OK, 1 row affected (0.07 sec)

 

mysql> SELECT * FROM tbluser;

+——-+—————+————-+————-+

| us_id | us_name       | us_username | us_password |

+——-+—————+————-+————-+

|     1 | Chan Reaksmey | Reaks       | R3ak5mey    |

|     2 | Chan Dara     | Dara        | dara09      |

+——-+—————+————-+————-+

2 rows in set (0.03 sec)

១១. របៀប​បង្កើត​ Database ជា​មួយ phpMyAdmin

លើក​មុន​យើង​បាន​ដឹង​ពី​របៀប​នៃ​ការ​បង្កើត Database ដោយ​ប្រើ Command រួច​មក​ហើយ តែ​ពេល​នេះ យើង​មក​បង្កើត​តាម phpMyAdmin វិញ​ម្តង។

មុន​ដំបូង​យើង​បើក Wamp Server បន្ទាប់​មក​ទៀត​ចុច​លើ អាយ​ខុន​(ពណ៌​បៃតង)​របស់ Wamp → phpMyAdmin

ITCAMBO_New