Kouri demann nan MariaDB?

Dènye aktyalizasyon: 12/08/2023

Kouri demann nan MariaDB se yon konpetans esansyèl pou nenpòt pwomotè oswa administratè baz done. MariaDB se yon sistèm jesyon baz done relasyon ki ofri yon seri rich nan karakteristik ak fonksyonalite. Nan atik sa a, nou pral eksplore Basics yo sou fason yo kouri demann nan MariaDB, soti nan sentaks SQL ak pi bon pratik optimize rechèch. Ou pral aprann kijan pou w pwofite anpil avantaj de potansyèl MariaDB pou amelyore pèfòmans ak efikasite baz done w la. Si w ap chèche elaji konesans ou nan mond lan nan baz done, li sou epi chèche konnen ki jan yo kouri demann nan MariaDB avèk efikasite ak efikas!

1. Entwodiksyon nan egzekite demann nan MariaDB

Youn nan travay fondamantal yo lè w ap travay avèk yo yon baz done se ekzekisyon an nan demann. Nan ka MariaDB, sa enplike itilize yon langaj rechèch estriktire (SQL) pou chèche ak manipile done nan baz done a. Nan seksyon sa a, nou pral eksplore baz yo sou fason yo kouri demann nan MariaDB ak zouti yo nou ka itilize yo senplifye pwosesis sa a.

Pou kòmanse, li enpòtan pou konprann sentaks debaz yon rechèch nan MariaDB. Yon rechèch konstwi lè l sèvi avèk kloz SELECT a, ki te swiv pa yon lis kolòn ke nou vle chwazi. Pou egzanp, si nou vle chwazi tout kolòn yo nan yon tab ki rele "pwodwi", nou ta ekri SELECT *. Si nou vle sèlman chwazi kolòn espesifik, nou ka lis yo apre kloz la SELECT, separe pa vigil.

Anplis kloz SELECT a, yon rechèch ka gen ladan tou lòt kloz tankou FROM, WHERE, ORDER BY, ak GROUP BY, pami lòt moun. Paragraf sa yo pèmèt nou presize sous done yo, filtre rezilta yo, klase ak gwoupe yo jan sa nesesè. Li enpòtan sonje lòd nan ki paragraf sa yo yo te itilize, paske li ka afekte rezilta yo nan rechèch la. Erezman, MariaDB ofri yon kantite zouti ak egzanp ki pral ede nou konprann ak metrize ekzekisyon demann.

2. Sentaks debaz pou egzekite demann nan MariaDB

Li esansyèl pou kapab travay ak sistèm jesyon baz done sa a. Anba a se etap ki nesesè yo fè demann ak jwenn rezilta yo vle:

1. Konekte nan baz done a: Anvan ou egzekite nenpòt rechèch, li nesesè etabli yon koneksyon ak baz done a. Sa a li ka fè lè l sèvi avèk enstriksyon an mysql -u usuario -p, kote usuario se non itilizatè a epi yo pral mande modpas ki koresponn lan. Yon fwa konekte, èd memwa MariaDB a ap parèt pou kòmanse egzekite demann yo.

2. Chwazi baz done a: Si ou gen plis pase yon baz done nan sistèm nan, li enpòtan pou chwazi baz done espesifik ou vle travay sou. Sa a se fè lè l sèvi avèk enstriksyon an USE nombre_base_datos;. Li enpòtan pou asire ke ou itilize non baz done ki kòrèk la pou evite erè nan demann ki vin apre yo.

3. Kouri rechèch la: Yon fwa konekte ak baz done a epi chwazi baz done ki apwopriye a, ou ka kontinye pou egzekite rechèch la vle. Sentaks debaz pou egzekite yon rechèch nan MariaDB se jan sa a: SELECT campos FROM tabla WHERE condiciones;. Isit la, campos reprezante jaden ou vle chwazi yo, tabla se tab kote rechèch la pral fèt ak condiciones Yo se kondisyon yo ki dwe satisfè pou jwenn rezilta yo vle. Li enpòtan pou asire w ke w itilize sentaks ki kòrèk la epi non jaden ak tab yo valab.

3. Sèvi ak kòmandman rechèch nan MariaDB

Nan pwochen seksyon an, nou pral aprann kijan pou itilize kòmandman rechèch nan MariaDB. Kòmandman sa yo pèmèt nou ekstrè enfòmasyon espesifik nan baz done epi fè plizyè operasyon sou done ki estoke yo.

Pou kòmanse, li enpòtan sonje ke sentaks kòmandman rechèch nan MariaDB swiv yon modèl debaz. Premyèman, yo espesifye kòmandman an, tankou SELECT, INSERT, oswa UPDATE. Apre sa, jaden yo oswa kolòn ke ou vle refè oswa modifye yo endike, ki te swiv pa tab la oswa tab ki enplike nan operasyon an. Finalman, kloz adisyonèl tankou KOTE ka ajoute pou filtre rezilta yo.

Kèk egzanp komen nan kòmandman rechèch nan MariaDB gen ladan yo sèvi ak SELECT pou rekipere done ki soti nan yon tab, lè l sèvi avèk WHERE pou filtre rezilta ki baze sou sèten kritè, ak lè l sèvi avèk ORDER BY pou klase rezilta ki baze sou yon kolòn espesifik. Li posib tou pou itilize fonksyon oswa paragraf ki pi avanse, tankou GROUP BY pou gwoup rezilta oswa JOIN pou konbine done ki soti nan plizyè tab.

Kontni eksklizif - Klike la a  Ki jan yo transfere konvèsasyon WhatsApp bay yon lòt moun

4. Kouri SELECT requêtes nan MariaDB

Pou kouri SELECT queries nan MariaDB, nou dwe premye asire ke nou gen yon koneksyon etabli ak baz done a. Sa a ka fè atravè yon zouti administrasyon baz done tankou phpMyAdmin oswa lè l sèvi avèk liy lòd MariaDB.

Yon fwa konekte ak baz done a, nou ka itilize kloz SELECT la pou rekipere done ki sòti nan youn oswa plis tab. Pou egzanp, pou chwazi tout dosye nan yon tablo ki rele "kliyan", nou ka kouri rechèch sa a:

SELECT * FROM clientes;

Asterisk (*) reprezante tout jaden nan tablo a. Si nou vle sèlman chwazi jaden espesifik, nou ka bay yon lis jaden yo vle separe ak vigil. Pou egzanp, pou chwazi sèlman "non" ak "imel" jaden yo nan tablo "kliyan yo", nou ka egzekite:

SELECT nombre, email FROM clientes;

Sèvi ak deklarasyon SELECT kòrèkteman pral pèmèt nou fè rechèch efikas ak egzat nan baz done MariaDB nou an.

5. Ki jan yo kouri demann MIZAJOU nan MariaDB

Pou kouri demann MIZAJOU nan MariaDB, ou ka swiv etap sa yo:

1. Konekte nan baz done a: Sèvi ak lòd la mysql -u usuario -p sou liy lòd pou jwenn aksè nan koòdone MariaDB. Antre modpas ou lè w mande w.

2. Chwazi baz done a: Sèvi ak lòd la USE nombre_base_de_datos; pou chwazi baz done a ou vle fè mizajou sou.

3. Ekri rechèch la UPDATE: Sèvi ak sentaks la UPDATE nombre_tabla SET columna1 = valor1, columna2 = valor2 WHERE condición; pou presize kolòn yo ak valè ou vle mete ajou, ansanm ak nenpòt kondisyon ki dwe satisfè.

Li enpòtan pou kenbe kèk konsiderasyon nan tèt ou lè w ap fè demann MIZAJOU nan MariaDB:
– Asire w ke ou gen otorizasyon ki nesesè yo ekri nan baz done a ak tab espesifik ou vle fè mizajou nan.
– Sèvi ak kloz WHERE apwopriye pou asire ke se sèlman dosye yo vle mete ajou.
– Tcheke valè w ap mete ajou epi asire w ke yo valab ak nan fòma ki kòrèk la.
- Fè kopi backup nan baz done w la anvan ou fè demann MIJOU enpòtan, pou w ka retounen chanjman si sa nesesè.

6. Kouri INSERT requêtes nan MariaDB

"" se yon operasyon esansyèl nan jesyon ak manipilasyon yon baz done. Pou akonpli travay sa a, ou bezwen gen yon konpreyansyon solid sou sentaks apwopriye ak kòmandman pou mete done nan tab espesifik. Pwosesis la pral dekri anba a. etap pa etap ki jan yo kouri INSERT demann nan MariaDB.

1. Koneksyon nan baz done a: Anvan ou egzekite nenpòt rechèch INSERT, li enperatif pou etabli yon koneksyon siksè nan baz done a nan MariaDB. Pou fè sa, ou ka itilize yon koòdone liy kòmand tankou kliyan MySQL oswa yon zouti grafik tankou phpMyAdmin. Yon fwa koneksyon an etabli, ou ka kontinye egzekite demann yo.

2. Chwazi tab destinasyon an: Pou mete done nan yon tab espesifik, tab destinasyon an dwe premye chwazi. Sa a se fè lè l sèvi avèk lòd la USE nombre_base_de_datos; Yon fwa yo chwazi baz done a, ou ka kontinye pou egzekite rechèch la INSERT.

7. Fè demann DELETE nan MariaDB

Fè demann DELETE nan MariaDB se yon travay komen nan devlopman aplikasyon oswa antretyen baz done. Operasyon sa a pèmèt ou efase dosye espesifik nan yon tab ki baze sou sèten kondisyon.

Pou fè yon demann DELETE nan MariaDB, yo itilize sentaks sa a:
DELETE FROM nombre_tabla WHERE condiciones;

kote table_name se non tab la kote ou vle efase dosye ak Conditioning Sa yo se kondisyon ke dosye yo dwe efase dwe ranpli. Kondisyon sa yo ka senp tankou egalite oswa plis konplèks lè l sèvi avèk operatè lojik tankou AND ak OR.

8. Rekèt avanse nan MariaDB: itilizasyon fonksyon ak operatè yo

Nan seksyon sa a, nou pral eksplore demann avanse nan MariaDB epi aprann kijan pou itilize fonksyon ak operatè yo pou jwenn rezilta pi egzak. MariaDB se yon sistèm jesyon baz done relasyon ki ofri anpil fonksyon ak operatè manipile ak analize done yo efektivman. Zouti sa yo pèmèt nou fè rechèch avanse epi jwenn enfòmasyon ki pi sofistike.

Youn nan fonksyon ki pi itilize nan MariaDB se fonksyon an Chwazi, ki pèmèt nou chwazi epi montre done espesifik nan yon tab. Nou ka itilize operatè tankou KOTE filtre rezilta yo epi jwenn done ki satisfè sèten kondisyon. Anplis de sa, nou ka itilize operatè matematik tankou +, -, * y / pou fè kalkil nan demann nou yo.

Kontni eksklizif - Klike la a  Ki sa ki nan Disney + pou gratis?

Yon lòt fonksyon itil se LDD PA, ki pèmèt nou sòt rezilta yo nan demann nou yo ki baze sou yon kolòn espesifik. Nou ka klase done yo nan lòd monte oswa desann lè l sèvi avèk mo kle yo ASC o dekrwasan. Nou ka sèvi ak kloz la tou LIMIT limite kantite rezilta ki parèt nan rechèch la.

9. Optimize demann nan MariaDB pou pèfòmans optimal

Optimize demann nan MariaDB esansyèl pou asire pèfòmans baz done optimal. Rekèt efikas ka fè yon diferans nan aplikasyon oswa sistèm ki depann anpil sou vitès repons ak manipilasyon done.

Gen plizyè estrateji ki ka aplike pou optimize demann nan MariaDB. Youn nan yo se sèvi ak endèks sou kolòn ki souvan itilize nan demann. Endèks pèmèt ou jwenn aksè nan done pi vit ak amelyore pèfòmans jeneral.

Yon lòt teknik enpòtan se itilizasyon apwopriye kle prensipal ak kle etranje yo. Kle sa yo bay yon mekanis efikas pou konekte tab yo epi asire entegrite done yo. Anplis de sa, li rekòmande pou evite itilize SELECT * epi olye pou presize sèlman kolòn ki nesesè pou rechèch la, kidonk diminye tan ekzekisyon an.

10. Kouri plizyè requêtes nan MariaDB

Kouri plizyè demann nan MariaDB se yon kapasite trè itil pou fè operasyon konplèks sou yon baz done. fason efikas. Erezman, motè baz done MariaDB ofri plizyè fason pou kouri plizyè demann.

Yon fason komen pou kouri plizyè demann se lè l sèvi avèk kloz la INSERT IGNORE INTO ... SELECT .... Paragraf sa a pèmèt done yo dwe mete nan yon tablo ki baze sou yon rechèch chwazi. Pou egzanp, nou ka mete rezilta yo nan yon rechèch nan yon tab done ki egziste deja oswa yon tab tanporè. Teknik sa a itil sitou lè nou bezwen konbine rezilta plizyè requêtes. yon sèl tab.

Yon lòt fason pou kouri plizyè demann nan MariaDB se lè l sèvi avèk lòd la UNION. Kòmandman an UNION konbine rezilta de oswa plis demann nan yon seri rezilta sèl. Li enpòtan pou sonje ke demann yo dwe gen menm kantite kolòn e ke kalite done yo dwe konpatib youn ak lòt. Epitou, si nou vle retire doublons nan rezilta yo, nou ka itilize kòmandman an UNION ALL.

11. Tranzaksyon nan MariaDB: egzekite demann san danje epi konsistan

Kesyon ekzekisyon nan yon fason ki an sekirite ak konsistans nan MariaDB esansyèl pou asire entegrite done epi evite pwoblèm nan lavni. Erezman, gen plizyè mezi ki ka pran pou reyalize objektif sa a. Anba a se kèk konsèy ak ke trik nouvèl konsa ou ka amelyore sekirite ak konsistans demann ou yo nan MariaDB.

1. Sèvi ak tranzaksyon yo: Tranzaksyon yo se yon fason ki an sekirite pou egzekite demann nan MariaDB. Yo pèmèt plizyè demann yo dwe gwoupe nan yon sèl inite lojik, asire yo ke yo tout ranpli kòrèkteman oswa pa gen okenn ranpli ditou. Ou ka kòmanse yon tranzaksyon lè l sèvi avèk kòmandman an START TRANSACTION epi konfime li ak COMMIT. Si nenpòt erè rive, ou ka retounen tranzaksyon an ak ROLLBACK.

2. Sèvi ak fèmen lekti ak fèmen eksklizif: Lè w ap fè demann nan MariaDB, li enpòtan pou w evite pwoblèm konkou epi asire ke lòt tranzaksyon yo pa modifye done yo pandan ekzekisyon an. Ou ka reyalize sa lè w sèvi ak fèmen lekti (READ) ak fèmen eksklizif (EKRI). Pou egzanp, ou ka itilize LOCK TABLES pou fèmen yon tab espesifik anvan ou fè rechèch la ak Lè sa a, lage li lè l sèvi avèk UNLOCK TABLES Lè li fini.

3. Valide epi chape done opinyon yo: Youn nan enkyetid prensipal yo lè w ap egzekite demann san danje se evite piki SQL. Pou evite sa a, li esansyèl pou valide epi chape done opinyon yo anvan ou kouri nenpòt rechèch nan MariaDB. Ou ka itilize fonksyon chape tankou mysqli_real_escape_string() pou anpeche karaktè espesyal afekte sentaks rechèch.

12. Kouri Rechèch Prepare nan MariaDB

Rekèt prepare yo se yon mekanis nan MariaDB ki pèmèt ekzekisyon efikas ak san danje nan deklarasyon SQL. Lè nou itilize demann prepare, nou separe estrikti rechèch la ak valè paramèt yo, sa ki pèmèt nou reitilize rechèch la ak diferan valè san yo pa bezwen analize ak konpile li ankò. Sa a amelyore pèfòmans ak diminye posiblite pou atak piki SQL.

Pou egzekite yon rechèch prepare nan MariaDB, nou dwe premye prepare rechèch la lè l sèvi avèk deklarasyon an PREPARE. Nan deklarasyon sa a, nou presize rekèt SQL la ak placeholders pou valè paramèt yo, pou egzanp, SELECT * FROM usuarios WHERE id = ?. Apre sa, nou egzekite rechèch la lè l sèvi avèk deklarasyon an EXECUTE epi nou pase valè paramèt yo kòm agiman. Finalman, nou lage resous yo lè l sèvi avèk deklarasyon an DEALLOCATE PREPARE.

Rekèt prepare nan MariaDB gen plizyè avantaj. Premyèman, yo amelyore pèfòmans lè yo evite bezwen analize ak konpile rechèch la chak fwa li kouri. Anplis de sa, separe estrikti rechèch la ak valè paramèt yo diminye risk pou atak piki SQL. Finalman, demann prepare yo itil espesyalman lè nou bezwen kouri menm rechèch la plizyè fwa ak valè paramèt diferan, paske yo evite repetisyon nesesè nan analiz rechèch la ak pwosesis konpilasyon.

Kontni eksklizif - Klike la a  Ki jan yo louvri yon dosye W04

13. Kouri demann nan MariaDB lè l sèvi avèk opinyon ak pwosedi ki estoke

Pou fè sa, ou bezwen swiv kèk etap espesifik. Premye a tout, li enpòtan pou konprann diferans ki genyen ant yon vi ak yon pwosedi ki estoke. A se yon reprezantasyon vityèl nan yon tab ki ka mande nan menm fason an kòm yon tab reyèl. Nan lòt men an, a pwosedi ki estoke se yon seri deklarasyon SQL ki estoke sou sèvè baz done a epi yo ka egzekite plizyè fwa.

Pou kreye epi sèvi ak yon vi nan MariaDB, ou dwe itilize deklarasyon an CREATE VIEW ki te swiv pa non an nan vi a ak rechèch la ki defini done yo ki pral parèt nan gade nan. Pa egzanp:

CREATE VIEW vista_ejemplo AS SELECT columna1, columna2 FROM tabla_ejemplo;

Yon fwa yo kreye vi a, yo ka fè yon rechèch sou vi a lè l sèvi avèk deklarasyon SELECT a. Pa egzanp:
SELECT * FROM vista_ejemplo;
Sa a pral retounen done yo chwazi nan tablo ki kache nan gade nan. Anplis de sa, opinyon yo ka mete ajou tou lè l sèvi avèk deklarasyon UPDATE, DELETE oswa INSERT, tou depann de otorizasyon itilizatè a k ap fè operasyon an.

14. Konsèy ak rekòmandasyon pou egzekisyon rechèch efikas nan MariaDB

Lè w ap travay ak MariaDB, li enpòtan pou w egzekite demann avèk efikasite pou optimize pèfòmans sistèm lan. Anba a gen kèk konsèy ak rekòmandasyon pou ekzekisyon rechèch efikas nan MariaDB:

1. Sèvi ak bon endis yo: Endèks jwe yon wòl enpòtan anpil nan amelyore vitès demann. Asire ou ke ou kreye endèks sou kolòn yo itilize souvan nan demann. Epitou, kenbe nan tèt ou ke endèks tou okipe espas disk, kidonk ou dwe balanse itilizasyon li kòmsadwa.

2. Optimize demann: Li esansyèl pou optimize demann pou diminye tan ekzekisyon an. Evalye si gen nenpòt subrequest ki pa nesesè oswa kloz WHERE konplèks ki ta ka senplifye. Anplis de sa, evite twòp itilizasyon JOIN epi sèvi ak kloz LIMIT oswa TOP nan demann ki retounen gwo seri done.

3. Fè siveyans pèfòmans: Pou asire ke demann yo ap fonksyone avèk efikasite, regilyèman kontwole pèfòmans sistèm lan. Sèvi ak zouti tankou liy lòd MariaDB oswa solisyon siveyans twazyèm pati pou idantifye demann ralanti oswa bloke. Sa a pral ede w idantifye blokaj epi pran aksyon korektif.

Pou konkli, kouri demann nan MariaDB se yon karakteristik esansyèl pou moun k ap travay ak baz done sa a. Pandan tout atik sa a, nou te eksplore diferan metòd ak kòmandman ki ka itilize pou fè rechèch efikas nan MariaDB.

Nou te wè ki jan yo sèvi ak sentaks ki kòrèk la pou demann SELECT, ki jan yo fè operasyon filtraj ak kòmandman WHERE ak HAVING, ak ki jan yo klase ak gwoup rezilta rechèch. Anplis de sa, nou te aprann kijan pou itilize kloz JOIN pou konbine done ki sòti nan diferan tab ak kijan pou fè rechèch avanse.

Nou te eksplore tou kijan pou manipile done ak demann UPDATE ak DELETE, ansanm ak fason pou kreye ak jere tab ak deklarasyon CREATE TABLE ak ALTER TABLE.

Pandan ke atik sa a te kouvri Basics yo nan rechèch nan MariaDB, li enpòtan mansyone ke kapasite yo nan MariaDB ale pi lwen pase sa yo te prezante isit la. Kòm yon zouti baz done pwisan, MariaDB ofri yon pakèt fonksyon avanse ak karakteristik pou satisfè bezwen devlopè baz done yo ak administratè yo.

An rezime, kouri demann nan MariaDB se yon pwosesis fondamantal pou aksè efikasman, manipile ak jwenn enfòmasyon nan yon baz done. Avèk yon konpreyansyon solid sou konsèp ak kòmandman yo prezante nan atik sa a, itilizatè yo ka pran anpil avantaj sou pouvwa ak fleksibilite MariaDB nan travay chak jou yo ak baz done.