Baza danych to uporządkowany zestaw danych przechowywanych elektronicznie. Pojęcie bazy danych było znane naszym przodkom nawet wtedy, gdy nie było komputerów, jednak tworzenie i utrzymywanie takiej bazy danych było bardzo żmudnym zajęciem. W ręcznej bazie danych powiedzmy o 100 strony, jeśli musisz wyszukać wszystkich pracowników, których wynagrodzenie było mniejsze niż 10 tys. , pomyśl tylko, jak byłoby to trudne.
W dzisiejszym świecie po prostu nie można uciec od bazy danych . W tej chwili na całym świecie pracują miliony baz danych, które przechowują i pobierają wszelkiego rodzaju dane, niezależnie od tego, czy są to dane strategiczne, dane pracowników czy technologie internetowe.


Baza danych jest często określana jako proces zaplecza, ponieważ nie jest widoczna dla użytkownika końcowego ani użytkownika końcowego współdziała bezpośrednio z bazą danych. Działa na procesach front-end, a mianowicie, PHP , VB , ASP.NET , itp. i poproś interfejs, aby zajął się bazą danych w zapleczu.
Dostępnych jest kilka serwerów i klientów baz danych, takich jak Oracle , MySQL , MySQLi , MariaDB, MongoDB itp. Składnia wszystkich z nich jest mniej więcej taka sama. Opanowanie jednego oznacza uzyskanie kontroli nad większością z nich, a nauka zapytań do bazy danych jest bardzo łatwa i przyjemna.
Zacznijmy od prostych zapytań w bazie danych. Będziemy używać MySQL który jest dostarczany w pakiecie z większością Linuksa domyślnie dystrybucje, możesz zainstalować go ręcznie z repozytorium, jeśli nie jest on domyślnie zainstalowany w twoim przypadku.
Zapytanie do bazy danych to prosty fragment kodu, który jest wysyłany do bazy danych w celu uzyskania niestandardowych i udoskonalonych wyników, zgodnie z wymaganiami.
Zainstaluj bazę danych MySQL
Użyj „mniam ” lub „odpowiedni ” menedżer pakietów do zainstalowania MySQL Baza danych.
# yum install mysql mysql-client mysql-server (on Yum based Systems) # apt-get install mysql mysql-client mysql-server (on Apt based Systems)
Uruchom MySQL
Uruchom MySQL usługa bazy danych jako:
# service mysqld start or # service mysql start
Dobra instalacja MySQL baza danych przeniesie Cię do konfiguracji, w której zostaniesz poproszony o ustawienie administratora hasło itp. Po zakończeniu instalacji i uruchomieniu serwera przejdź do swojego MySQL monit.
# mysql -u root -p
Zastąp korzeń ze skonfigurowaną nazwą użytkownika i wpisz hasło po wyświetleniu monitu, jeśli dane logowania są prawidłowe, znajdziesz się w swoim MySQL podpowiedź w mgnieniu oka.
Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 195 Server version: 5.5.31-0+wheezy1 (Debian) Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
Teraz przeprowadzanie zapytań w tym wierszu jest bardzo pouczające i zabawne.
Utwórz tecmint bazy danych
mysql> create database tecmint ; Query OK, 1 row affected (0.02 sec) mysql>
Uwaga :Informuje, że zapytanie było poprawne, oznacza to, że baza danych została utworzona. Możesz zweryfikować swoją nowo utworzoną bazę danych jako.
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | tecmint | | test | +--------------------+ 9 rows in set (0.00 sec) mysql>
Uwaga :Zwróć uwagę na swoją bazę danych w powyższym wyniku.
Wybierz bazę danych
Teraz musisz wybrać bazę danych, aby nad nią pracować.
mysql> use tecmint; Database changed mysql>
Twórz tabele w MySQL
Tutaj stworzymy tabelę z napisem „minttec ” z trzema polami jako:
mysql> CREATE TABLE minttec ( -> id Int(3), -> first_name Varchar (15), -> email Varchar(20) -> ); Query OK, 0 rows affected (0.08 sec) mysql>
Uwaga :powyższe zapytanie mówi OK co oznacza, że tabela została utworzona bez żadnego błędu. Aby zweryfikować tabelę, uruchom poniższe zapytanie.
mysql> show tables; +-------------------+ | Tables_in_tecmint | +-------------------+ | minttec | +-------------------+ 1 row in set (0.00 sec) mysql>
Do tej pory wszystko układa się dobrze. Tak! Możesz wyświetlić kolumny, które utworzyłeś w tabeli „minttec ” jako:
mysql> show columns from minttec; +------------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------+-------------+------+-----+---------+-------+ | id | int(3) | YES | | NULL | | | first_name | varchar(15) | YES | | NULL | | | email | varchar(20) | YES | | NULL | | +------------+-------------+------+-----+---------+-------+ 3 rows in set (0.00 sec) mysql>
To była po prostu magia. W każdym razie opowiem Ci o rodzajach deklaracji i ich znaczeniu.
- Wew. jest liczbą całkowitą
- Varchar to znak mający zmienną długość zgodnie z definicją. Wartość po Type jest długością pola, do której może przechowywać dane.
OK, teraz musimy dodać kolumnę z napisem „nazwisko ‘ po kolumnie ‘imię ‘.
mysql> ALTER TABLE minttec ADD last_name varchar (20) AFTER first_name; Query OK, 0 rows affected (0.16 sec) Records: 0 Duplicates: 0 Warnings: 0
Teraz zweryfikuj to w swojej tabeli.
mysql> show columns from minttec; +------------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------+-------------+------+-----+---------+-------+ | id | int(3) | YES | | NULL | | | first_name | varchar(15) | YES | | NULL | | | last_name | varchar(20) | YES | | NULL | | | email | varchar(20) | YES | | NULL | | +------------+-------------+------+-----+---------+-------+ 4 rows in set (0.00 sec) mysql>
Dodaj kolumnę w MySQL
Teraz dodamy kolumnę po prawej stronie, czyli kolumnę „kraj ‘ na prawo od e-maila .
mysql> ALTER TABLE minttec ADD country varchar (15) AFTER email; Query OK, 0 rows affected (0.16 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql>
Sprawdź powyższe zapytanie o wstawienie kolumny.
mysql> show columns from minttec; +------------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------+-------------+------+-----+---------+-------+ | id | int(3) | YES | | NULL | | | first_name | varchar(15) | YES | | NULL | | | last_name | varchar(20) | YES | | NULL | | | email | varchar(20) | YES | | NULL | | | country | varchar(15) | YES | | NULL | | +------------+-------------+------+-----+---------+-------+ 5 rows in set (0.00 sec) mysql>
Wstaw wartości w polu
A co z wstawianiem wartości do pola?
mysql> INSERT INTO minttec VALUES ('1' , 'Ravi' , 'Saive' , '[email protected]' , 'India' ); Query OK, 1 row affected (0.02 sec) mysql>
Co powiesz na wstawienie więcej niż 1 wartości na raz w powyższej tabeli.
mysql> INSERT INTO minttec VALUES ('2' , 'Narad' , 'Shrestha' , '[email protected]' , 'India' ), ('3' , 'user' , 'singh' , '[email protected]' , 'Aus' ), ('4' , 'tecmint' , '[dot]com' , '[email protected]' , 'India' ); Query OK, 3 rows affected (0.05 sec) Records: 3 Duplicates: 0 Warnings: 0
Sprawdź powyższe wstawienie.
mysql> select * from minttec; +------+------------+-----------+-------------------+---------+ | id | first_name | last_name | email | country | +------+------------+-----------+-------------------+---------+ | 1 | Ravi | Saive | [email protected] | India | | 2 | Narad | Shrestha | [email protected] | India | | 3 | user | singh | [email protected] | Aus | | 4 | tecmint | [dot]com | [email protected] | India | +------+------------+-----------+-------------------+---------+ 4 rows in set (0.00 sec) mysql>
Usuń wartości w polu
Załóżmy, że trzeci wpis w powyższym wyniku jest nieprawidłowy i musimy usunąć trzeci wpis.
mysql> DELETE FROM minttec WHERE id = 3; Query OK, 1 row affected (0.02 sec)
Sprawdź powyższą operację.
mysql> select * from minttec; +------+------------+-----------+-------------------+---------+ | id | first_name | last_name | email | country | +------+------------+-----------+-------------------+---------+ | 1 | Ravi | Saive | [email protected] | India | | 2 | Narad | Shrestha | [email protected] | India | | 4 | tecmint | [dot]com | [email protected] | India | +------+------------+-----------+-------------------+---------+ 3 rows in set (0.00 sec)
Aktualizuj wartości w polu
Należy edytować identyfikator (=4).
mysql> UPDATE minttec SET id = 3 WHERE first_name = 'tecmint'; Query OK, 1 row affected (0.02 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql>
Sprawdź powyższe zapytanie.
mysql> UPDATE minttec SET id = 3 WHERE first_name = 'tecmint'; Query OK, 1 row affected (0.02 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql>
Uwaga :Powyższe zapytanie w wykonaniu nie jest dobrym pomysłem. Zmieni identyfikator na „4 ‘ gdziekolwiek imię to ‘tecmint’ . Zawsze dobrze jest użyć więcej niż jednej kolumny z klauzulą where, aby uzyskać minimalny błąd, jak:
mysql> UPDATE minttec SET id = 6 WHERE first_name = 'tecmint'AND last_name = '[dot]com'; Query OK, 1 row affected (0.03 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql>
Usuń kolumnę w MySQL
Niech musimy usunąć (usunąć) kolumnę, która naszym zdaniem nie ma znaczenia, powiedzmy „kraj ‘tutaj.
mysql> ALTER TABLE minttec drop country; Query OK, 3 rows affected (0.15 sec) Records: 3 Duplicates: 0 Warnings: 0 mysql>
Sprawdź tabelę.
mysql> select * from minttec; +------+------------+-----------+-------------------+ | id | first_name | last_name | email | +------+------------+-----------+-------------------+ | 1 | Ravi | Saive | [email protected] | | 2 | Narad | Shrestha | [email protected] | | 6 | tecmint | [dot]com | [email protected] | +------+------------+-----------+-------------------+ 3 rows in set (0.00 sec) mysql>
Zmień nazwę tabeli w MySQL
Nie sądzisz, że nasza nazwa stołu „minttec ” nie jest bardzo istotne. Co powiesz na zmianę na tecmint_table .
mysql> RENAME TABLE minttec TO tecmint_table; Query OK, 0 rows affected (0.03 sec) mysql>
Wymień wszystkie tabele
Zobacz wszystkie tabele w bieżącej bazie danych.
mysql> show tables; +-------------------+ | Tables_in_tecmint | +-------------------+ | tecmint_table | +-------------------+ 1 row in set (0.00 sec) mysql>
Nazwa tabeli została zmieniona. Teraz zrób kopię zapasową powyższego MySQL bazy danych, w jednym wierszu polecenia bez żadnego wyrafinowanego narzędzia. Uruchom poniższy kod na swoim terminalu, a nie w wierszu mysql.
# mysqldump -u root -p tecmint > tecmint.sql check the dumped file on your desktop which would have contents something like -- MySQL dump 10.13 Distrib 5.5.31, for debian-linux-gnu (i686) -- -- Server version 5.5.31-0+wheezy1 -- Dump completed on 2013-09-02 12:55:37
Zawsze dobrym pomysłem jest utrzymywanie kopii zapasowych baz danych MySQL. Przywracanie kopii zapasowej MySQL Dane to znowu prosta linia kodu, którą musisz uruchomić po znaku zachęty terminala, a nie po znaku zachęty mysql.
Ale poczekaj, zanim usuniemy bazę danych, aby sprawdzić, czy nasze przywracanie jest idealne.
Usuń bazę danych
mysql> drop database tecmint; Query OK, 1 row affected (0.02 sec)
Sprawdź bazę danych „tecmint” na serwerze bazy danych.
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | my_database | | mysql | | performance_schema | | phpmyadmin | | sisso | | test | +--------------------+ 7 rows in set (0.00 sec) mysql>
Świetny! Baza danych została utracona, ale nie musimy się martwić, mamy kopię zapasową.
Przywróć bazę danych
Aby przywrócić utraconą bazę danych, uruchom następujące polecenie.
# mysql -u root -p tecmint < tecmint.sql Enter password: ERROR 1049 (42000): Unknown database 'tecmint'
OOPS ! Błąd, hej, nie utworzyliśmy bazy danych tecmint . Więc przejdź do wiersza mysql i utwórz bazę danych „tecmint ‘.
mysql> create database tecmint; Query OK, 1 row affected (0.00 sec) mysql>
Teraz czas na uruchomienie komendy przywracania po znaku zachęty powłoki (dokładnie).
# mysql -u root -p tecmint < tecmint.sql Enter password:
Zweryfikuj swoją bazę danych.
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | tecmint | | test | +--------------------+ 8 rows in set (0.00 sec)
Sprawdź zawartość bazy danych.
mysql> show tables from tecmint; +-------------------+ | Tables_in_tecmint | +-------------------+ | tecmint_table | +-------------------+ 1 row in set (0.00 sec) mysql>
Sprawdź zawartość przywróconej tabeli.
mysql> select * from tecmint_table; +------+------------+-----------+-------------------+ | id | first_name | last_name | email | +------+------------+-----------+-------------------+ | 1 | Ravi | Saive | [email protected] | | 2 | Narad | Shrestha | [email protected] | | 6 | tecmint | [dot]com | [email protected] | +------+------------+-----------+-------------------+ 3 rows in set (0.00 sec)
To zdecydowanie nie koniec, omówimy pojęcie klucza podstawowego , klucz obcy , wiele stołów i uruchamianie zapytań przy użyciu prostego PHP w dalszej części artykułu.
Nie zapomnij nam powiedzieć , jak się czułeś podczas przeglądania artykułu. Twoje komentarze są bardzo mile widziane. Bądź zdrowy i dostrojone , pozostań połączony z Tecmint .