Ako otvoriť tabuľku v mysql

  • 18.06.2019

V predchádzajúcom návode sme sa naučili, ako vytvoriť pripojenie k databázovému serveru. Ďalším krokom je vytvorenie databázy a tabuliek.

Pozrime sa na dva spôsoby vytvorenia databázy a tabuliek. Prvým je, ako sa to robí v PHP, druhým je prívetivejšia utilita PhpMyAdmin, ktorá je štandardom na väčšine webových hostiteľov a v XAMPP.

Ak hosťujete webovú stránku s podporou PHP a MySQL, databáza už môže byť pre vás vytvorená a túto časť tutoriálu môžete preskočiť a začať vytvárať tabuľky. Nezabudnite si pozrieť stránky pomocníka hostiteľa.

Vytváranie databáz a tabuliek pomocou PHP

Funkcia mysql_query sa používa na odoslanie dotazu do databázy MySQL. Žiadosti sú písané v jazyku Sštruktúrované Q uery L jazyk (SQL). SQL je najpoužívanejší databázový dopytovací jazyk – nielen pre databázy MySQL – je veľmi logický a ľahko sa učí. V tomto a nasledujúcom návode sa dozviete najdôležitejšie veci o SQL dotazoch.

Pri vytváraní databázy sa používa SQL dotaz CREATE DATABASE s nasledujúcou syntaxou:

VYTVORIŤ DATABÁZU Názov DB

Jednoduché a jednoduché, však!? Skúsme to vložiť do PHP skriptu:

Mysql_connect ("mysql.myhost.com", "user", "sesame") alebo zomrieť (mysql_error ()); mysql_query ("CREATE DATABASE mydatabase") alebo zomrieť (mysql_error ()); mysql_close ();

Najprv sa pripojíme k serveru MySQL. Potom vytvoríme databázu "mydatabase". Nakoniec ukončíme pripojenie k serveru MySQL.

Zatiaľ je to dobré ... ale veci sa trochu skomplikujú, keď chceme vytvárať tabuľky v PHP. Pri vytváraní tabuliek používame SQL dotaz CREATE TABLE s nasledujúcou syntaxou:

VYTVORIŤ TABUĽKU názov tabuľky (column_name1 DATA_TYPE, column_name2 DATA_TYPE, column_name3 DATA_TYPE, ...)

názov_tabuľky a názov_stĺpca to sú, samozrejme, vhodné mená. DÁTOVÝ TYP používa sa na určenie typu údajov, ktoré sa majú vložiť do stĺpca. Najbežnejšie typy sú:

Celé čísla Desatinné čísla Krátky text do dĺžky 255 znakov Obyčajný text do 65 535 znakov Dlhé kusy textu do 4 294 967 295 znakov Dátumy vo formáte RRRR-MM-DD Čas v HH: MM: SS Čas a dátum v RRRR-MM-DD HH : Formát MM : SS

Vo všeobecnosti je to logické a pomerne jednoduché. Skúsme to vložiť do nášho príkladu:

Mysql_connect ("mysql.myhost.com", "user", "sesame") alebo zomrieť (mysql_error ()); mysql_select_db ("ľudia") alebo zomrieť (mysql_error ()); mysql_query ("VYTVORIŤ TABUĽKU MyTable (id INT AUTO_INCREMENT, Meno CHAR, Priezvisko CHAR, Telefón INT, Dátum narodenia DATE PRIMARY KEY (id))") Alebo zomrieť (mysql_error ()); mysql_close ();

V tomto príklade začneme pripojením k serveru MySQL. Potom pomocou funkcie vyberieme databázu „ľudí“. Ďalej vytvoríme tabuľku "osoby" s 5 stĺpcami.

Všimnite si, že pre stĺpec „id“ určujeme, že stĺpec obsahuje čísla, a potom pridávame, aby sa tieto čísla automaticky zvýšili a zabezpečilo sa, že pre každý riadok sa vygeneruje jedinečné ID.

Nakoniec používame na nastavenie stĺpca „id“ ako primárneho kľúča. Primárny kľúč jedinečne identifikuje každý záznam (/ riadok) v tabuľke, čo je užitočné najmä pri následných aktualizáciách databázy.

Vytváranie databáz a tabuliek pomocou phpMyAdmin

Užitočná môže byť možnosť vytvárať databázy a tabuľky priamo v PHP. Často je však jednoduchšie použiť phpMyAdmin (alebo akýkoľvek iný nástroj na správu MySQL), ktorý je štandardom na väčšine webových hostiteľov a XAMPP. Snímka obrazovky nižšie ukazuje, ako vytvoriť databázy a tabuľky pomocou phpMyAdmin.

Vytváram tabuľku na zobrazenie na webovej stránke a táto tabuľka je vyplnená údajmi z databázy MySQL. Snažím sa robiť pár vecí, ktoré mi to sťažujú.

Najprv sa pokúšam zavolať PHP kód, ktorý existuje v samostatnom súbore v HTML cez JavaScript. Myslím, že mi to funguje správne, ale nie som si 100% istý (pretože tabuľka sa nezobrazí). Myslím, že to funguje správne, pretože sa zobrazuje FireBug niektoré kód tabuľky (ktorý je v súbore PHP).

Po druhé, snažím sa, aby riadky striedali farby pre ľahké prezeranie. Zatiaľ je môj kód PHP uvedený nižšie. Tabuľka sa v žiadnom prehliadači nezobrazuje vôbec.

$ dotaz = "VYBERTE * OD zamestnancov"; $ vysledok = mysql_query (dotaz $); $ num = mysql_num_rows ($ výsledok); ozvena"

"; pre ($ i = 0; $ i< $num; $i++){ $row = mysql_fetch_array($result); $id = $row["id"]; $l_name = $row["l_name"]; $f_name = $row["f_name"]; $ssn = $row["ssn"]; $class = (($i % 2) == 0) ? "table_odd_row" : "table_even_row"; echo ""; echo" "; echo" "; echo" "; echo" "; echo"";) echo"
$ wrap_id$ wrap_l_name$ wrap_f_name$ wrap_ssn
"; mysql_close (odkaz $);)

ZMENIŤ

Aby som odpovedal na pár otázok:

@ controlfreak123, nie som si istý, čo máš na mysli pod pojmom "zahrnúť (" názov_súboru_s_php_v_it ")". Keďže stránka nie je volaná na analýzu, myslím, že sa volá a nadväzuje sa kontakt. Vo svojej pôvodnej otázke som poukázal na to, že verím, že je to pravda, pretože FireBug zobrazuje kód tabuľky a tento kód je v samostatnom súbore PHP, takže medzi súborom HTML a súborom PHP musí existovať prepojenie. Takto volám súbor PHP zo súboru HTML, ak chcete vedieť:

@Matt S, nedostávam veľa informácií o výstupe, v skutočnosti som nevedel, že vôbec niečo dostávam, kým som sa nepozrel na FireBug a neuvidel som, že PHP kód (alebo jeho časť) sa v skutočnosti prenáša potrubím súbor HTML. Špecifická otázka je, ako získať dáta z MySQL databázy a naplniť ich do HTML tabuľky cez PHP. Môžem tiež potvrdiť, že zamestnanci v ňom majú údaje, dva záznamy, ktoré som zadal na testovanie. Môžem sa pokúsiť vložiť kód do môjho vlastného súboru bez JavaScriptu, ako ste navrhovali, ale to vyhráva môj cieľ, pretože chcem, aby boli moje súbory HTML a PHP oddelené, ale môžem skúsiť skontrolovať, či je kód PHP dobrý a uistiť sa JavaScript to neprerušuje.

@Aaron Nie som si istý, čo sa pýtaš (prepáč). Kód slúži na vyplnenie a vytvorenie tabuľky na stránke HTML.

3 odpovede

Tu je úplný príklad toho, čo hľadáte:

  • vytiahnuť nejaké údaje z mysql pomocou php
  • vloží tieto údaje do html tabuľky
  • aplikujte na stôl rôzne farebné reťazce

Na styling trochu podvádzam a používam jquery, čo sa mi zdá o niečo jednoduchšie ako to, o čo sa snažíte.

Pamätajte tiež, že v riadku $ sa rozlišujú malé a veľké písmená. Takže $ riadok! = $ riadok.

Dúfam, že to pomôže:

"; echo" "; echo" "; echo" "; echo""; } ?>
Id názov Názov
". $ riadok."". $ riadok."". $ riadok."


Tu kód tabuľky používa iba PHP na prekladanie štýlov, ako sa to pokúšate urobiť vo svojom príklade:

"; echo" "; echo" "; echo" "; echo""; $ i = ($ i == 0)? 1: 0;)?>
Id Názov Dátum
". $ riadok."". $ riadok."". $ riadok."

Dôvod, prečo sa váš kód nespúšťa, je ten, že nemôžete zahrnúť PHP so značkou Script. Musíte použiť funkciu PHP include a pôvodná stránka musí byť analyzovaná ako PHP.

Lekcia sa bude zaoberať príkladom vytvorenia databázy mySQL a jej tabuliek na lokálnom počítači; Inštalácia DENWER

Balíček denwer nájdete a stiahnete z oficiálnej stránky.

Na prácu s databázami mySql existuje obľúbený nástroj s pohodlným webovým rozhraním – phpMyAdmin.

Po úspešnej inštalácii balíka Denwer spustite nástroj phpMyAdmin podľa týchto krokov:

  • Spustite skratku Denwer
  • v paneli s adresou prehliadača: http: // localhost / tools / phpmyadmin /
  • * v prípade zmeny použitého portu, aby sa predišlo konfliktom pri inštalácii denwer, môže byť adresa prístroja iná, napríklad:
    http: // localhost: 8080 / tools / phpmyadmin

    Vytvorte si databázu mySQL lokálne (insite)

    Vytvorme databázu s názvom inštitút:

    Vytváranie tabuliek v phpMyAdmin

    Teraz v hotovej databáze môžete vytvárať tabuľky s poľami:

    Dátové typy v mySQL

    Dátové typy pre MySQL možno rozdeliť do troch kategórií: číselné údaje, dátum a čas a reťazcové údaje.
    Polia tabuľky teda môžu mať nasledujúce typy údajov:

    Dátový typ Použitie Rozsahy
    TINYINT Veľmi malé celé číslo Rozsah podpísaného čísla je od –128 do 127. Rozsah nepodpísaného čísla je od 0 do 255.
    SMALLINT Malé celé číslo Rozsah podpísaného čísla je od –32768 do 32767. Rozsah nepodpísaného čísla je od 0 do 65535.
    STREDNÝ Priemerné celé číslo Rozsah podpísaného čísla je od –8388608 do 8388607. Rozsah nepodpísaného čísla je od 0 do 16777215.
    INT alebo INTEGER Celé číslo Rozsah pre podpísané číslo je –2147483648 až 2147483647. Rozsah pre nepodpísané číslo je od 0 do 4294967295.
    VEĽKÝ Veľké celé číslo Rozsah podpísaného čísla je –9223372036854775808 až 9223372036854775807. Rozsah nepodpísaného čísla je od 0 do 18446744073709551615.
    Plavák Malé (jednoduchá presnosť) číslo s pohyblivou rádovou čiarkou. Nie je možné zrušiť podpis Rozsahy od –3,402823466E + 38 do –1,175494351E-38, 0 a 1,175494351E-38 do 3,402823466E + 38. Ak nie je nastavený počet desatinných miest, príp<= 24 это число с плавающей запятой одинарной точности.
    DOUBLE,
    DVOJNÁSOBNÁ PRESNOSŤ,
    REÁLNY
    Normálne (dvojitá presnosť) číslo s pohyblivou rádovou čiarkou. Nie je možné zrušiť podpis Rozsahy -1,7976931348623157E + 308 až -2,2250738585072014E-308, 0 a 2,2250738585072014E-308 až 1,79769315786233 Ak nie je nastavený počet desatinných miest alebo 25<= количество знаков <= 53 означает числоа с плавающей запятой двойной точности.
    DECIMAL,
    ČÍSELNÉ
    Rozbalené číslo s pohyblivou rádovou čiarkou Funguje ako dátový typ CHAR: „nezabalený“ znamená, že číslo je uložené ako reťazec s použitím jedného znaku pre každú číslicu hodnoty. Znak desatinnej čiarky a znak záporného čísla „-“ sa do dĺžky nezapočítavajú. Ak je desatinná hodnota 0, hodnota nebude mať desatinnú čiarku ani zlomkovú časť. Maximálna veľkosť pre hodnotu DECIMAL je rovnaká ako pre hodnotu DOUBLE, ale skutočný rozsah pre daný stĺpec DECIMAL môže byť obmedzený výberom dĺžky a desatinných miest.
    DÁTUM dátum Dátum sa pohybuje od „1000-01-01“ do „9999-12-31“. MySQL ukladá pole DATE v tvare "RRRR-MM-DD" (RRRR-MM-DD).
    DÁTUM ČAS dátum a čas Platné rozsahy sú od 1000-01-01 00:00:00 do 9999-12-31 23:59:59. MySQL ukladá pole DATETIME ako „RRRR-MM-DD HH: MM: SS“ (RRRR-MM-DD HH-MM-SS).
    ČASOVÁ ZNAČKA dátum a čas Rozsah je od 1970-01-01 00:00:00 do približne 2037. MySQL môže uložiť pole TIMESTAMP v nasledujúcich formách: „RRRRMMDDHHMMSS“ (TIMESTAMP (14)), „RRMMDDHHMMSS“ (TIMESTAMP (12)), „RRRRMMDD“ (TIMESTAMP (8)) atď.
    ČAS čas Rozsah je "-838: 59: 59" až "838: 59: 59". MySQL ukladá pole TIME ako „HH: MM: SS“, ale umožňuje vám priradiť hodnoty stĺpcom TIME pomocou reťazca alebo čísla.
    ROK Rok v 2 alebo 4 čísliciach (štandardne 4 číslice) Ak používate 4 číslice, platné hodnoty sú 1901-2155 a 0000. Ak používate 2 číslice, potom 1970-2069 (70-69). MySQL ukladá hodnoty poľa YEAR vo formáte „YYYY“.
    CHAR Šnúrka s pevnou dĺžkou, na pravej strane vyplnená medzerami na špecifikovanú dĺžku pri skladovaní Rozsah dĺžky je od 1 do 255 znakov. Po načítaní hodnoty sa medzery na konci odstránia. Hodnoty CHAR sa triedia a porovnávajú bez ohľadu na veľkosť písmen na základe predvoleného kódovania, pokiaľ nie je nastavený príznak BINARY.
    VARCHAR Šnúrka s premenlivou dĺžkou. Poznámka: Medzery na konci sú pri ukladaní odstránené (na rozdiel od špecifikácie ANSI SQL). Rozsah dĺžky je od 1 do 255 znakov. Hodnoty VARCHAR sa triedia a porovnávajú bez ohľadu na veľkosť písmen, pokiaľ nie je nastavený príznak BINARY.
    TINYBLOB,
    TINYTEXT
    BLOB alebo TEXT s maximálnou dĺžkou 255 (2 ^ 8 - 1) znakov.
    BLOB,
    TEXT
    BLOB alebo TEXT s maximálnou dĺžkou 65535 (2 ^ 16 - 1) znakov.
    MEDIUMBLOB,
    MEDIUMTEXT
    BLOB alebo TEXT s maximálnou dĺžkou 16777215 (2 ^ 24 - 1) znakov.
    LONGBLOB,
    LONGTEXT
    BLOB alebo TEXT s maximálnou dĺžkou 4294967295 (2 ^ 32 - 1) znakov.
    ENUM Enumerácia Reťazec objektu, ktorý môže mať iba jednu hodnotu, sa vyberie zo zoznamu hodnôt „hodnota 1“, „hodnota 2“ alebo NULL. ENUM môže mať maximálne 65535 rôznych hodnôt.
    SET Súprava String-object, ktorý môže nadobudnúť nulu alebo viac hodnôt, pričom každú z nich je potrebné vybrať zo zoznamu hodnôt „hodnota 1“, „hodnota 2“, ... Pole SET môže mať maximálne 64 hodnôt.

    Mysql úloha 1. V počítači vytvorte databázu s názvom Ústav a tabuľky:
    - lekcie s odbormi:

    • tid - pre komunikáciu s učiteľmi (int)
    • kurz - varchar
    • dátum - typu dátum

    - kurzy s odbormi:

    • id - jedinečné pole, kľúč (A_I - počítadlo)
    • tid - na komunikáciu s učiteľmi
    • titul - varchar
    • dĺžka (trvanie v hodinách)

    - učitelia s odbormi:



    Dôležité:
    * Atribút AUTO_INCREMENT používa sa na generovanie jedinečného ID pre nové riadky

    * Primárny kľúč slúži na jednoznačnú identifikáciu záznamov (polí) tabuľky. Žiadne dva záznamy v tabuľke nemôžu mať rovnaké hodnoty primárneho kľúča. V relačných (tabuľkových) databázach takmer vždy spolu rôzne tabuľky logicky súvisia. Primárne kľúče sa používajú na jedinečnú organizáciu daného vzťahu.

    Mysql úloha 2. Naplňte tabuľky údajmi, ako je znázornené na obrázkoch nižšie pre tabuľku učiteľov. Rovnakým spôsobom vyplňte záznamy v tabuľkách kurzov a lekcií.

    Ako možnosti na sústredenie informácií sú životne dôležité a nezaobíde sa bez nich ani menší projekt. Ako efektívne je štruktúra premyslená, tabuľky sú správne navrhnuté, prepojenia sú nakonfigurované - to určuje rýchlosť získavania / zapisovania informácií, spoľahlivosť ukladania údajov, záruku nemožnosti náhodného poškodenia, dostupnosť vrátení, úplnosť každej transakcie – a úspešnosť vo všeobecnosti.

    Databáza je predovšetkým konceptuálna myšlienka, prezentácia informácie a logika jej použitia v konkrétnej úlohe.

    Jednoduché vzťahy = efektívna implementácia

    Relačné nápady na organizáciu dát rozhodne nie sú najlepšie, no svoje pozície si suverénne držia dlhé desaťročia. Ako továrne na výrobu potravín a základných tovarov pre spotrebiteľskú spotrebu sú určite potrebné.

    Revolučné myšlienky v informačnom biznise mnohokrát deklarovali svoje právo na život, no dodnes nedokázali poskytnúť zmysluplné dôkazy o existencii takéhoto práva. Ako vždy, jednoduchosť je kľúčom k úspechu. Téma vzťahov a súvislostí medzi informačnými objektmi – bodmi a systémami v informačnom priestore – je však stále plná prázdnych miest a zaujímavých prekvapení.

    Použitie jednoduchého dizajnu vedie k vytvoreniu desiatok jednoduchých a ľahko použiteľných tabuliek, ktoré formalizujú rozsah problému. Začať používať „svaly“ je veľmi jednoduché, no po prvých desiatich tabuľkách generujú vzťahové vzťahy iný postoj k informáciám, ich prezentácii, ukladaniu a používaniu.

    Dočasné, kontrolované a trvalé

    Charakteristický bod: „základná konštrukcia“ konceptu databázy nezahŕňa MySQL, ktorý ožil s internetovým programovaním a stal sa jeho nevyhnutnou súčasťou. Vďaka dynamickým moderným technológiám je táto databáza rýchla, spoľahlivá a efektívna, ľahko sa učí a používa.

    Okrem hlavných tabuliek umožňuje konštrukcia MySQL vytvoriť dočasnú tabuľku programátorovi vytvárať dočasné dátové štruktúry, ktoré existujú počas aktuálnej relácie, návštevy konkrétneho používateľa alebo pri výskyte konkrétnej udalosti.

    Ak sa predtým s tabuľkami a vzťahmi medzi nimi zaobchádzalo ako s niečím neotrasiteľným, dnes už nie je akceptované odkazovať ani výkonné databázy na základné objekty. Toto je len krok k pochopeniu informačnej štruktúry potrebnej na vyriešenie problému.

    Poskytnutím nástroja na vytváranie dočasných tabuliek vám MySQL dáva možnosť rozdeliť databázu na statické a dynamické časti. Po označení tabuliek môže programátor automaticky kontrolovať správnosť jej zostavenia. Pomocou konštrukcie kontroly vytvorenia tabuľky MySQL môže vývojár špecifikovať podmienky vyplnenia polí. Aj keď táto možnosť je skôr príležitosťou na uľahčenie migrácie konštruktov SQL z iných dialektov.

    Informačný priestor: body a systémy

    Každý projekt, či už je to celá stránka, jedna stránka alebo jeden jednoduchý algoritmus, sa nachádza na určitom mieste v určitom informačnom priestore. „Adresa“ tohto miesta je špecifická úloha, podmienky existencie algoritmu: informačná štruktúra na vstupe a výstupe, formy transformácie v procese.

    Nie je však nutné dodržiavať pravidlá MySQL, pri vytvorení tabuľky môže vzniknúť niečo iné ako je jej syntax.

    V tomto príklade polia code_back, owner_code a session_code definujú návratový kľúč, kľúč klienta a kľúč relácie. Nielen použitie neštandardnej verzie MySQL create table, kľúč tu nespočíva v oblasti jeho kompetencie, ale je vypísaný podľa významu: návratový kód v prípade nedokončenia transakcie, kód aktívneho klienta a kód relácie, ktorých môže byť pre daného klienta viacero, ale záleží na ňom, kam sa kontrola pomocou návratového kódu prenesie.

    Neštandardné je tu aj použitie polí h_code, a_contents a a_surprise. Tu vo vytvorení tabuľky MySQL je príklad toho, ako môže jedno pole obsahovať nie údaje, ale sémantiku. V každej situácii, keď potrebujete mať tabuľku klientov, má zmysel vytvoriť vyrovnávaciu pamäť aktívnej časti tejto tabuľky. Navyše to vôbec nie je potrebné robiť adekvátne k pôvodnej dátovej štruktúre. Takže napríklad pole a_contents dostane obsah: meno; heslo; e-mail a pole a_surprise dostane aktuálny stav používateľa.

    Myšlienka obsahu a / alebo prekvapenia

    Táto možnosť nevyžaduje prístup k hlavnej tabuľke, ktorá môže byť veľká a ťažkopádna, ale umožní vám obmedziť sa na malú tabuľku obsahujúcu iba relevantné informácie. Tu vytvorte tabuľku MySQL je príkladom toho, čo môžete urobiť na prihlásenie klienta menom a heslom alebo heslom a e-mailom v jednoduchom stave: (a_contents ako "($ cUserName); ($ cUserPass)%") alebo (a_contents ako "% ($ cUserPass); ($ cUserName) ").

    Tento príklad používa vlastnú funkciu na kontrolu, či tabuľka existuje: scTableExists ("rm_cache"), pretože ak tabuľka neexistuje, budete ju musieť nielen vytvoriť, ale napríklad aj zapísať niekoľko počiatočných záznamov s údajmi zdroja. správcovia.

    Štandardné vytvoriť tabuľku, ak neexistuje MySQL ponúka obmedzenú možnosť skontrolovať, či tabuľka existuje, a vytvoriť ju, ak nie. To zvyčajne nestačí. Je potrebné nielen skontrolovať prítomnosť tabuľky, ale aj vyplniť počiatočné informácie.

    Jednoduchá bunka

    Špecifickosť jazykov používaných v MySQL, najmä PHP, tradične minimalizuje množstvo populárnych údajov: predovšetkým netypizovanou povahou jeho premenných. Najčastejšie sa podľa potreby používajú reťazce - čísla a dátumy, niekedy logické údaje. Málokedy tabuľka create obsahuje rozsiahlejšie možnosti na popis údajov na MySQL. Hoci to druhé je určené problémom, ktorý sa má vyriešiť. Prostredníctvom vytvárania tabuľky MySQL je možné využívať celý rozsah údajov, napríklad akýkoľvek moderný redakčný systém pre stránku.

    Čo a ako použiť, určuje vývojár. V súčasnosti, podľa Wikipédie, objemové a rýchlostné možnosti MySQL dokážu uspokojiť najrozsiahlejšie predstavy zákazníka, berúc do úvahy skúsenosti používaného vývojára. Pri použití na MySQL create table vám predvolené konštrukcie umožňujú vytvárať čisté (prázdne tabuľky) s bunkami s premenlivou dĺžkou a generovať dynamický obsah za behu.

    Komplexné dátové štruktúry

    Zameranie na jednoduché dátové typy, predovšetkým reťazce, viedlo k zvýšeniu záujmu o návrh komplexných informačných objektov, ktoré sa pri práci s databázou menia na ukladanie najmä reťazcov, čísel (najčastejšie indexov), dátumov a „ veľké dáta“ - obrázky, zvuky, ďalší objemný obsah. Tu je dialekt vytvárania stola prakticky neobmedzený. Pri všetkej jednoduchosti a prístupnosti „svalu“ má programátor k dispozícii všetku silu skutočného jazyka SQL.

    Navonok jednoduchá z hľadiska databázy sa bunka typu char alebo varchar pri čítaní do plnohodnotného objektu premení na algoritmus - komplexná dátová štruktúra (vlastnosti a metódy, syntax a sémantika) a pri opätovnom písaní sa zmení do kompaktnej podoby, ktorej podstatu určuje developer.

    Elementárna tabuľka

    Iba stĺpce, iba čiary a iba jeden prvok v ich priesečníku a iba jeden typ - bunka. Toto je základné pravidlo konštrukcie.Nič sa nerozlišuje originalitou: čísla, reťazce znakov, dátumy... Zo syntaxe to nevyplýva, ale v praxi to tak vyzerá.

    Programátor, ktorý interpretuje bunku, môže do nej vpustiť objekt akéhokoľvek typu, vzhľadom na požiadavky úlohy. Z pohľadu databázy je tento „akýkoľvek typ“ len reťazec.

    Nezáleží však na tom, čo a ako vývojár preferuje používať. Je dôležité, že v súčasnosti (podľa Wikipédie) objemové a rýchlostné parametre MySQL dokážu uspokojiť najrozsiahlejšie predstavy zákazníka, berúc do úvahy skúsenosti použitého vývojára.

    Najjednoduchšie stoly, usporiadané najjednoduchším možným spôsobom, sa ukážu ako "húževnaté". Ak vývojár vloží do každého poľa správny význam tak, že ho zabalí do znakov char alebo varchar v rámci syntaxe tabuľky MySQL, tabuľka bude fungovať.

    Celočíselná tabuľka

    O indexoch MySQL sa oplatí diskutovať samostatne. Vytvoriť tabuľku vám umožňuje okamžite ich opísať a použiť ich na prístup k veľkému množstvu údajov. Tento prístup je veľmi zrozumiteľný, známy a prepracovaný do takých maličkostí, že optimalizáciu obmedzuje rýchlosť procesora, cachovanie vzoriek, prefíkané algoritmy na počítanie často vyberaných dát, editácia php.ini, my.ini a httpd.conf.

    Medzitým nikto neobťažuje vývojára, aby si vytvoril vlastnú predstavu o „údajoch“ – „údajových kľúčoch“, pre jednoduchosť celočíselných – nie jeden riadok v tabuľke, iba čísla. Mikroprojekt Create table int MySQL poskytne všetkým ostatným tabuľkám všetko, čo potrebujete: rýchly prístup, jednoduché operácie, plnú funkčnosť pri ideálnej rýchlosti.

    Celé čísla, usporiadané ako mapa reálnych údajov obsiahnutých vo veľkých a ťažkopádnych tabuľkách, umožnia bez problémov urýchliť vyhľadávanie a úpravu informácií. Tento typ kľúčového prístupu nie je potrebné vytvárať po celú dobu operácie, môžete použiť vytvorenie dočasnej tabuľky, MySQL pred použitím vytvorí dočasnú tabuľku. Alebo napríklad pre každého používateľa - vlastnú tabuľku kľúčov.

    V tomto kontexte je syntax nešpecifikovaná použitie create table if not exists MySQL vám umožňuje vytvárať potrebné tabuľky, aj keď neočakávane chýbajú: napríklad došlo k nesprávnemu prihláseniu / odhláseniu alebo zlyhaniu počítača a indexovanie bolo prerušené.

    Hosting reality - MySQL +

    Historicky bola databáza zmysluplnou dátovou štruktúrou. Dizajn M ySQL create table sa spočiatku držal klasickej koncepcie dát a ich miesta na disku. Internetové programovanie a predovšetkým možnosti hostingu a logika populárnych systémov na správu stránok urobili na prvý pohľad zvláštny posun: jedna základňa môže byť kombináciou viacerých. Rozdelenie je založené na predponách názvov tabuliek.

    Niektorí poskytovatelia hostingu stanovili svoje vlastné požiadavky na názvy databáz, napríklad názov databázy začína názvom hostiteľa.

    Vo všeobecnosti nezáleží na tom, ako pomenovať databázu a ako pomenovať jej tabuľky. Súčasná situácia však začala predstavovať nielen syntax MySQL, ale aj požiadavky na hosting plus syntax, teda MySQL +.

    Čím je tabuľka menšia, tým je jednoduchšia a čím je v nej menej záznamov, tým je hustejšie implantovaná do programovacieho jazyka, cez ktorý sa vykonávajú potrebné úkony s dátami.

    V zásade sa dá každá úloha jednoducho popísať do elementárnych komponentov, otázkou je len to, koľko bude takáto jednoduchosť stáť.

    Ak potrebujete čisté MySQL, potom je to váš vlastný hosting, váš vlastný server, kde nebudú žiadne obmedzenia ani na počet databáz, ani na pravidlá ich pomenovania a tabuliek v nich zahrnutých.

    Rôzne verzie Apache / MySQL / PHP

    Závislosť na podmienkach hostingu nie je ani tak problémom, ako dôležitou podmienkou moderného bezpečného programovania. Môžete písať v PHP 7.0.13, používať MySQL 5.7.16, ale zákazník skončí s hostingom, ktorý akceptuje iba Perl a muscle verziu 4.1.1 alebo zastaranú verziu PHP.

    V podstate (čo však nie je skutočnosť) je hosting poskytovaný na Linuxe, FreeBSD, UBUNTU a iných variáciách unicos podobných systémov. Všetky fungujú dobre, ale každý z nich má svoje vlastné charakteristiky, svoje vlastné verzie zostáv AMP (Apache, MySQL, PHP). Nie vždy a nie každý príkaz bude fungovať v ďalšej verzii, hoci v predchádzajúcej verzii fungoval.

    Akákoľvek verzia MySQL robí takú jednoduchú operáciu, akou je export databázy bez akýchkoľvek problémov, ako z phpMyAdmin, tak aj z príkazového riadku. Operácia spätného importu sa nemusí uskutočniť. Najčastejšie budete musieť niečo zmeniť v nastaveniach servera PHP, MySQL alebo Apache. Ak zmeny nepomôžu, budete musieť hľadať alternatívy.

    Je zrejmé, že iná operácia môže byť vykonaná preinštalovaním databázy, programovacieho jazyka alebo servera. Nie je to najlepšie riešenie, ale zvyčajne je účinné.

    Vytvorenie/overenie databázovej tabuľky

    Syntax na vytvorenie tabuľky MySQL sa vo svojej štandardnej forme používa zriedka. Ak sa to nezohľadní v kontexte populárnych systémov správy stránok: vždy budú existovať klasiky tohto žánru. V každodennej práci je najjednoduchšie zvážiť to v kontexte praxe: aké polia sú potrebné v tabuľke, aký typ a veľkosť by mali byť. Zvyšok bude musieť byť dokončený počas procesu vývoja: znaková sada, poradie triedenia, kľúče.

    Optimálny variant algoritmu je taký, že ani absencia databázy nebráni tomu, aby stránka začala pracovať. Môžete si napísať vlastnú funkciu na kontrolu prítomnosti databázy a / alebo tabuľky, keď je potrebné nielen formovať informačné štruktúry, ale aj ich naplniť počiatočnými informáciami.

    Často stačí použiť sériu konštrukcií Vytvoriť tabuľku, ak neexistuje, potom MySQL neprekvapí majiteľa stránky alebo jeho návštevníka neočakávaným hlásením: chýba databáza alebo je štruktúra tabuľky narušená.

    V modernom programovaní všeobecné pravidlo „dôveruj, ale preveruj“ nefunguje, ale bude používať logiku „testuj a používaj“.

    Vytvorenie tabuľky: Príklad používateľskej tabuľky MySQL

    Registrácia nových návštevníkov a vstup/odchod používateľov stránky boli vyvinuté mnohokrát, ale stále neexistujú žiadne hranice dokonalosti v tejto dôležitej časti akejkoľvek stránky.

    V mnohých ohľadoch sú vstup / výstup a registrácia určené kompetenciou stránky a / alebo použitým systémom správy stránok, ale častejšie - túžbou vyvinúť niečo bezpečnejšie, chrániť používateľské účty a zabrániť napadnutiu stránky.

    Databáza MySQL je zvyčajne bezpečnejšia ako webová stránka, ale v prípade zlyhania je možné, že prehliadač zobrazí chybové hlásenia s konfiguračným kódom webovej lokality, ktorý obsahuje mená a heslá k databáze.

    Je dobrou praxou rozdeliť údaje na statické a dynamické časti. Ak použijete tabuľku užívateľov ako príklad, môžete mať objemnú tabuľku užívateľov a aktívnu cache_users. Prvá tabuľka obsahuje veľký počet používateľov, druhá - iba tých, ktorí pracovali v posledný deň (napríklad). Každý nový používateľ, ktorý nie je v druhej tabuľke, tam príde po prihlásení/registrácii a bude nejaký čas uložený.

    Rozdelenie do dvoch tabuliek tu však dáva nielen rýchlosť získavania údajov (malá tabuľka je vždy rýchlejšia ako ťažkopádna a veľká), ale aj to, že len informácie, ktoré sú najčastejšie potrebné pri práci s akýmkoľvek klientom je v ňom umiestnená konkrétna lokalita. Na výber alebo zmenu údajov samozrejme slúži hlavná tabuľka.

    Pamäť, informácie a databázy

    V oblasti informačných technológií akosi nevyšlo predstaviť si programovací jazyk s pamäťou. Jazyk sú premenné, konštanty a konštrukcie, ktoré vám umožňujú s niečím a nejako manipulovať. Databáza je niečo, čo to ukladá. Vždy sa z nej dá niečo vybrať, dá sa do nej niečo napísať.

    Jazyk a základňa sú kombinované za účelom práce s informáciami, no logika prepojení v tejto triáde nie je taká dokonalá, ani ako v jednoduchom AMP balíku: Apache, PHP, MySQL. Tu je všetko jasné: server, programovací jazyk a databáza sú všetko, čo je potrebné pre veľkú väčšinu úloh.

    Jazyk SQL je rovnaký programovací jazyk a v skutočnosti má databáza svoju vlastnú logiku operácií, svoj vlastný programovací koncept. Tu je evidentná snaha databázy o programovanie. PHP je dobrý nástroj, ale ťažko povedať, že adekvátne inklinuje k databázam. Jeho dizajn a funkcie sa však vyvíjajú a zlepšujú.

    Ak skombinujete PHP a MySQL do jedného celku, získate nástroj s pamäťou. Možnosť kombinácie dáva myšlienku objektovo orientovaného programovania: objekt opísaný v jazyku je v čase svojej nepotrebnosti v kompaktnom stave v pamäti (v databáze). Keď to bude potrebné, je obnovený do plnohodnotného objektu a koná v súlade so svojou kompetenciou.

    Posledná aktualizácia: 04/05/2018

    Vytvorenie tabuľky

    Príkaz CREATE TABLE sa používa na vytváranie tabuliek. Tento príkaz používa množstvo operátorov, ktoré definujú stĺpce tabuľky a ich atribúty. Všeobecná formálna syntax pre príkaz CREATE TABLE je:

    CREATE TABLE názov_tabuľky (názov_stĺpca1 údajový typ atribúty_stĺpca1, názov_stĺpca2 typ údajov stĺpec_atribúty2, .................................. .. .......... názov_stĺpcaN typ údajov atribúty_stĺpcaN, atribúty na úrovni_tabulky)

    Za príkazom CREATE TABLE nasleduje názov tabuľky. Názov tabuľky funguje ako jej identifikátor v databáze, preto musí byť jedinečný. Potom sú v zátvorkách uvedené názvy stĺpcov, ich typy údajov a atribúty. Na samom konci môžete definovať atribúty pre celú tabuľku. Atribúty stĺpcov, ako aj atribúty tabuľky sú voliteľné.

    Vytvoríme jednoduchú tabuľku. Ak to chcete urobiť, spustite nasledujúci skript:

    CREATE DATABASE productsdb; USE productsdb; CREATE TABLE Zákazníci (Id INT, Age INT, First Name VARCHAR (20), Last Name VARCHAR (20));

    Tabuľka nemôže byť vytvorená sama. Vytvára sa vždy v konkrétnej databáze. Najprv sa tu vytvorí databáza productsdb. Potom sa príkaz USE použije na označenie, že všetky ďalšie operácie vrátane vytvorenia tabuľky sa vykonajú v tejto databáze.

    Ďalším krokom je vytvorenie tabuľky s názvom Zákazníci. Definuje štyri stĺpce: ID, Vek, Meno, Priezvisko. Prvé dva stĺpce predstavujú ID zákazníka a jeho vek a sú typu INT, to znamená, že budú uchovávať číselné hodnoty. Nasledujúce stĺpce predstavujú meno a priezvisko zákazníka a sú typu VARCHAR (20), to znamená, že predstavujú reťazec maximálne 20 znakov. V tomto prípade je pre každý stĺpec definovaný názov a typ údajov a chýbajú atribúty stĺpcov a tabuľky ako celku.

    A v dôsledku tohto príkazu sa vytvorí databáza productsdb, v ktorej sa vytvorí tabuľka Zákazníci.

    Premenovanie tabuliek

    Ak po vytvorení tabuľky chceme tabuľku premenovať, musíme na to použiť príkaz RENAME TABLE, ktorý má nasledujúcu syntax:

    PREMENOVAŤ TABUĽKU old_name TO new_name;

    Premenujme napríklad tabuľku Zákazníci na Klienti:

    PREMENOVAŤ TABUĽKU Zákazníci na klientov;

    Úplne vymažte údaje

    Ak chcete úplne odstrániť údaje, vyčistiť tabuľku, použite príkaz TRUNCATE TABLE. Vyčistime napríklad tabuľku Klienti:

    TRUNCATE TABLE Klienti;

    Zhadzovanie stolov

    Na vymazanie tabuľky z databázy použite príkaz DROP TABLE, po ktorom sa uvedie názov tabuľky, ktorá sa má vymazať. Vynechajme napríklad tabuľku Klienti.