- 1 1. Utangulizi
- 2 2. Operesheni za Msingi za MySQL (Rafiki wa Mwanzo)
- 3 3. Shughuli za Hifadhidata
- 4 4. Shughuli za Jedwali
1. Utangulizi
MySQL ni hifadhidata ya uhusiano ya chanzo wazi inayotumika sana kati ya mifumo ya usimamizi wa hifadhidata (DBMS). Inajulikana hasa kwa programu za wavuti na mifumo ya biashara. Katika makala hii, tutaelezea amri muhimu za MySQL kwa undani na kupanga maudhui ili watumiaji wa kiwango cha mwanzo hadi kati waweze kujifunza kwa urahisi.
1.1 MySQL ni Nini?
MySQL ni programu inayotumika kusimamia hifadhidata ya uhusiano (RDB). Data huhifadhiwa katika jedwali, na unashughulikia data kwa kutumia SQL (Lugha ya Maswali Iliyopangwa). MySQL ina sifa zifuatazo:
- Chanzo wazi na bure kwa yeyote kutumia
- Haraka na nyepesi katika utendaji
- Inaendana na lugha nyingi za programu (kama PHP, Python, na Java)
- Inafaa kwa kuendesha hifadhidata za kiwango kikubwa
1.2 Faida za Kujifunza Amri za MySQL
Ili kutumia MySQL kwa ufanisi, ni muhimu kuelewa amri za msingi. Faida kuu ni pamoja na:
- Usimamizi wa data bora zaidi : Kumudu amri za SQL hukuwezesha kurejesha, kusasisha, na kufuta data haraka
- Utaratibu wa kazi otomatiki : Kutumia maandishi (scripts) hukuwezesha kuendesha shughuli za hifadhidata kiotomatiki
- Ushughulikiaji wa makosa laini : Wakati matatizo yanatokea, unaweza kuyatatua kwa kutumia amri sahihi za SQL
1.3 Unachojifunza Katika Makala Hii
Makala hii inaelezea mada zifuatazo kwa undani:
- Operesheni za msingi za MySQL (kuanzisha, kuunganisha, na operesheni za hifadhidata)
- Kuongeza, kurejesha, kusasisha, na kufuta data (operesheni za CRUD)
- Usimamizi wa watumiaji na mipangilio ya ruhusa
- Amri muhimu na utatuzi wa matatizo
Baadaye, tutapitia kila sehemu kwa mpangilio. Hebu tuanze na operesheni za msingi za MySQL.
2. Operesheni za Msingi za MySQL (Rafiki wa Mwanzo)
2.1 Kuanzisha na Kuunganisha kwa MySQL
2.1.1 Kuanzisha MySQL
Kwa kuwa MySQL inafanya kazi kama programu ya seva, lazima uanze seva kwanza. Njia ya kuanzisha inatofautiana kulingana na mfumo wa uendeshaji (OS).
Kuanzisha kwenye Linux / macOS
Katika Linux na macOS, unaweza kuanzisha MySQL kwa kutumia amri ya systemctl.
sudo systemctl start mysql
Angalia kama MySQL inaendesha
sudo systemctl status mysql
Ikiwa unaona “active (running)”, MySQL inaendesha kwa kawaida.
Kuanzisha kwenye Windows
Kwenye Windows, MySQL mara nyingi hufanywa kama huduma, hivyo unaweza kutumia amri ya net start.
net start mysql
Au, ikiwa unatumia XAMPP, fungua XAMPP Control Panel na ubofye “Start” kwa “MySQL”.
2.1.2 Kuunganisha kwa MySQL
Ili kuunganisha kwa MySQL, tumia amri ya mysql. Amri ya msingi ya kuunganisha ni kama ifuatavyo:
mysql -u username -p
Unganisha kama mtumiaji root
Kama chaguo-msingi, mtumiaji root anapangwa kama msimamizi. Unaweza kuunganisha kwa amri ifuatayo:
mysql -u root -p
Baada ya kubonyeza Enter, utaulizwa uweke nenosiri. Ikiwa utaweka nenosiri sahihi, utaweza kuingia kwenye MySQL.
Unganisha kwa mwenyeji maalum
Ili kuunganisha kwa seva ya MySQL iliyoko mbali, tumia chaguo -h.
mysql -h hostname -u username -p
Kwa mfano, kuunganisha kwa seva ya MySQL kwenye 192.168.1.100, andika:
mysql -h 192.168.1.100 -u root -p
Unganisha kwa kubainisha nambari ya bandari
Bandari ya chaguo-msingi ya MySQL ni 3306. Ikiwa imebadilishwa, unaweza kuibainisha kwa kutumia chaguo la -P.
mysql -h 192.168.1.100 -P 3307 -u root -p
2.2 Amri za Msingi za MySQL
Mara tu unapounganishwa kwenye MySQL, jaribu kutekeleza baadhi ya amri za msingi.
2.2.1 Angalia toleo la MySQL
Ili kuangalia toleo la MySQL unalotumia kwa sasa, tembea amri ifuatayo:
SELECT VERSION();
2.2.2 Angalia hifadhidata ya sasa
Ili kuangalia hifadhidata ipi imechaguliwa kwa sasa, tembea:
SELECT DATABASE();
Ikiwa hakuna hifadhidata iliyochaguliwa, NULL itarejeshwa.
2.2.3 Orodhesha hifadhidata zinazopatikana
Ili kuorodhesha hifadhidata zilizopo katika MySQL, tumia:
SHOW DATABASES;
2.3 Makosa ya Kawaida na Marekebisho
2.3.1 Hitilafu ya “Access denied”
Mfano wa hitilafu:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
Jinsi ya kurekebisha:
- Thibitisha kuwa nenosiri ni sahihi
- Angalia na urekebishe mamlaka za
rootALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'NEW_PASSWORD'; FLUSH PRIVILEGES;
2.3.2 Kosa la “Haiwezi kuunganisha na seva ya MySQL kwenye ‘localhost’”
Mfano wa kosa:
ERROR 2002 (HY000): Can't connect to MySQL server on 'localhost' (10061)
Jinsi ya kurekebisha:
- Angalia kama MySQL inaendesha (
systemctl status mysql) - Anzisha upya MySQL
sudo systemctl restart mysql
2.4 Muhtasari
Katika sehemu hii, tumeeleza jinsi ya kuanza MySQL na kuunganisha nayo.
3. Shughuli za Hifadhidata
Katika MySQL, unaunda hifadhidata ili kusimamia data, na kisha kupanga taarifa kwa kuiweka majedwali ndani yake. Katika sehemu hii, tutaeleza shughuli za msingi kama vile kuunda, kuchagua, kuorodhesha, na kufuta hifadhidata kwa undani.
3.1 Kuunda Hifadhidata
Ili kuunda hifadhidata katika MySQL, tumia amri ya CREATE DATABASE.
3.1.1 Unda hifadhidata ya msingi
Ikiwa utaendesha amri ya SQL ifuatayo, unaweza kuunda hifadhidata mpya inayoitwa my_database.
CREATE DATABASE my_database;
Ujumbe wakati wa mafanikio ya kuunda
Query OK, 1 row affected (0.01 sec)
3.1.2 Wakati unajaribu kuunda hifadhidata ambayo tayari ipo
Ikiwa hifadhidata tayari ipo, utaona kosa kama ifuatayo:
ERROR 1007 (HY000): Can't create database 'my_database'; database exists
Ili kuzuia kosa hili, ni muhimu kuongeza chaguo la IF NOT EXISTS.
CREATE DATABASE IF NOT EXISTS my_database;
Wakati unapoendesha amri hii, hifadhidata inaundwa tu ikiwa haipo tayari.
3.2 Kuorodhesha Hifadhidata
Ili kuangalia ni hifadhidata zipi zinazopo kwenye seva ya MySQL ya sasa, tumia amri ya SHOW DATABASES.
SHOW DATABASES;
Mfano wa pato:
+--------------------+
| Database |
+--------------------+
| information_schema |
| my_database |
| mysql |
| performance_schema |
| sys |
+--------------------+
Tahadhari: Hifadhidata za mfumo kama mysql na information_schema zinahitajika kwa usimamizi wa MySQL.
3.3 Kuchagua Hifadhidata
Katika MySQL, lazima uchague hifadhidata unayotaka kutumia. Ili kubainisha hifadhidata, endesha amri ya USE.
USE my_database;
Ujumbe wakati wa mafanikio
Database changed
Ili kuthibitisha ni hifadhidata ipi inayochaguliwa kwa sasa, tumia amri ifuatayo:
SELECT DATABASE();
Mfano wa pato:
+------------+
| DATABASE() |
+------------+
| my_database |
+------------+
3.4 Kufuta Hifadhidata
Ili kufuta hifadhidata ambayo hautahitaji tena, tumia amri ya DROP DATABASE.
DROP DATABASE my_database;
3.4.1 Maelezo muhimu kabla ya kufuta
- Kuwa mwangalifu: kufuta hifadhidata kunasababisha kupotea kwa data yote!
- Ili kuepuka makosa ya bahati mbaya, unaweza pia kuongeza
IF EXISTS.DROP DATABASE IF EXISTS my_database;
Amri hii inamaliza bila kosa hata kama my_database haipo.
3.5 Makosa ya Kawaida na Marekebisho
3.5.1 Kosa la “Access denied for user”
Mfano wa kosa:
ERROR 1044 (42000): Access denied for user 'user_name'@'localhost' to database 'my_database'
Jinsi ya kurekebisha
- Toa mamlaka kwa kutumia amri ya
GRANTGRANT ALL PRIVILEGES ON my_database.* TO 'user_name'@'localhost'; FLUSH PRIVILEGES;
3.5.2 Kosa la “Can’t drop database”
Mfano wa kosa:
ERROR 1010 (HY000): Error dropping database (can't rmdir './my_database', errno: 39)
Jinsi ya kurekebisha
- Anzisha upya MySQL
sudo systemctl restart mysql
- Futa majedwali yote katika
my_databasekwanza, kisha endeshaDROP DATABASE.
3.6 Muhtasari
Katika sehemu hii, ulijifunza jinsi ya kuunda, kuchagua, kuorodhesha, na kufuta hifadhidata.
4. Shughuli za Jedwali
After creating a database, you need to create meza inside it to organize data. A table is like a grid for storing data, consisting of columns and rows (records).
In this section, we will explain basic operations such as creating, checking, listing, and deleting tables in detail.
4.1 Kuunda Meza
To create a table, use the CREATE TABLE command. If you run the following SQL, it creates a table named users.
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
email VARCHAR(100) UNIQUE NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
4.1.1 Maelezo ya kila kipengele wakati wa kuunda meza
id INT AUTO_INCREMENT PRIMARY KEY- Safu ya
idni integer (INT), inaongezeka kiotomatiki (AUTO_INCREMENT), na imewekwa kama ufunguo mkuu (PRIMARY KEY). name VARCHAR(50) NOT NULL- Safu ya
nameni kamba (VARCHAR) ya hadi herufi 50 na inahitajika kwa sababu yaNOT NULL. email VARCHAR(100) UNIQUE NOT NULL- Safu ya
emailni kamba ya hadi herufi 100, na kizuizi chaUNIQUEkinazuia anwani za barua pepe zilizo rudufu. created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP- Safu ya
created_atinaweka kiotomatiki tarehe/maisha ya sasa kama thamani chaguo-msingi.
Ujumbe wakati wa mafanikio
Query OK, 0 rows affected (0.02 sec)
4.2 Kuangalia Muundo wa Meza
To check the structure of a table you created, use DESC or SHOW COLUMNS.
DESC users;
Or
SHOW COLUMNS FROM users;
Example output:
+------------+--------------+------+-----+-------------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+--------------+------+-----+-------------------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(50) | NO | | NULL | |
| email | varchar(100) | NO | UNI | NULL | |
| created_at | timestamp | YES | | CURRENT_TIMESTAMP | |
+------------+--------------+------+-----+-------------------+----------------+
4.3 Kuorodhesha Meza
To list the tables that exist in the current database, run the SHOW TABLES command.
SHOW TABLES;
Example output:
+------------------+
| Tables_in_mydb |
+------------------+
| users |
| products |
| orders |
+------------------+
4.4 Kufuta Meza
To delete a table you no longer need, use the DROP TABLE command.
DROP TABLE users;
4.4.1 Vidokezo muhimu wakati wa kufuta meza
- Kuwa mwangalifu: kufuta meza kunafuta data kabisa!
- Ili kuepuka makosa wakati wa kufuta, ongeza
IF EXISTS.DROP TABLE IF EXISTS users;
Ujumbe wakati wa mafanikio
Query OK, 0 rows affected (0.01 sec)
4.5 Kurejesha Data ya Meza (Futa Safu Zote)
If you want to keep the table structure but delete only the data inside, use TRUNCATE TABLE.
TRUNCATE TABLE users;
Tofauti na DROP TABLE
DROP TABLEhushusha meza yenyewe.TRUNCATE TABLEhushusha tu data na huhifadhi muundo wa meza.
4.6 Makosa ya Kawaida na Suluhisho
4.6.1 “Meza tayari ipo” error
Example error:
ERROR 1050 (42S01): Table 'users' already exists
Jinsi ya kutatua
- Angalia meza zilizopo
SHOW TABLES;
- Unda meza kwa kutumia
IF NOT EXISTSCREATE TABLE IF NOT EXISTS users ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50) NOT NULL, email VARCHAR(100) UNIQUE NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
4.6.2 “Meza haijulikani” error
Example error:
ERROR 1051 (42S02): Unknown table 'users'
Jinsi ya kutatua
- Angalia ikiwa jedwali lipo kwa kutumia
SHOW TABLES; - Ikiwa halipo, ongeza
IF EXISTSDROP TABLE IF EXISTS users;
4.7 Muhtasari
Katika sehemu hii, tulijifunza operesheni za msingi za jedwali la MySQL: kuunda, kuangalia, na kufuta majedwali.


