ប្រភេទលិបិក្រមមូលដ្ឋានទិន្នន័យ MySQL / បង្កើត / ប្រើបន្សំ ALTER statement use in MySQL

MySQLប្រភេទលិបិក្រម/បង្កើត/ប្រើបន្សំផ្លាស់ប្តូរចូលMySQLការប្រើប្រាស់ពាក្យបញ្ជា

សន្ទស្សន៍ MySQL

ការបង្កើតលិបិក្រម MySQL គឺមានសារៈសំខាន់ខ្លាំងណាស់សម្រាប់ប្រតិបត្តិការប្រកបដោយប្រសិទ្ធភាពនៃ MySQL ហើយសន្ទស្សន៍អាចធ្វើអោយល្បឿនទាញយក MySQL ប្រសើរឡើង។

ឧទាហរណ៍ ប្រសិនបើ MySQL ជាមួយនឹងការរចនាសមហេតុផល និងការប្រើប្រាស់លិបិក្រមគឺជា Lamborghini នោះ MySQL ដែលគ្មានលិបិក្រម និងលិបិក្រមគឺជាកង់បីរបស់មនុស្ស។

សន្ទស្សន៍ត្រូវបានបែងចែកទៅជាសន្ទស្សន៍ជួរឈរតែមួយ និងសន្ទស្សន៍សមាសធាតុ។លិបិក្រមជួរឈរតែមួយ ពោលគឺសន្ទស្សន៍មានជួរឈរតែមួយ តារាងមួយអាចមានលិបិក្រមជួរឈរតែមួយច្រើន ប៉ុន្តែនេះមិនមែនជាសន្ទស្សន៍ផ្សំទេ។សន្ទស្សន៍សមាសធាតុ ពោលគឺសន្ទស្សន៍មួយមានជួរឈរច្រើន។

នៅពេលបង្កើតលិបិក្រម អ្នកត្រូវប្រាកដថាលិបិក្រមគឺជាលក្ខខណ្ឌដែលអនុវត្តចំពោះសំណួរ SQL (ជាធម្មតាជាលក្ខខណ្ឌនៃឃ្លា WHERE)។

ជាការពិត លិបិក្រមក៏ជាតារាងដែលរក្សាទុកសោបឋម និងវាលលិបិក្រម ហើយចង្អុលទៅកំណត់ត្រានៃតារាងអង្គភាព។

ខាងលើកំពុងនិយាយអំពីអត្ថប្រយោជន៍នៃការប្រើប្រាស់លិបិក្រម ប៉ុន្តែការប្រើប្រាស់លិបិក្រមច្រើនពេកនឹងនាំឱ្យមានការរំលោភបំពាន។ដូច្នេះ លិបិក្រមក៏នឹងមានចំណុចខ្វះខាតរបស់វាផងដែរ៖ ទោះបីជាលិបិក្រមធ្វើអោយល្បឿនសំណួរមានភាពប្រសើរឡើងក៏ដោយ វានឹងកាត់បន្ថយល្បឿននៃការធ្វើបច្ចុប្បន្នភាពតារាង ដូចជា INSERT, UPDATE និង DELETE នៅលើតារាង។ដោយសារតែនៅពេលធ្វើបច្ចុប្បន្នភាពតារាង MySQL មិនត្រឹមតែរក្សាទុកទិន្នន័យប៉ុណ្ណោះទេប៉ុន្តែថែមទាំងរក្សាទុកឯកសារលិបិក្រមផងដែរ។

ការធ្វើលិបិក្រមឯកសារលិបិក្រមដែលប្រើប្រាស់ទំហំថាស។


សន្ទស្សន៍ធម្មតា។

បង្កើតលិបិក្រម

នេះគឺជាលិបិក្រមមូលដ្ឋានបំផុត វាមិនមានការរឹតបន្តឹងទេ។វាអាចត្រូវបានបង្កើតតាមវិធីដូចខាងក្រោមៈ

CREATE INDEX indexName ON mytable(username(length)); 

សម្រាប់ប្រភេទ CHAR និង VARCHAR ប្រវែងអាចតិចជាងប្រវែងជាក់ស្តែងនៃវាល។ សម្រាប់ប្រភេទ BLOB និង TEXT ប្រវែងត្រូវតែបញ្ជាក់។

កែប្រែរចនាសម្ព័ន្ធតារាង (បន្ថែមលិបិក្រម)

ALTER table tableName ADD INDEX indexName(columnName)

បញ្ជាក់ដោយផ្ទាល់នៅពេលបង្កើតតារាង

CREATE TABLE mytable(  
 
ID INT NOT NULL,   
 
username VARCHAR(16) NOT NULL,  
 
INDEX [indexName] (username(length))  
 
);  

វាក្យសម្ព័ន្ធដើម្បីទម្លាក់សន្ទស្សន៍

DROP INDEX [indexName] ON mytable; 

សន្ទស្សន៍តែមួយគត់

វាស្រដៀងទៅនឹងសន្ទស្សន៍ធម្មតាពីមុន ភាពខុសគ្នាគឺ៖ តម្លៃនៃជួរឈរលិបិក្រមត្រូវតែមានតែមួយគត់ ប៉ុន្តែតម្លៃទុកជាមោឃៈត្រូវបានអនុញ្ញាត។ក្នុង​ករណី​នៃ​លិបិក្រម​ផ្សំ ការ​រួម​បញ្ចូល​គ្នា​នៃ​តម្លៃ​ជួរ​ឈរ​ត្រូវ​តែ​មាន​តែ​មួយ​គត់។វាអាចត្រូវបានបង្កើតតាមវិធីដូចខាងក្រោមៈ

បង្កើតលិបិក្រម

CREATE UNIQUE INDEX indexName ON mytable(username(length)) 

កែប្រែរចនាសម្ព័ន្ធតារាង

ALTER table mytable ADD UNIQUE [indexName] (username(length))

បញ្ជាក់ដោយផ្ទាល់នៅពេលបង្កើតតារាង

CREATE TABLE mytable(  
 
ID INT NOT NULL,   
 
username VARCHAR(16) NOT NULL,  
 
UNIQUE [indexName] (username(length))  
 
);  

បន្ថែម និងលុបលិបិក្រមដោយប្រើពាក្យបញ្ជា ALTER

មានវិធីបួនយ៉ាងដើម្បីបន្ថែមលិបិក្រមទៅក្នុងតារាងទិន្នន័យ៖

  • ALTER TABLE tbl_name ADD PRIMARY KEY (column_list): សេចក្តីថ្លែងការណ៍នេះបន្ថែមសោចម្បង ដែលមានន័យថាតម្លៃលិបិក្រមត្រូវតែមានតែមួយគត់ និងមិនអាច NULL បានទេ។
  • ALTER TABLE tbl_name ADD UNIQUE index_name (column_list): តម្លៃនៃលិបិក្រមដែលបង្កើតដោយសេចក្តីថ្លែងការណ៍នេះត្រូវតែមានតែមួយគត់ (លើកលែងតែ NULL, NULL អាចបង្ហាញច្រើនដង)។
  • ALTER TABLE tbl_name បន្ថែម INDEX index_name (column_list): បន្ថែមសន្ទស្សន៍ធម្មតា តម្លៃលិបិក្រមអាចលេចឡើងច្រើនដង។
  • ALTER TABLE tbl_name បន្ថែម FULLTEXT index_name (column_list):សេចក្តីថ្លែងការណ៍បញ្ជាក់លិបិក្រមជា FULLTEXT សម្រាប់ការបង្កើតលិបិក្រមអត្ថបទពេញ។

ឧទាហរណ៍ខាងក្រោមគឺការបន្ថែមលិបិក្រមទៅតារាង។

mysql> ALTER TABLE testalter_tbl ADD INDEX (c);

អ្នកក៏អាចប្រើឃ្លា DROP នៅលើពាក្យបញ្ជា ALTER ដើម្បីទម្លាក់សន្ទស្សន៍។សាកល្បងឧទាហរណ៍ខាងក្រោមដើម្បីទម្លាក់សន្ទស្សន៍៖

mysql> ALTER TABLE testalter_tbl DROP INDEX c;

បន្ថែម និងលុបសោបឋមដោយប្រើពាក្យបញ្ជា ALTER

គ្រាប់ចុចចម្បងអាចដំណើរការបានតែលើជួរឈរមួយ។ នៅពេលបន្ថែមលិបិក្រមកូនសោចម្បង អ្នកត្រូវធានាថាសោចម្បងមិនមែនជា NULL តាមលំនាំដើម (NOT NULL)។ឧទាហរណ៍មានដូចខាងក្រោម៖

mysql> ALTER TABLE testalter_tbl MODIFY i INT NOT NULL;
mysql> ALTER TABLE testalter_tbl ADD PRIMARY KEY (i);

អ្នកក៏អាចលុបសោចម្បងដោយប្រើពាក្យបញ្ជា ALTER៖

mysql> ALTER TABLE testalter_tbl DROP PRIMARY KEY;

អ្នកគ្រាន់តែត្រូវបញ្ជាក់ PRIMARY KEY នៅពេលទម្លាក់សោបឋម ប៉ុន្តែនៅពេលទម្លាក់សន្ទស្សន៍ អ្នកត្រូវតែស្គាល់ឈ្មោះលិបិក្រម។


បង្ហាញព័ត៌មានសន្ទស្សន៍

អ្នកអាចប្រើពាក្យបញ្ជា SHOW INDEX ដើម្បីរាយព័ត៌មានលិបិក្រមដែលពាក់ព័ន្ធនៅក្នុងតារាង។ព័ត៌មានលទ្ធផលអាចត្រូវបានធ្វើទ្រង់ទ្រាយដោយបន្ថែម \G ។

សាកល្បងឧទាហរណ៍ខាងក្រោម៖

mysql> SHOW INDEX FROM table_name; \G
........

Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) បានចែករំលែក "MySQL Database Index Type/Create/Use Combination ALTER Statement Usage in MySQL" ដែលមានប្រយោជន៍សម្រាប់អ្នក។

សូមស្វាគមន៍ចំពោះការចែករំលែកតំណភ្ជាប់នៃអត្ថបទនេះ៖https://www.chenweiliang.com/cwl-496.html

សូមស្វាគមន៍មកកាន់ឆានែល Telegram នៃប្លុករបស់ Chen Weiliang ដើម្បីទទួលបានព័ត៌មានថ្មីៗចុងក្រោយបង្អស់!

🔔 ក្លាយជាអ្នកដំបូងដែលទទួលបាន "ការណែនាំអំពីការប្រើប្រាស់ឧបករណ៍ AI ទីផ្សារមាតិកា ChatGPT" ដ៏មានតម្លៃនៅក្នុងបញ្ជីកំពូលរបស់ប៉ុស្តិ៍! 🌟
📚 មគ្គុទ្ទេសក៍នេះមានតម្លៃមហាសាល 🌟នេះជាឱកាសដ៏កម្រ សូមកុំអូសរំលង! ⏰⌛💨
Share និង Like ប្រសិនបើអ្នកចូលចិត្ត!
ការចែករំលែក និងការចូលចិត្តរបស់អ្នកគឺជាការលើកទឹកចិត្តបន្តរបស់យើង!

 

发表评论។

អាសយដ្ឋានអ៊ីមែលរបស់អ្នកនឹងមិនត្រូវបានផ្សព្វផ្សាយទេ។ 必填项已用។ * 标注។

រំកិលទៅកំពូល