Despre MySQL în general
MySQL este un software de gestionare a bazelor de date open source care ajută utilizatorii să stocheze, să organizeze și să recupereze datele. Este un program extrem de puternic și flexibil.
Ajutorul următor este o simplă introducere în MySQL.
Instalarea MySQL pe Ubuntu și CentOS
Dacă nu ați instalat deja MySQL în droplet-ul dumneavoastră, îl puteți descărca cu ușurință:
Ubuntu:
sudo apt-get install mysql-server
CentOS:
sudo yum install mysql-server /etc/init.d/mysqld start
Accesarea controlului comenzilor MySQL
Dacă aveți MySQL instalat în droplet, îl puteți accesa tastând următorul text în terminal:
mysql -u root -p
Apoi introduceți parola în linia de comandă (a nu se confunda cu rădăcina dropletului) și puteți începe să construiți baza de date MySQL.
Două lucruri de care trebuie să țineți cont:
- Toate comenzile MySQL se termină cu punct și virgulă. Dacă expresia nu se termină cu punct și virgulă, MySQL nu va executa comanda.
- Deși nu este de așteptat, comenzile MySQL sunt de obicei scrise cu majuscule, iar bazele de date, tabelele, utilizatorii sau textele cu minuscule, pentru a fi mai ușor de distins. Linia de comandă MySQL nu ține cont de majuscule și minuscule.
Crearea și ștergerea bazei de date MySQL
MySQL organizează informațiile în baze de date, fiecare dintre acestea fiind capabilă să stocheze diferite tabele de date. Puteți pur și simplu să căutați bazele de date disponibile prin următoarele acțiuni:
SHOW DATABASES;
Următoarea legendă va apărea apoi pe ecran:
mysql> SHOW DATABASES; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | test | +--------------------+ 4 rows in set (0.01 sec)
Crearea unei baze de date este extrem de simplă. Introduceți următoarele:
CREATE DATABASE database name;
În cazul nostru, numim baza noastră de date „events” (evenimente).
mysql> SHOW DATABASES; +--------------------+ | Database | +--------------------+ | information_schema | | events | | mysql | | performance_schema | | test | +--------------------+ 5 rows in set (0.00 sec)
Termenul cel mai frecvent utilizat pentru ștergere în MySQL este Drop. Dacă doriți să ștergeți o bază de date, trebuie să introduceți următoarea comandă:
DROP DATABASE database name;
Accesați baza de date MySQL
După ce ați creat o bază de date, puteți începe să o completați cu informații. Primul pas este să creați un tabel nou în cadrul bazei de date mai mari.
Putem utiliza următoarea comandă pentru a deschide baza de date dorită:
USE events;
MySQL vă permite, de asemenea, să vizualizați tabelele din baza de date:
SHOW tables;
Deoarece aceasta este o bază de date nouă, deci MySQL nu vă poate arăta nimic încă, veți primi un mesaj care spune „Empty set” (Set gol).
Creați tabelul MySQL
Pentru simplificare, să ne imaginăm că organizăm o întâlnire a prietenilor. Putem folosi MySQL pentru a urmări detaliile întâlnirii.
Creați un nou tabel MySQL după cum urmează
CREATE TABLE potluck (id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, name VARCHAR(20), food VARCHAR(30), confirmed CHAR(1), signup_date DATE);
Această comandă a făcut mai multe lucruri:
- A creat un tabel numit potluck în directorul „events”.
- A creat 5 coloane în tabel: id, name, food, confirmed și signup date.
- În coloana „id”, a introdus, de asemenea, o comandă (INT NOT NULL PRIMARY KEY AUTO_INCREMENT) care raportează automat fiecare rând.
- Cuvintele introduse în coloana „name” sunt limitate la maximum 20 de caractere prin comanda „VARCHAR”.
- Coloana „food” arată alimentele pe care persoana dorește să le aducă. Aceasta este, de asemenea, limitată la 30 de caractere cu ajutorul comenzii „VARCHAR”.
- Coloana „confirmed” înregistrează dacă o persoană a confirmat evenimentul cu Y (Yes=Da) sau N (No=Nu).
- Coloana „date” arată când s-a înscris la eveniment. MySQL va afișa formatul yyyy-mm-dd.
În continuare, să vedem cum arată tabelul nostru în baza de date folosind comanda „SHOW TABLES”:
mysql> SHOW TABLES; +------------------+ | Tables_in_events | +------------------+ | potluck | +------------------+ 1 row in set (0.01 sec)
Puteți vedea structura tabelului cu următoarea comandă:
DESCRIBE potluck;
Rețineți că, deși comanda MySQL este insensibilă la majuscule și minuscule, numele tabelelor și bazelor de date sunt: potluck nu este același lucru cu POTLUCK sau Potluck.
mysql>DESCRIBE potluck; +-------------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------------+-------------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | name | varchar(20) | YES | | NULL | | | food | varchar(30) | YES | | NULL | | | confirmed | char(1) | YES | | NULL | | | signup_date | date | YES | | NULL | | +-------------+-------------+------+-----+---------+----------------+ 5 rows in set (0.01 sec)
Adăugarea de informații în tabelul MySQL
Acum că avem un tabel gata făcut pentru eveniment, să începem să încărcăm detaliile!
Utilizați următoarea comandă pentru a completa rândurile:
INSERT INTO `potluck` (`id`,`name`,`food`,`confirmed`,`signup_date`) VALUES (NULL, "János", "Töltött káposzta","Y", '2012-04-11');
Ez után ezt fogjuk látni:
Query OK, 1 row affected (0.00 sec) Adjunk hozzá még néhány embert a csoporthoz: INSERT INTO `potluck` (`id`,`name`,`food`,`confirmed`,`signup_date`) VALUES (NULL, "Maria", "Ciorbă de burtă","N", '2012-04-14'); INSERT INTO `potluck` (`id`,`name`,`food`,`confirmed`,`signup_date`) VALUES (NULL, "Alex", "Salată de cartofi","Y", '2012-04-18'); INSERT INTO `potluck` (`id`,`name`,`food`,`confirmed`,`signup_date`) VALUES (NULL, "Andrea", "Mici","Y", '2012-04-10');
Vessünk egy pillantást a táblánkra:
mysql> SELECT * FROM potluck; +----+---------+-------------------+-----------+-------------+ | id | name | food | confirmed | signup_date | +----+---------+-------------------+-----------+-------------+ | 1 | Ionuț | Sarmale | Y | 2012-04-11 | | 2 | Maria | Ciorbă de burtă | N | 2012-04-14 | | 3 | Alex | Salată de cartofi | Y | 2012-04-18 | | 4 | Andrea | Mici | Y | 2012-04-10 | +----+---------+-------------------+-----------+-------------+ 4 rows in set (0.00 sec)
Actualizarea informațiilor din tabel
Odată ce am început lista „potluck”, putem face modificări.
De exemplu: Maria a confirmat participarea; ea poate participa la eveniment, așa că acum vom actualiza acest lucru în tabelul nostru:
UPDATE `potluck` SET `confirmed` = 'Y' WHERE `potluck`.`name` ='Maria';
Această comandă poate fi utilizată și în cazul în care dorim să scriem informații în anumite celule, chiar dacă acestea erau goale anterior.
Adăugarea și ștergerea coloanelor
Creăm un tabel simplu, dar lipsește o informație importantă: adresele de e-mail ale participanților.
Aceasta poate fi adăugată cu ușurință cu următoarea comandă:
ALTER TABLE potluck ADD email VARCHAR(40);
Această comandă adaugă o coloană numită „email” în tabelul nostru, implicit la sfârșitul tabelului. Comanda „VARCHAR” limitează numărul de caractere la 40.
Dacă doriți să plasați noua coloană într-o anumită locație din tabel, puteți adăuga o altă expresie la linia de comandă:
ALTER TABLE potluck ADD email VARCHAR(40) AFTER name;
Astfel, noua coloană „email” este plasată după coloana „name”.
Așa cum putem adăuga coloane în tabel, putem, de asemenea, să le ștergem cu ușurință:
ALTER TABLE potluck DROP email;
Deci, probabil că nu vom ști niciodată cum să dăm de cei care participă la picnic.
Ștergerea unui rând
Dacă este necesar, puteți, de asemenea, să ștergeți rândurile din tabel folosind linia de comandă de mai jos:
DELETE from [table name] where [column name]=[field text];
De exemplu, dacă Maria își dă seama brusc că nu va putea participa la adunarea la ghiveci până la urmă, putem șterge rapid datele asociate cu ea.
mysql> DELETE from potluck where name='Maria';
Query OK, 1 row affected (0.00 sec)
mysql> SELECT * FROM potluck; +----+--------+-------------------+-----------+-------------+ | id | name | food | confirmed | signup_date | +----+--------+-------------------+-----------+-------------+ | 1 | Ionuț | Sarmale | Y | 2012-04-11 | | 3 | Alex | Salată de cartofi | Y | 2012-04-18 | | 4 | Andrea | Mici | Y | 2012-04-10 | +----+--------+-------------------+-----------+-------------+ 3 rows in set (0.00 sec)
Este important de remarcat faptul că id-ul persoanelor care rămân în consiliu rămâne neschimbată.