1. Muhtasari wa Vigezo vya MySQL
Jukumu na Manufaa ya Vigezo katika MySQL
Vigezo vya MySQL ni zana muhimu zinazokuwezesha kuhifadhi thamani ndani ya maswali na kutumia tena thamani hizo katika maswali mengi. Hii inaondoa haja ya kurudisha data ile ile mara kwa mara na husaidia kufanya tamko za SQL ziwe fupi na bora.
Kuna aina mbili kuu za vigezo katika MySQL:
- Vigezo vilivyofafanuliwa na mtumiaji : Vigezo vya muda vinavyotumika ndani ya kikao maalum.
- Vigezo vya mfumo : Vigezo vya usanidi vinavyotumika kudhibiti tabia ya seva ya MySQL.
Katika sehemu hii, tutachukua kwanza mtazamo wa kina wa vigezo vilivyofafanuliwa na mtumiaji kisha tueleze jinsi ya kutumia vigezo vya mfumo.
2. Aina za Vigezo vya MySQL
2.1 Vigezo Vilivyofafanuliwa na Mtumiaji
Vigezo vilivyofafanuliwa na mtumiaji vinahusishwa na kikao kimoja pekee na havinaweza kufikiwa na wateja wengine. Hii inahakikisha kuwa vigezo vinaweza kutumika tena kwa usalama ndani ya kikao hicho hicho. Vigezo hutangazwa kwa kutumia alama ya @.
Mfano:
SET @user_id = 123;
SELECT @user_id;
Kama ilivyoonyeshwa hapo juu, unaweza kutangaza kigezo kwa kutumia SET na kutumia tena thamani yake katika maswali yanayofuata. Njia nyingine ya kuhifadhi matokeo ya maswali katika vigezo ni SELECT INTO.
SELECT name INTO @user_name FROM users WHERE id = @user_id;
2.2 Vigezo vya Mfumo
Vigezo vya mfumo vinatumiwa kurekebisha mipangilio ya seva ya MySQL. Kwa mfano, unaweza kudhibiti idadi ya juu ya muunganisho au kusanidi mipangilio ya muda wa kusitisha.
Mfano:
SHOW VARIABLES LIKE 'max_connections';
Swali hili linaonyesha idadi ya juu ya muunganisho wa wakati mmoja unaoruhusiwa na seva ya MySQL. Vigezo vya mfumo vinaweza kubadilishwa kwa kutumia amri ya SET na vinaweza kutumika ama kimataifa au katika ngazi ya kikao.
3. Kutangaza na Kutumia Vigezo
3.1 Jinsi ya Kutangaza Vigezo
Unaweza kutangaza vigezo kwa kutumia SET au SELECT INTO. Tamko la SET ni rahisi na linakuwezesha kupewa thamani moja kwa moja.
Mfano:
SET @user_name = 'Sato';
SELECT @user_name;
Kwa upande mwingine, kutumia SELECT INTO kunakuwezesha kuhifadhi matokeo ya swali moja kwa moja katika kigezo.
Mfano:
SELECT name INTO @user_name FROM users WHERE id = 123;
3.2 Kutumia Vigezo katika Maswali
Kwa kutumia vigezo, unaweza kuyatumia tena kama vigezo ndani ya maswali. Kwa mfano, swali lifuatalo linachukua taarifa za mtumiaji kwa kutumia kigezo @user_id.
Mfano:
SELECT * FROM users WHERE id = @user_id;
Kwa njia hii, vigezo vinakuwezesha kuhifadhi data katika maswali mengi ndani ya kikao kimoja.
4. Matumizi ya Kawaida
4.1 Uboreshaji wa Maswali
Unaweza kuboresha utendaji kwa kuhifadhi data inayotumika mara kwa mara katika kigezo mara moja na kuitumia tena katika maswali yanayofuata.
Mfano:
SELECT MAX(id) INTO @max_id FROM users;
Hapa, kitambulisho cha juu cha mtumiaji kinahifadhiwa katika kigezo na kinatumiwa tena katika maswali ya baadaye.
4.2 Matumizi ya Urekebishaji wa Tarehe na Muda
Kutumia vigezo kwa mahesabu ya tarehe na muda au kusimamia data ya kihistoria hufanya iwe rahisi kushughulikia data ya mfululizo wa wakati.
Mfano:
SELECT NOW() INTO @current_time;
SELECT @current_time - INTERVAL 1 DAY INTO @yesterday;
Katika mfano huu, wakati wa sasa na tofauti maalum ya muda vinahifadhiwa katika vigezo na vinatumiwa tena katika maswali mengine.

5. Kutumia Vigezo katika Taratibu Zilizohifadhiwa
Kutumia vigezo ndani ya taratibu zilizohifadhiwa kunakuwezesha kushughulikia mantiki tata kwa njia iliyopangwa na kunaboresha matumizi tena ya msimbo. Mfano ufuatao unaonyesha taratibu iliyohifadhiwa inayochukua taarifa za mtumiaji.
Mfano:
CREATE PROCEDURE get_user_info(IN user_id INT, OUT user_name VARCHAR(255))
BEGIN
SELECT name INTO user_name FROM users WHERE id = user_id;
END;
Kwa kuita taratibu hii, unaweza kupitisha kitambulisho cha mtumiaji kama hoja na kuhifadhi matokeo katika kigezo.
6. Mazoea Mazuri ya Kutumia Vigezo
6.1 Umuhimu wa Uanzishaji
final.Variables lazima ziweze kuanzishwa kabla ya kutumika. Kurejelea kibadilishi kisichojaanzishwa kinaweza kurudisha NULL. Hii ni muhimu hasa wakati wa kutumia kibadilishi hicho hicho katika maswali mengi.
6.2 Kusimamia Eneo Ndani ya Kikao
Vibadilishi vilivyofafanuliwa na mtumiaji ni halali tu ndani ya kikao. Kikao kikimalizika, vibadilishi vinarejeshwa. Ikiwa unahitaji kutumia vibadilishi katika vikao vingi, fikiria mbinu mbadala kama vile jedwali la muda.
7. Mbinu za Juu
7.1 Usindikaji wa Data kwa Kutumia Vishikizo
Unapochakata kiasi kikubwa cha data, unaweza kutumia vishikizo kushughulikia matokeo ya maswali safu kwa safu. Hii inakuwezesha kuhifadhi matokeo ya maswali katika vibadilishi wakati wa kufanya usindikaji wa mlolongo.
Example:
DECLARE cursor_user CURSOR FOR SELECT id, name FROM users;
Kutumia vishikizo kunaruhusu usindikaji bora wa safu nyingi za data.
8. Hitimisho
Kwa kutumia vibadilishi vya MySQL, unaweza kusimamia maswali kwa ufanisi na kuboresha usomaji wa msimbo pamoja na utendaji. Kutofautisha ipasavyo kati ya vibadilishi vilivyofafanuliwa na mtumiaji na vibadilishi vya mfumo kunaruhusu operesheni za data za hali ya juu. Hasa, kuunganisha vibadilishi na mbinu za juu kama vile taratibu zilizohifadhiwa na vishikizo kunaweza kuongeza kwa kiasi kikubwa uwezo wa usindikaji wa data katika MySQL.


