Преглед садржаја
Како увести и извести базе података у MySQL или MariaDB?
Увођење података у базу података и њихово извлачење из ње су основне операције при раду са базама података. MySQL и MariaDB, два популарна система управљања базама података, пружају једноставне и ефикасне команде за ове операције. У овом чланку ћемо истражити како увести и извести податке у MySQL или MariaDB.
Увођење података
INSERT наредба
Команда INSERT
се користи за увођење нових редова у табелу у бази података. Синтакса је следећа:
sql
INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);
На пример, да бисмо унели податке о новом запосленом у табелу employees
, можемо користити следећу команду:
sql
INSERT INTO employees (name, email, salary) VALUES ('John Doe', '[email protected]', 10000);
Масовно увођење података
За увођење више редова одједном, можемо користити наредбу INSERT ... SELECT
. Ова наредба нам омогућава да унесемо редове из друге табеле или резултата упита у текућу табелу. Синтакса је следећа:
sql
INSERT INTO table_name (column1, column2, ...) SELECT column1, column2, ... FROM other_table;
Дупликати редова
Подразумевано, MySQL и MariaDB не дозвољавају уношење дуплираних редова у табелу. Да бисмо омогућили уношење дупликата, можемо користити кључну реч IGNORE
. Синтакса је следећа:
sql
INSERT IGNORE INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);
Извлачење података
SELECT наредба
Команда SELECT
се користи за извлачење података из табеле у бази података. Синтакса је следећа:
sql
SELECT column1, column2, ... FROM table_name;
На пример, да бисмо извукли податке о запосленима који зарађују више од 10.000 долара, можемо користити следећу команду:
sql
SELECT name, email, salary FROM employees WHERE salary > 10000;
Условљавање
Можемо да користимо клаузуле WHERE
и HAVING
за филтрирање редова и групних резултата. Клаузула WHERE
филтрира редове пре него што се израчунају агрегатне функције, док клаузула HAVING
филтрира редове након што се израчунају агрегатне функције.
Сортирање и ограничавање
Користимо клаузуле ORDER BY
и LIMIT
за сортирање и ограничавање резултата. Клаузула ORDER BY
сортира редове по једној или више колона, док клаузула LIMIT
ограничава број враћених редова.
Здружена табела
Користећи наредбу JOIN
, можемо да комбинујемо податке из више табела у јединиствен резултат. Постоји неколико типова придруживања, сваки са својом специфичном функцијом. Најчешћи типови су:
* Унутрашње придруживање: Враћа само редове који се подударају у обе табеле.
* Лево придруживање: Враћа све редове из леве табеле и само оне редове из десне табеле који се подударају.
* Десно придруживање: Слично левом придруживању, али враћа све редове из десне табеле.
* Спољашње придруживање: Враћа све редове из обе табеле, без обзира да ли се подударају или не.
Закључак
Увођење и извлачење података у MySQL или MariaDB су основне операције које су кључне за ефикасно коришћење базе података. Користећи наредбе INSERT
и SELECT
, можемо лако да управљамо подацима и добијемо потребне информације. Осим тога, условљавање, сортирање и ограничавање резултата омогућавају нам да прецизирамо и контролишемо наш упит. Познавање ових техника је незаменљиво за успешно управљање базама података и добијање најбољих резултата од наших података.
Често постављана питања
1. Која је разлика између наредби INSERT
и INSERT ... SELECT
?
Наредба INSERT
убацује један ред у табелу, док наредба INSERT ... SELECT
убацује више редова у табелу из друге табеле или резултата упита.
2. Како спречити уношење дуплираних редова?
Можемо користити кључну реч UNIQUE
приликом креирања табеле или користити наредбу INSERT IGNORE
.
3. Како сортирати резултате по колони?
Користимо клаузулу ORDER BY
након наредбе SELECT
. На пример, SELECT * FROM employees ORDER BY salary DESC;
ће сортирати резултате у опадајућем редоследу према заради.
4. Како ограничити број враћених редова?
Користимо клаузулу LIMIT
након наредбе SELECT
. На пример, SELECT * FROM employees LIMIT 10;
ће вратити само првих 10 редова.
5. Шта је придруживање?
Придруживање је операција комбиновања података из више табела у јединствен резултат. Користимо наредбу JOIN
да бисмо придружили табеле.
6. Који су различити типови придруживања?
Постоји неколико типова придруживања, укључујући унутрашње придруживање, лево придруживање, десно придруживање и спољашње придруживање.
7. Како увести дате?
Да бисмо унели тренутни датум и време, можемо користити функцију NOW()
. На пример, INSERT INTO appointments (date_time) VALUES (NOW());
.
8. Како избећи SQL инјекцију?
SQL инјекција је напад у коме нападач уноси штетне SQL наредбе у упит. Да бисмо је избегли, требало би да користимо параметризоване упите и валидирамо улазне податке.