Cheat Sheet κοινών εντολών MySQL
Η MySQL είναι το πιο δημοφιλές σύστημα διαχείρισης σχεσιακών βάσεων δεδομένων ανοιχτού κώδικα στον κόσμο. Αυτό το cheat sheet οργανώνει τις πιο συνηθισμένες εντολές SQL που χρησιμοποιούνται στην καθημερινή ανάπτυξη και συντήρηση βάσεων δεδομένων.
Σύνδεση & Διαχείριση
| Εντολή | Περιγραφή | Παράδειγμα |
|---|---|---|
mysql -u root -p |
Σύνδεση στη βάση δεδομένων ως χρήστης root | mysql -u root -p |
exit / quit |
Έξοδος από τη γραμμή εντολών MySQL | exit |
show databases; |
Λίστα όλων των βάσεων δεδομένων | show databases; |
use <db_name>; |
Μετάβαση στη συγκεκριμένη βάση δεδομένων | use my_app; |
status; |
Προβολή τρέχουσας κατάστασης σύνδεσης | status; |
Λειτουργίες Βάσης Δεδομένων & Πινάκων (DDL)
| Εντολή | Περιγραφή | Παράδειγμα |
|---|---|---|
create database <name>; |
Δημιουργία νέας βάσης δεδομένων | create database test_db; |
drop database <name>; |
Διαγραφή βάσης δεδομένων | drop database test_db; |
show tables; |
Λίστα όλων των πινάκων στην τρέχουσα βάση δεδομένων | show tables; |
create table <table> (...); |
Δημιουργία νέου πίνακα | create table users (id int, name varchar(20)); |
describe <table>; |
Προβολή δομής πίνακα | describe users; |
alter table <table> add <col>; |
Προσθήκη νέας στήλης | alter table users add email varchar(50); |
drop table <table>; |
Διαγραφή πίνακα | drop table users; |
Λειτουργίες Δεδομένων (DML)
// Εισαγωγή δεδομένων
insert into users (name, age) values ('Alice', 25), ('Bob', 30);// Ερώτημα δεδομένων
select * from users where age > 20 order by id desc limit 10;
select count(*) from users;// Ενημέρωση δεδομένων
update users set age = 26 where name = 'Alice';// Διαγραφή δεδομένων
delete from users where id = 10;
truncate table users; -- Εκκαθάριση περιεχομένου πίνακα και επαναφορά του αυτόματου IDΕρωτήματα Σύνδεσης (JOIN)
| Type | Περιγραφή |
|---|---|
INNER JOIN |
Επιστρέφει σειρές με αντίστοιχες τιμές και στους δύο πίνακες |
LEFT JOIN |
Επιστρέφει όλες τις σειρές από τον αριστερό πίνακα και τις αντίστοιχες σειρές από τον δεξιό |
RIGHT JOIN |
Επιστρέφει όλες τις σειρές από τον δεξιό πίνακα και τις αντίστοιχες σειρές από τον αριστερό |
UNION |
Συνδυασμός αποτελεσμάτων δύο ερωτημάτων (μοναδικά) |
// Ερώτημα σύνδεσης πινάκων
select u.name, o.id from users u
inner join orders o on u.id = o.user_id;Διαχείριση Ευρετηρίων
| Εντολή | Περιγραφή |
|---|---|
create index <idx_name> on <table>(<col>); |
Δημιουργία απλού ευρετηρίου |
create unique index ... |
Δημιουργία μοναδικού ευρετηρίου |
show index from <table>; |
Εμφάνιση ευρετηρίων στον πίνακα |
drop index <idx_name> on <table>; |
Διαγραφή ευρετηρίου |
Χρήστες & Δικαιώματα (DCL)
| Εντολή | Περιγραφή |
|---|---|
create user 'user'@'host' identified by 'pass'; |
Δημιουργία νέου χρήστη |
grant all privileges on db.* to 'user'@'host'; |
Παραχώρηση δικαιωμάτων |
revoke all on db.* from 'user'@'host'; |
Ανάκληση δικαιωμάτων |
drop user 'user'@'host'; |
Διαγραφή χρήστη |
flush privileges; |
Ανανέωση δικαιωμάτων για εφαρμογή |