PHP - 26. díl – spouštíme MySQL

Dnes se budeme věnovat problému spouštění MySQL a navazujícím oblastem. Samo o sobě je spouštění MySQL velmi jednoduché. Já se budu věnovat spouštění MySQL pouze na intranetovém serveru, který jsem uvedl ve druhém díle seriálu. Ve druhém díle je odkaz, kde si intranetový server můžete stáhnout.

Jak spouštět MySQL na intranetovém serveru

Pokud máte nainstalovaný intranetový server, pak je spuštění vlastní MySQL velmi jednoduché. Stačí jít do startovacího menu ve Windows, dále do složky Programy -> Intranetový server -> MySQL databáze. Pokud spustíte MySQL, pak krátce problikne DOSové okno, které hned zmizí. Tím je spuštěna MySQL v pozadí, možná vás bude mást, že nikde nic nevidíte, ani na liště, ani žádné okno. Pouze ve správci úloh můžete najít proces s názvem mysqld, který odpovídá spuštěné MySQL. Každopádně je ale MySQL spuštěna, a jako DBMS program čeká v pozadí na příkazy a požadavky na databázi.

Pokud budete chtít MySQL ukončit, pak stačí jít do startovací menu, dále do Programy -> Intranetový server -> Ukonči MySQL databázi. Pak se MySQL korektně ukončí. Měli byste takto ukončovat MySQL před vypnutím vždy.

Pokud nám běží spuštěná MySQL, běží nám v podstatě serverová část databáze. Nyní se může pokusit připojit jednoduchým řádkovým klientem, který se jmenuje mysql.

Jednoduchý řádkový klient mysql

Jednoduchý řádkový klient mysql je součástí balíku MySQL. V intranetovém serveru na něj není žádná ikonka ve startovacím menu, ani na ploše, je potřeba přímo spustit z jeho cesty zde: C:\inet_srv\mysql\bin\mysql.exe. Pokud jej přímo spustíte, objeví se vám okno:

Klepněte pro větší obrázek

Toto okno se vám objeví pouze tehdy, pokud je spuštěná i serverová část. Pak to znamená, že se podařilo spojit se serverovou části a čeká se na zadání příkazů. Pokud není spuštěna serverová část, pak klient pouze pípne a ukončí se.

Základním příkazem je exit, který ukončuje práci s řádkovým klientem. Všechny příkazy můžete vidět po zadání příkazu help. Kromě toho je možné zadávat i příkazy pro databázi v jazyce SQL.

První příkaz v jazyce SQL - vytvoření nové databáze

Na začátku ještě nemáme vytvořenou žádnou databázi. Samotná MySQL dokáže pracovat s mnoha databázemi, tedy úložišti dat, naráz. Každá databáze má své jméno, je dobré vybírat jména bez háčků a čárek, protože ne každý MySQL server si s nimi poradí.

Vytvoříme tedy pokusnou databázi s názvem pokus. K tomu slouží SQL příkaz:

CREATE DATABASE pokus;

Tento SQL příkaz zadáme do řádkového klienta a potvrdíme klávesou Enter:

Klepněte pro větší obrázek

Databáze pokus je tedy vytvořena.

Po spuštění řádkového klienta mysql je potřeba nastavit, s jakou databází má pracovat. Používá se na to SQL příkaz:

USE pokus;

Tímto příkazem říkáme řádkovému klientovi, že od teď má používat databázi s názvem pokus.

Klepněte pro větší obrázek

Pokračujeme v SQL - vytvoření databázové tabulky

Nyní již máme vytvořenou prázdnou databázi s názvem pokus, ale abychom mohli ukládat data, potřebujeme mít alespoň jednu databázovou tabulku. Pro vytvoření tabulky se používá příkaz:

CREATE TABLE název_tabulky (jméno_sloupce typ_sloupce, …);

Nejpoužívanější typy sloupce jsou int pro celé číslo a varchar(n) pro textový řetězec o maximální délce n znaků.

Vytvoříme například tabulku se seznamem osob, která bude obsahovat následující sloupce: Jméno, Rodné číslo, Adresa, Telefon.

CREATE TABLE Osoby(
  Jmeno varchar(30),
  RodneCislo varchar(11) NOT NULL,
  Adresa varchar(50),
  Telefon varchar(12),
  PRIMARY KEY (RodneCislo)
);

Názvy tabulek a sloupců je dobré zadávat bez háčků a čárek, protože ne každý MySQL server si s diakritickými znaménky poradí.

Výše uvedeným SQL příkazem vytvářím tabulku s názvem Osoby, která obsahuje 4 sloupce, všechny obsahují různě dlouhé textové řetězce. Sloupec s rodným číslem má atribut NOT NULL, který říká, že rodné číslo nemůže obsahovat prázdnou hodnotu. To je nutné, protože rodné číslo jsem použil jako tzv. primární klíč tabulky. Primární klíč znamená sloupec, který má pro každý řádek jinou hodnotu. Primární klíč se definuje pomocí slov PRIMARY KEY.

Přidání řádku do tabulky

Nyní již máme databázovou tabulku s názvem Osoby, a potřebujeme přidávat nové řádky do tabulky. K tomu slouží SQL příkaz INSERT:

INSERT INTO název_tabulky VALUES(hodnota1, hodnota2, … hodnotaN);

Pro přidání pana Nováka do tabulky Osoby můžeme použít například SQL příkaz:

INSERT INTO Osoby VALUES(
  `Pavel Novák`,`651209/2344`,`Bulharská 56, Praha 1`,`245678222`);

Jak to dopadne při zadání příkazu do řádkového klienta se můžeme podívat zde:

Klepněte pro větší obrázek

Vidíme, že řádkový klient nám píše v angličtině, že byl přidán jeden řádek, a že to trvalo dvě setiny sekundy.

Podobným způsobem je možné přidat i další osoby. Je samozřejmé, že tento způsob zadávání dat není zrovna příjemný, ale nakonec jakékoli zadávání dat skončí uvnitř programu na podobných SQL příkazech.

Prohlížení zadaných řádků

Pro získávání už zadaných dat z databázových tabulek slouží SQL příkaz SELECT. Má mnoho podob a tváří, ale pro ten nejjednodušší případ, kdy chceme prostě vidět všechno v tabulce má velmi jednoduchý tvar:

SELECT * FROM název_tabulky;

Pro prohlížení řádků zadaných v tabulce Osoby prostě napíšeme:

SELECT * FROM Osoby;

A takto to dopadne, pokud zadáme SQL příkaz do řádkového klienta:

Klepněte pro větší obrázek

Diskuze (13) Další článek: Nová verze oblíbeného SSH klienta PuTTY opravuje bezpečnostní chybu

Témata článku: Software, Programování, PHP, MySQL, Primární data, Startovací okno, Mys, Novák, Nejjednodušší případ, Exit, Sloupec, Díl, Select, Textový řetězec, Primární klíč


Určitě si přečtěte

Zahodil jsem Windows, přešel na Linux a nezbláznil se z toho

Zahodil jsem Windows, přešel na Linux a nezbláznil se z toho

** Měsíc jsem se nedotkl Windows a byl závislý jen na Linuxu ** Jaká byla pozitiva a negativa přechodu? ** Se kterými aplikacemi jsem (ne)zápasil a které bych doporučil?

Lukáš Václavík | 243

WindowsFX: Nainstalujte to mamce a taťkovi. Ani nepoznají, že to je Linux

WindowsFX: Nainstalujte to mamce a taťkovi. Ani nepoznají, že to je Linux

** Po dvou měsících tu máme další linuxovou kopii ** Tentokrát jde o imitaci Desítek ** Sestavili ji brazilští geekové nad Ubuntu

Jakub Čížek | 144


Aktuální číslo časopisu Computer

Megatest mobilů do 8 000 Kč

Test bezdrátových headsetů

Linux i pro začátečníky

Jak surfovat anonymně