Základní příkazy MySQL

Vydáno: 9.07.06 Kategorie:

Jelikož už mi PHP samotné nestačí, začal jsem se vrtat v databázích. Konkrétně v MySQL protože se mi jeví jako nejvhodnější ze všech dostupných databázích.

Dnes přináším absolutně základní příkazy MySQL, které by ovšem každý měl znát a já si je tak budu moci připomínat :)

CREATE DATABASE php_mysql;
-- vytvoř databázi mysql

CREATE TABLE knihy
(
nazev varchar(100) not null,
autor varchar(100) not null,
popis text not null
);

-- vlož řádky s hodnoty do tabulky knihy
insert into knihy values("Aikido", "Morihei Ueshiba", "Aikido a vše okolo něj...");
insert into knihy values("Ferda Mravenčík", "Ondřej Sekora", "Pro děti...");
insert into knihy values("Aikido pro začátečníky", "Morihei Ueshiba", "Jak se naučit aikido...");

-- obdobně můžu zapsat výše řádky takto
insert into knihy values("Aikido", "Morihei Ueshiba", "Aikido a vše okolo něj..."),("Ferda Mravenčík", "Ondřej Sekora", "Pro děti...");


-- do tabulky knihy přidej položky autor_id, id, odeber autor
alter table knihy
  add autor_id int not null;
alter table knihy
  add id int auto_increment not null primary key;
alter table knihy
  drop autor;

-- zruš tabulku knihy
DROP TABLE knihy;

-- vytvoř tabulku knihy a id nastav automatické zvětšování o 1 a nastav to jako jedinečné číslo
CREATE TABLE knihy
(
id int auto_increment not null primary key,
nazev varchar(100) not null,
autor_id int not null,
popis text not null
);

CREATE TABLE autori
(
id int auto_increment not null primary key,
jmeno varchar(100) not null
);

-- přidej do tabulky autori do položky jmeno > Ondřej Sekora
insert into autori (jmeno) values ("Ondřej Sekora");

-- v tabulce knihy nastaví položku autor_id na 1 pokud položka id je 1
UPDATE knihy
set autor_id = "1"
where id="1";

-- do tabulky vlož (insert) nebo nahraď (replace) dané položky, v závislosti na unikátním/primárním klíči
--  v tomto případě id
REPLACE knihy (id,nazev,autor_id,popis) VALUES (4, "Moje krásná nová kniha", 3, "Ivoriusův manuál");

-- smaž řádek z tabulky knihy, který má nastaveno v položce autor_id 3
DELETE FROM knihy
    WHERE autor_id = "3";

Komentáře

  1. Aleš Dobrovolný · 9 07 2006 - 13:58

    # 1

    MySQL – nesmírně mě na ní štve nepřítomnost typu boolean, obcházení tohoto pomocí TiniInt (0, –1) je, s prominutím, příšernost. Doporučil bych PostgreSQL, taky open source, mnohem robustnější, výborná dokumentace a kdesi na webu je podpora v češtině. Ale má horší podporu na hostinzích. Byl jsem spoluatorem aplikace, která v současné době obhospodařuje cca 1,5 milionu řádku asi v 60 tabulkách, cca 40 uživatelů, s PostreSQL na Linuxu bez problémů.

  2. Ivorius · 9 07 2006 - 14:46

    # 2

    A to je právě ono. Velice málo hostingů podporuje PostreSQL. Stejně tak většina aplikací je pro MySQL. Tudíž u mě prozatím vítězí MySQL.

  3. maertien · 28 08 2006 - 11:57

    # 3

    Nevidim jako problem nepritomnost typu boolean… Int mi staci..

  4. nich · 10 04 2008 - 08:00

    # 4

    dobrý den, super článek, jen potřebuji php kód, který řekne příslušnému řádku, aby si našel příslušný řádek tabulky a doplnil do ní údaje?
    mám na mysli heslo, přeszívku, další přesdívku, mail, icq, www… můžete mi, prosím, pomoct? (prosím o odpověď na mail), děkuji



Přidat komentář








Formát Texy