[[oktatas:linux:adatbázis-kezelés|< Adatbázis-kezelés]]
====== MySQL ======
* **Szerző:** Sallai András
* Copyright (c) 2015, Sallai András
* Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC BY-SA 4.0]]
* Web: https://szit.hu
===== Bevezetés =====
A MySQL parancssoros eléréséről lesz szó ezen a lapon.
A MySQL egy hálózati adatbázis-kezelő rendszer, amely
elérhető a mysql nevű paranccsal is. Mi most erre koncentrálunk.
A MySQL egyéb használatáról a következő helyeken olvashatunk:
* [[oktatas:adatbázis-kezelés:mysql|MySQL adatbázis-kezelés]]
* [[oktatas:linux:adatbázis-szerver|Adatbázis-szerver]]
===== Beszerzés =====
A mysql parancs az MySQL szerver telepítésével fel kerül szerver mellé.
Ha valaki valamilyen LAMP szervert használ, a telepítés ott is megtörténik.
A szerver telepítése Debian alapú rendszeren:
# apt-get install mysql-server
===== Kapcsolódás =====
A MySQL szerverhez azonosítás után lehet kapcsolódni.
Mindig van egy rendszergazda felhasználó, amivel felvehető
a többi felhasználó, és jogokat adhatunk az adatbázisokhoz.
A LAMP szerverek telepítése után a root felhasználónak általában
nincs jelszava, a Linuxra telepített szerverek esetén általában a
telepítéskor kér egy root felhasználó jelszót is.
$ mysql -u root -p
A -u kapcsoló után megadhatjuk milyen felhasználóval szeretnénk kapcsolódni.
A -p kapcsoló arra utasítja a klienst, hogy kérje be tőlünk a jelszót is,
amit majd továbbít a szervernek az azonosításhoz.
===== Használat =====
Kapcsolódás után a szerver információkat ír magáról,
majd egy várakozási sort ír ki, ahol várja a parancsokat.
$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 39
Server version: 5.5.44-0ubuntu0.14.04.1 (Ubuntu)
Copyright (c) 2000, 2015, 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>
A várakozási jel:
mysql>
Kilépni a "quit" paranccsal tudunk.
mysql> quit
A MySQL kliens saját parancsait és SQL parancsokat képes
fogadni. A kliens parancsait szavakkal, és "\" jelekkel bevezetett
betűkkel adhatjuk meg.
Ezek szerinte kilépni ki tudunk a fent említett módon:
mysql> quit
A másik lehetőség:
mysql> \q
Illetve van még egy parancs:
mysql> exit
Segítséget a "help" paranccsal kaphatunk:
mysql> help
Vagy:
mysql> \h
===== Munka adatbázisokkal =====
Egy adatbázishoz a "use" kliens paranccsal tudunk kapcsolódni.
Előbb persze meg kell tudnunk milyen adatbázisok vannak.
Ez a következő SQL paranccsal tudjuk megtekinteni:
mysql> show databases;
Vegyük észre az SQL utasítás végén a ";" karaktert.
Minden SQL utasítást ";" karakterrel zárni.
A szimpla kliens parancsokat nem kell ilyen lezáró.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| comp |
| mysql |
| ost |
| performance_schema |
| phpmyadmin |
| zoldZrt |
+--------------------+
7 rows in set (0.06 sec)
A ";" pontosvessző zárásnak van egy előnye is.
A hosszú SQL utasításokat több sorba is írhatjuk.
Lássuk az előbbi egyszerű utasítást két sorban:
mysql> show
-> databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| comp |
| mysql |
| ost |
| performance_schema |
| phpmyadmin |
| zoldZrt |
+--------------------+
7 rows in set (0.06 sec)
Vegyük észre a "->" másodlagos várakozásijelet a "databases;" előtt.
===== Adatbázis létrehozása =====
Adatbázist a "create" SQL utasítással tudunk létrehozni:
mysql> create database pirosBt;
A "database" egy alparancsnak tekinthető, amellyel megmondjuk
mit kell létrehozni. A "pirosBt", esetünkben a létrehozandó adatbázis
neve.
===== Következtetés =====
A kezdéshez ennyi elég. További SQL utasítást lásd a következő helyeken:
* [[oktatas:adatbázis-kezelés:mysql:mysql_sql_ddl|MySQL SQL DDL]] (Másik névtér)
* [[oktatas:adatbázis-kezelés:mysql:mysql_sql_dcl|MySQL SQL DCL]] (Másik névtér)
* [[oktatas:adatbázis-kezelés:mysql:mysql_sql_dml|MySQL SQL DML]] (Másik névtér)