Kuinka lisätä taulukko mysql php: hen. Kuinka näyttää tietoja MySQL:stä - opas ei-shamaaneille. Sukella strukturoituun kyselykieleen

Tässä on yleinen SQL-syntaksi MySQL-taulukoiden luomiseen:

CREATE TABLE taulukon_nimi(sarakkeen_nimi sarakkeen_tyyppi);

Luomme nyt seuraavan taulukon tietokannan opetusohjelmiin.

Tutorials_tbl(tutorial_id INT NOT NULL AUTO_INCREMENT, tutorial_title VARCHAR(100) NOT NULL, tutorial_author VARCHAR(40) NOT NULL, submission_date DATE, PRIMARY KEY (tutorial_id));

Tässä on joitain kohtia, jotka kaipaavat selvennystä:

  • Attribuuttikenttä ei ole NULL , sitä käytetään, koska emme halua sen olevan tyhjä. Joten jos käyttäjä yrittää luoda tietueen NULL-arvolla, MySQL antaa virheilmoituksen.
  • Auto_increment-attribuuttikenttä MySQL:ssä ei käske mennä eteenpäin ja lisätä seuraavaa saatavilla olevaa numeroa ID-kenttään.
  • Ensisijaisen avaimen avainsanaa käytetään määrittämään sarake ensisijaiseksi avaimeksi. Voit määrittää ensisijaisen avaimen käyttämällä useita pilkuilla erotettuja sarakkeita.

Taulukoiden luominen komentoriviltä:

MySQL-taulukon luominen on helppoa MySQL > -kehotteesta. Käytät taulukon luomiseen SQL-komentoja.

Esimerkki:

Tässä on esimerkki, joka luo tutorials_tbl:

Root@host# mysql -u root -p Syötä salasana:******* mysql> use TUTORIALS; Tietokanta muutettu mysql> CREATE TABLE tutorials_tbl(-> tutorial_id INT NOT NULL AUTO_INCREMENT, -> tutorial_title VARCHAR(100) NOT NULL, -> tutorial_author VARCHAR(40) NOT NULL, -> Submission,EY_datorial (PRIMARY) ->tutorial ); Kysely OK, vaikuttaa 0 riviin (0,16 s) mysql>

Taulukoiden luominen PHP-skriptillä:

Jos haluat luoda uuden taulukon mihin tahansa olemassa olevaan tietokantaan, sinun on käytettävä PHP mysql_query() -funktioita. Luodat taulukon, välität toisen argumentin oikealle SQL-komennolle.

Esimerkki:

Tässä on esimerkki taulukon luomisesta PHP-skriptillä:

MySQL-taulukoiden luominen "; $sql = "CREATE TABLE tutorials_tbl(". "tutorial_id INT NOT NULL AUTO_INCREMENT, ". "tutorial_title VARCHAR(100) NOT NULL, ". "tutorial_author VARCHAR(40) NOT "sNULLmission,_ " ". "PRIMARY KEY (tutorial_id)); "; mysql_select_db("TUTORIALS"); $retval = mysql_query($sql, $conn); if(! $retval) ( die("Ei voitu luoda taulukkoa: " . mysql_error()); ) echo "Taulukko luotu onnistuneesti" ; mysql_close($conn); ?>

Lisää esimerkkejä:

LUO TAULUKO, JOS EI OLE OLEMASSA "käyttäjät" ("id" int(11) NOT NULL auto_increment, "role_id" int(11) NOT NULL oletus "1", "käyttäjänimi" varchar(25) lajitella utf8_bin NOT NULL, "salasana" varchar (34) lajitella utf8_bin NOT NULL, `email` varchar(100) lajitella utf8_bin NOT NULL, `banned` tinyint(1) NOT NULL oletus "0", `ban_reason` varchar(255) lajitella utf8_bin oletusarvo NULL, varchar uusi (34) lajittele utf8_bin oletus NULL, `newpass_key` varchar(32) lajittele utf8_bin oletus NULL, `newpass_time` datetime oletus NULL, `last_ip` varchar(40) lajittele utf8_bin oletusarvo NOT NULL, `viimeinen_sisäänkirjautuminen` päivämäärä-aika 0000LL -00 00:00:00", "luodin" päivämäärä-aika EI NULL oletus "0000-00-00 00:00:00", "muokattu" aikaleima EI NULL oletus CURRENT_TIMESTAMP päivityksessä CURRENT_TIMESTAMP, ENSISIJAINEN AVAIN ('id') ENGINE =InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=3 ; //Kahdella avaimella: CREATE TABLE JOS EI OLE `ci_sessions` (session_id varchar(40) OLETUS "0" NOT NULL, ip_address varchar(16) OLETUS "0" EI NULL, user_agent varchar(120) NOT NULLt 10) allekirjoittamaton OLETUS 0 EI NULL, user_data text EI NULL, ENSISIJAINEN AVAIN (istunnon_tunnus), AVAIN `last_activity_idx` (`viimeinen_toiminto`));

Erillisissä artikkeleissa kuvataan muita tietokantojen käytön perusteita, ei vain MySQL:ää.

MySQL-taulukon luominen PHP:n avulla ja muita yksityiskohtia

Kerron nyt tarkemmin uteliaille, minne ja mitä minne laittaa.

Tehdään siis yksinkertainen taulukko materiaalin ymmärtämisen helpottamiseksi ilman liiallista fanaattisuutta ja muotisanoja. Alla on komentosarja, joka voidaan helposti suorittaa phpmyadminin ohjauspaneelin SQL-välilehdellä, tätä varten sinun tarvitsee vain kopioida teksti ja napsauttaa suorita-painiketta:

CREATE TABLE `base_name`.`table_name` (`id` INT NULL AUTO_INCREMENT COMMENT "ID-tietueen numero", "teksti_` VARCHAR(500) NULL COMMENT "Tekstikenttä", PRIMARY KEY (`id`)) ENGINE=MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT="Kokeellinen taulukko";

Nyt tietokannassamme (DB) on taulukko nimeltä "taulukon_nimi".

Muutama tärkeä huomautus.

  • Ota tapa täyttää kommentit kenttiin välittömästi, tämä antaa sinulle mahdollisuuden kehittää tapa kommentoida, ja myöhemmin suuria ja dynaamisia kenttiä kehitettäessä ei tule ongelmia, koska epäilen muistatko 10 tuhatta kenttää ulkoa ja miksi ja miksi kutakin kenttää tarvitaan.
  • Unohda kaikki aiemmin olemassa olevat koodaukset ja työskentele vain UTF:ssä. Ennen kuin loput ovat ilmeisiä, lue linkin tiedot.
  • Kirjoita kaikki kentät joko vain pienillä tai vain isoilla kirjaimilla. Valitettavasti PHP on nirso kirjainkoon suhteen, ja jos kirjainkoko hyppää, monet skriptit ja kentät eivät välttämättä näy sinulle tai näytetään, mutta eivät oikein.

Tältä sivun valmis HTML-koodi näyttää:

Merkintä id=".$row["id"].". Teksti: ".$row["text_"]."

"; )// /kun ?>

Ongelma UTF-8-koodauksessa

Kuten tilastot ovat osoittaneet, tämä on niin suosittu ongelma, että päätin laittaa sen erilliseen lukuun. Mutta itse asiassa ei ole mitään ongelmia, lisää heti tietokantayhteysmenettelyn jälkeen kolme alla korostettua riviä, jotka vastaavat tulosten koodauksen vaihtamisesta, tässä on esimerkki:

// yhteyden muodostaminen palvelimeen (@ virheen esto) @mysql_connect($sdd_db_host,$sdd_db_user,$sdd_db_pass); // vaihtaa haluttuun tietokantaan @mysql_select_db($sdd_db_name); // koodaus, jota käytetään tietojen lähettämiseen PHP-skriptistä MySQL:ään @mysql_query("set character_set_client="utf8""); // koodauksen asettaminen, jossa tiedot palautetaan MySQL-tietokannasta PHP-skriptiin @mysql_query("set character_set_results="utf8""); // koodauksen asettaminen, jossa palvelukomennot lähetetään palvelimelle @mysql_query("set collation_connection="utf8_general_ci"");

Monet ihmiset käyttävät linjaa:

mysql_query("set NAMES utf8");

Tämä toimii, mutta tämä kutsu poistetaan MySQL:n tulevista versioista. Tämä mainitaan MySQL-verkkosivustolla, joten on erittäin mahdotonta käyttää tätä koodauksen vaihtotapaa.

Jos olet täysin menettänyt mielesi ja päättänyt palata ohjelmointiin 90-luvulla ja pidät kuollutta cp1251-koodausta ihanteellisena, korvaa UTF asianmukaisilla arvoilla. cp1251 Ja cp1251_general_ci.

On epämiellyttävää, mutta totta, ohjelmointia harjoittavat ihmiset, varsinkin viime aikoina, ovat täysin unohtaneet kuinka lukea mukana olevaa dokumentaatiota, jossa suurin osa ongelmista on kuvattu.

Perusongelmat ja temput työskennellä taulukoiden kanssa MySQL:ssä PHP:n kautta

Tässä on joitain temppuja, jotka tulevat usein esille myös aloittelijoille:

Miksi @-merkki tarvitaan ennen mysql-komentoja?

Tämä merkki estää tietojen ulostulon moottorin virheistä. Koska artikkeli on tarkoitettu aloittelijoille, et saavuta oikeaa kohtaa pian, joten laitan tämän merkin, jotta en lataa sinulle turhaa tietoa eikä mikään häiritsisi minua.

Mitä voi tehdä vaikeammin?

Vaikeammille tällä sivustolla on kokonaisuus, ja tärkeimmät ja yleisimmät on myös maalattu, mikä ensimmäisen opiskeluvuoden alussa riittää kaikkiin tarpeisiisi.

Kiitos diego_lott26:lle koodin virheen osoittamisesta.

Kirjailijalta: Miksi ravistat kännykkääsi noin? Kirje saapui postilaatikkoon, mutta et voi lukea sitä? Se on selvää! Sinun on silti juostava tamburiinilla lähellä PC:tä näyttääksesi tietoja MySQL:stä. Kirjeen "peruuttamisen" jälkeen he aikoivat tehdä tämän ja jopa ottivat tamburiinin? Okei, en puutu asiaan. Ja loput "" Kerron sinulle kuinka "poistaa" tietoja MySQL:stä ilman tamburiinia.

phpMyAdmin Output Tools

Jätä toistaiseksi sivuun tamburiini, hiipivän pythonin silmät ja kärpäsheltanauha. Kokeillaan vähemmän "maagisia" tapoja saada tietoa tietokannasta. Aloitetaan tarkastelemalla phpMyAdmin-kuoren tarjoamia mahdollisuuksia tähän. Aloitamme ohjelman, luettelon vasemmalla puolella valitsemme tarvittavan pohjan. Jos haluat näyttää MySQL-taulukon tiedot, siirry päävalikossa "Yleiskatsaus"-osioon. Sen jälkeen saamme valitun taulukon sisällön.

Tämän seurauksena pääsimme halutun tietokannan sisältöön kolmella napsautuksella. Mutta jotain kokeiluihin valitusta DB:stä tuli liian tylsää. Tietenkin me kaikki rakastamme "eläimiä", mutta "tanssimme tamburiinien kanssa" ne kaikki hajoavat nopeasti. Tämä ei ole helppo bisnes "shamanismi"

Jotta et kärsisi uuden tietokannan luomisesta ja emme tuhlaa arvokasta aikaa, lataamme valmiin tietokannan virallisesta MySQL-resurssista. Ja käytämme tällä tavalla säästetyt minuutit DBMS-hallinnon "taikuuden" oppimiseen. Ladattu tietokanta asennetaan phpMyAdminiin "Tuo"-välilehden kautta.

Tuotu tietokanta "Maailma" sisältää paljon enemmän tietoa ja on siksi mielenkiintoisempi oppimisen kannalta (jos kyllästymme materiaalin kehittämisen aikana). Hänen "potentiaalinsa" voidaan nähdä avaamalla mikä tahansa hänen pöytästään. Esimerkiksi kaupunki:

Sukella strukturoituun kyselykieleen

Kaikki tämä on mielenkiintoista, mutta entä jos sinun on tulostettava MySQL-rivi, ei koko taulukko? Visuaalisesti on lähes mahdotonta löytää etsimääsi satojen rivien joukosta. Tätä varten sinun on käytettävä SQL-työkaluja.

Strukturoitu kyselykieli käyttää SELECT-käskyä lajiteltujen tietojen näyttämiseen. Sen syntaksi on:

Otetaan esimerkki SQL-kyselystä "city"-taulukkoon. Meidän on esimerkiksi tulostettava rivi, jossa id-sarakkeen arvo on 670:

Aloitamme MySQL-tietokannasta poistumisen kyselyn antamalla komennon (SELECT). Sitten tähdellä (*) "kerromme" DBMS:lle, että haluamme valita kaikki rivien arvot kaupunkitaulukosta (FROM), jossa id-sarakkeen arvo on sama kuin annettu arvo (id = 670). ). Kirjoita kysely muokkausikkunaan (välilehti "SQL"). Tässä on palvelimen palauttama tulos:

Palvelin palautti meille merkkijonon, joka vastasi pyynnössä määritettyjä ehtoja. Yllä järjestelmä näyttää pyyntökoodin ja lisää siihen automaattisesti osan. Oletusarvoisesti ohjelma (EI DBMS) lajittelee valinnan tulokset Nimi-sarakkeen arvon mukaan (kaupunki . Nimi) käyttämällä ORDER BY -käskyä. Sarakearvot lajitellaan nousevaan järjestykseen (ASC-parametri).

Kiinnitä huomiota MySQL-taulukoiden tulosten kyselyiden syntaksin (kirjoituksen) "hienoihin". Taulukon nimen nimissä ei ole yksittäisiä lainausmerkkejä, vaan isoja kirjaimia. Se on merkki heikosta stressistä. Näppäimistössä se sijaitsee näppäimessä, jossa on kirjain "Ё".

Tämä on tärkeää, koska yksittäisten lainausmerkkien käyttö aiheuttaa MySQL:n syntaksivirheen.
kyselykomennon kirjoittaminen. Selvyyden vuoksi kokeile itse. Tämän seurauksena näet seuraavan tuloksen:

Haetaan tietoja PHP-koodista

Yritetään nyt tulostaa tietoja MySQL:stä PHP:hen. Näytetään näytöllä sama merkkijono, joka vastaanotettiin edellisessä pyynnössä. Tässä on esimerkkikoodi:

$con_str = mysql_connect ("localhost" , "root" , "" , "world" ) ;

if (mysql_connect("localhost" , "root" ) ) (

echo "Hei!!!" ;

mysql_select_db ("db1" , $con_str ) ;

while ($rivi = mysql_fetch_array ($tulos ) ) (

$id = $rivi[ "ID" ] ;

$nimi = $rivi[ "Nimi" ] ;

$country_code = $rivi [ "Maakoodi" ] ;

$piiri = $rivi [ "Piiri" ] ;

$populaatio = $rivi[ "Väestö" ] ;

kaiku "

$id - $nimi - $maan_koodi - $piiri - $väestö

" ;

mysql_close();

MySQL:n purkamisen seurauksena saimme saman rivin:

Mutta entä jos haluat näyttää koko taulukon? Tätä varten sinun on muutettava hieman SQL-kyselykoodia:

SELECT * FROM `maailmasta`.`kaupunki`

SELECT * FROM `maailmasta` . `kaupunki`

Tässä on mitä näytimme selaimessa:

Toisin sanoen näytimme kaikki taulukon tiedot kokonaisuudessaan. Mutta ne ovat liian isoja, eivätkä välttämättä mahdu selaimen näyttöalueelle. LIMIT-operaattorilla kyselyssä voit määrittää, mitkä rivit näytetään (mistä mihin). Meidän on esimerkiksi tarkasteltava tietoja riveiltä 1–10. Sitten kysely sivun näyttämiseksi MySQL:stä näyttää tältä.

Avaa tietokanta. Taulukon luomiseksi sinulla on oltava tietokanta, joka sisältää sen. Voit avata tietokannan kirjoittamalla KÄYTÄ tietokantaa MySQL-komentorivillä.

  • Jos et muista tietokannan nimeä, kirjoita NÄYTÄ TIETOKANTOT luetteloidaksesi tietokannat MySQL-palvelimella.
  • Jos sinulla ei vielä ole tietokantaa, voit luoda sellaisen kirjoittamalla LUO TIETOKANTA. Tietokannan nimi ei voi sisältää välilyöntejä.

Opi perustietotyypit. Jokainen taulukon merkintä on tallennettu tiettynä tietotyyppinä. Tämän ansiosta MySQL voi olla vuorovaikutuksessa niiden kanssa monin eri tavoin. Käyttämäsi tietotyypit riippuvat taulukosi tarkoituksesta. On olemassa monia muita kuin alla lueteltuja tyyppejä, mutta voit käyttää niitä luomaan käyttökelpoisen perustaulukon:

Luo taulukko. Jos haluat luoda taulukon komentoriviltä, ​​sinun on luotava kaikki kentät yhdellä komennolla. Luot taulukoita komennolla LUO TAULU perässä taulukkotiedot. Luodaksesi työntekijän perustietueen, sinun on annettava seuraava komento:

CREATE TABLE työntekijät (tunnus INT NOT NULL PRIMARY KEY AUTO_INCREMENT , sukunimi VARCHAR (20 ) , etunimi VARCHAR (20 ) , puhelin VARCHAR (20 ) , syntymäpäivä DATE )

  • INT NOT NULL PRIMARY KEY AUTO_INCREMENT luo numeerisen tunnuksen jokaiselle tietueeseen lisätylle työntekijälle. Tämä luku kasvaa automaattisesti joka kerta. Näin voit helposti viitata työntekijöihin muiden toimintojen avulla.
  • Vaikka VARCHAR sallii koon pienentämisen syötetyistä tiedoista riippuen, voit asettaa sille enimmäisarvon, jotta käyttäjä ei syötä liian pitkiä rivejä. Yllä olevassa esimerkissä etu- ja sukunimi on rajoitettu 20 merkkiin.
  • Huomaa, että puhelinnumero on tallennettu nimellä VARCHAR, joten myös merkkejä käsitellään oikein.
  • Tarkista, että taulukkosi on luotu oikein. Heti kun luot taulukon, saat viestin, että se on luotu onnistuneesti. Nyt voit käyttää komentoa KUVAUS varmistaaksesi, että sisällytät kaikki haluamasi kentät ja että niissä on oikeat tietotyypit. Soita KUVAUS tietokanta; ja tarkista taulukkosi rakenne näkyviin tulevasta kaaviosta.

    Luo taulukko PHP:llä. Jos käytät PHP:tä MySQL-tietokannan hallintaan verkkopalvelimen kautta, voit luoda taulukon käyttämällä yksinkertaista PHP-tiedostoa. Oletetaan, että tietokanta on jo olemassa MySQL-palvelimella. Jos haluat luoda saman taulukon kuin vaiheessa 3, syötä seuraava koodi ja korvaa yhteystiedot sinulle tärkeillä:

    "Yhdistäminen MySQL:ään epäonnistui:". mysqli_connect_error(); ) $sql = "CREATE TABLE työntekijät (id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, sukunimi VARCHAR(20), etunimi VARCHAR(20), puhelin VARCHAR(20), syntymäpäivä DATE)"; if (mysqli_query ($yhteys , $sql ) ) ( echo "Pöytätyöntekijät luotiin onnistuneesti"; ) else ( echo "Virhe luotaessa taulukkoa: " . mysqli_error ($yhteys ) ; ) ?>