Lista poleceń MySQL
MySQL jest najpopularniejszym na świecie open-source’owym systemem zarządzania relacyjnymi bazami danych. Ta lista zawiera najczęściej używane polecenia SQL w codziennym programowaniu i utrzymaniu baz danych.
Połączenie i zarządzanie
| Polecenie | Opis | Przykład |
|---|---|---|
mysql -u root -p |
Połącz z bazą danych jako użytkownik root | mysql -u root -p |
exit / quit |
Wyjdź z wiersza poleceń MySQL | exit |
show databases; |
Wyświetl listę wszystkich baz danych | show databases; |
use <db_name>; |
Przełącz na określoną bazę danych | use my_app; |
status; |
Wyświetl informacje o stanie bieżącego połączenia | status; |
Operacje na bazach danych i tabelach (DDL)
| Polecenie | Opis | Przykład |
|---|---|---|
create database <name>; |
Utwórz nową bazę danych | create database test_db; |
drop database <name>; |
Usuń bazę danych | drop database test_db; |
show tables; |
Wyświetl listę tabel w bieżącej bazie datach | show tables; |
create table <table> (...); |
Utwórz nową tabelę | create table users (id int, name varchar(20)); |
describe <table>; |
Wyświetl strukturę tabeli | describe users; |
alter table <table> add <col>; |
Dodaj nową kolumnę | alter table users add email varchar(50); |
drop table <table>; |
Usuń tabelę | drop table users; |
Operacje na danych (DML)
// Wstawianie danych
insert into users (name, age) values ('Alice', 25), ('Bob', 30);// Zapytanie o dane
select * from users where age > 20 order by id desc limit 10;
select count(*) from users;// Aktualizacja danych
update users set age = 26 where name = 'Alice';// Usuwanie danych
delete from users where id = 10;
truncate table users; -- Wyczyść zawartość tabeli i zresetuj auto-inkrementację IDZapytania łączone (JOIN)
| Type | Opis |
|---|---|
INNER JOIN |
Zwraca wiersze z dopasowanymi wartościami w obu tabelach |
LEFT JOIN |
Zwraca wszystkie wiersze z lewej tabeli oraz dopasowane wiersze z prawej |
RIGHT JOIN |
Zwraca wszystkie wiersze z prawej tabeli oraz dopasowane wiersze z lewej |
UNION |
Połącz wyniki dwóch zapytań (unikalne) |
// Zapytanie łączące tabele
select u.name, o.id from users u
inner join orders o on u.id = o.user_id;Zarządzanie indeksami
| Polecenie | Opis |
|---|---|
create index <idx_name> on <table>(<col>); |
Utwórz zwykły indeks |
create unique index ... |
Utwórz unikalny indeks |
show index from <table>; |
Pokaż indeksy w tabeli |
drop index <idx_name> on <table>; |
Usuń indeks |
Użytkownicy i uprawnienia (DCL)
| Polecenie | Opis |
|---|---|
create user 'user'@'host' identified by 'pass'; |
Utwórz nowego użytkownika |
grant all privileges on db.* to 'user'@'host'; |
Nadaj uprawnienia |
revoke all on db.* from 'user'@'host'; |
Odbierz uprawnienia |
drop user 'user'@'host'; |
Usuń użytkownika |
flush privileges; |
Odśwież uprawnienia, aby weszły w życie |