Tahkisdraivid (SSD-d) on muutunud meie elus oluliseks osaks. Lubamine...
![Kuidas teada saada, kui kaua SSD-draiv töötab ja hinnata selle seisukorda?](https://i2.wp.com/sdelaicomp.ru/wp-content/uploads/2016/12/ssd6.jpg)
Märge: Pealisehitis Power Query pakutakse Excel 2016-s käskude rühmana Laadige alla ja teisendage. Selles artiklis olev teave kehtib nii Power Query kui ka uue rühma kohta. Lisateabe saamiseks vaadake allalaadimis- ja teisendusfunktsiooni Excel 2016-s.
Power Query töös Lisama loob uue päringu, mis sisaldab kõiki esimese päringu ridu ja seejärel kõiki teise päringu ridu.
Ohutusmärkus: Privaatsuse tasemed vältida andmete juhuslikku ühendamist mitmest allikast, mis võivad olla privaatsed või organisatsioonilised. Mõne päringu kasutamisel võib kasutaja tahtmatult saata andmeid privaatsest andmeallikast teise andmeallikasse. Ründajad saavad seda võimalust ära kasutada. Power Query analüüsib iga andmeallikat ja määrab selle tundlikkuse taseme: avalik, organisatsiooniline ja privaatne. Lisateavet privaatsustasemete kohta leiate jaotisest Privaatsustasemed.
Saate teha kahte tüüpi lisamistoiminguid: vahepealne lisand või tekstisisene lisa. Kasutades vahepealne lisand Iga lisamistoimingu jaoks luuakse uus päring. Kell tekstisisene lisa lisate andmed olemasolevale päringule, kuni jõuate lõpptulemuseni. Tulemuseks on uus samm praeguse päringu lõpus.
Tekstisisene lisamine
Vahepealne lisand
Märge: Päringu redaktor nähtav ainult laadimisel, muutmisel või uue päringu loomisel kasutades Power Query. Video näitab akent päringu redaktor mis kuvatakse pärast päringu muutmist Exceli töövihikus. Vaatama päringu redaktor ilma töövihiku jaotises olemasolevat päringut laadimata või muutmata Väliste andmete vastuvõtmine lindi vahekaardil Power Query vali Muudest allikatest > Tühi taotlus. Video näitab ühte kuvamismeetoditest päringu redaktor.
".
Võib-olla pole Moskva kontori meestel aega, nii et järgnev on päringu keele viite (versioon 0.7) tasuta tõlge.
Google'i visualiseerimise API. Päringu keel (versioon 0.7)
Google'i visualiseerimise API päringukeel võimaldab teil andmeid töödelda andmeallika päringu kaudu.
var query = new google.visualization.Query(DATA_SOURCE_URL);Parameetri abil saab andmeallikale lisada päringustringi tq. Nii on võimalik kasutada teiste arendajate kirjutatud visualiseerimisi, lihtsalt kohandades oma andmekogumit.
query.setQuery("valige osakond, summa(palk) rühm osakonna kaupa");
query.send(handleQueryResponse);
vali%20A%2C%20sum(B)%20grupp%20by%20AOletame, et andmetabeli aadress on järgmine:
http://spreadsheets.google.com/a/google.com/tq?key=ABCDELisame päringu parameetri &tq=YOUR_QUERY_STRING Tabeli lingile ja hankige valmis päringutring
http://spreadsheets.google.com/a/google.com/tq?key=ABCDE&tq=select%A%2C%20sum(B)%20group%20by%20A
nimi string |
osakond string |
Lõuna aeg kellaaeg |
Palk |
rentDate kuupäeva |
vanus number |
on Vanem tõeväärtus |
tööstaaži Algusaeg kuupäev Kellaaeg |
---|---|---|---|---|---|---|---|
John | Eng | 12:00:00 | 2005-03-19 | 35 | tõsi | 2007-12-02 15:56:00 | |
Dave | Eng | 12:00:00 | 2006-04-19 | 27 | vale | null | |
Sally | Eng | 13:00:00 | 2005-10-10 | 30 | vale | null | |
Ben | Müük | 12:00:00 | 2002-10-10 | 32 | tõsi | 2005-03-09 12:30:00 | |
Dana | Müük | 12:00:00 | 2004-09-08 | 25 | vale | null | |
Mike | Turundus | 13:00:00 | 2005-01-10 | 24 | tõsi | 2007-12-30 14:40:00 |
Operaator | Kasutamine |
---|---|
vali | Valib, millised veerud tagastatakse ja millises järjekorras. Kui operaator on välja jäetud, tagastatakse kõik tabeli veerud. |
Tagastab ainult need tabeli read, mis vastavad tingimusele. Kui operaator jäetakse välja, tagastatakse kõik tabeli read. | |
rühma järgi | Rühmitab väärtused ridade kaupa. |
pöördepunkt | Teisendab veergude kordumatud väärtused uuteks veergudeks, sarnaselt pivot-tabeliga. |
tellida | Sorteerib read väärtuste alusel. |
piiri | Määrab tagastatavate ridade piirangu. |
nihe | Jätab väljundist vahele määratud arvu ridu. |
silt | Määrab veergude pealdised. |
vormingus | Vormindab määratud veergudes olevad väärtused vastavalt vormindusmustritele. |
valikuid | Määrab lisavalikud. |
alates | Operaatorit from ei kasutata. |
vali *e-posti aadresskuupäeva):
vali osakond, palk
vali max (palk)
Lõuna aeg | nimi |
---|---|
12:00:00 | John |
12:00:00 | Dave |
13:00:00 | Sally |
12:00:00 | Ben |
12:00:00 | Dana |
13:00:00 | Mike |
Avaldis where kasutab keerukamate stringide võrdlemiseks ka täiendavaid operaatoreid. Need operaatorid võtavad kaks argumenti, mis peavad olema stringid, kõik mittestringi argumendid (kuupäev, number) teisendatakse enne võrdlemist stringiks. Võrdlus on tõstutundlik (selle funktsiooni silumiseks kasutage skalaarfunktsioone top(), low()).
sisaldab – vastab alamstringile. Avaldis tagastab tõene, kui osa stringist vastab täielikult antud argumendile - alamstringile. Näiteks kui nimi sisaldab sõna "John", tagastatakse "John", "John Adams", "Pikk John Silver" kuid mitte "John Adams".
vali *Järgmine näide näitab identifikaatori viidete kasutamist tühikutega ( e-posti aadress) ja identifikaatoritele, mis vastavad reserveeritud sõnade nimedele ( kuupäeva):
vali osakond, palk
vali max (palk)
valige "e-posti aadress", nimi, kuupäevRakendame näidistabelisse järgmise päringu:
Lõuna aeg | nimi |
---|---|
12:00:00 | John |
12:00:00 | Dave |
13:00:00 | Sally |
12:00:00 | Ben |
12:00:00 | Dana |
13:00:00 | Mike |
Selles artiklis me õpime saata andmebaasipäringuid PHP kaudu. See artikkel on väga oluline ja peate sellest aru saama. Siiski rahustan teid - materjal on väga lihtne, nii et raskusi ei tohiks tekkida.
Enne artikli teema juurde asumist hoiatan teid ette, et ma üksikasjalikult ei analüüsi SQL keel. Kogu vajalik teave on sorteeritud kategooriasse, mis on pühendatud, kuid siin me ainult MySQL-iga töötamine PHP kaudu.
Liigume nüüd edasi andmebaasipäringute saatmine PHP-s:
}
$mysqli->query("INSERT INTO mytable (nimi, email) VALUES ("Minunimi", " [e-postiga kaitstud]")");
$mysqli->sulge();
?>
Selles näites loosime ühenduse andmebaasiga, kontrollisime ühenduse edukust ja saatsime meetodi abil päringu query() ja seejärel sulgege ühendus. Nagu näete, on kõik väga lihtne. Mis tahes saatmiseks SQL päringud Piisab vaid ühest meetodist - query(), seega sisse sel juhul kõik on meeletult lihtne.
Teeme nüüd ülesande pisut keerulisemaks. Vaatame päringuid, mis tagastavad result_set- tulemus. Kõige populaarsem taotlus naaseb result_set on andmete valik tabelist. Järgmises näites võtame andmete näidise ja kuvame seejärel tulemuse:
$mysqli = @uus mysqli("localhost", "Admin", "pass", "mybase");
if (mysqli_connect_errno()) (
echo "Ühendus nurjus: ".mysqli_connect_error();
}
$result_set = $mysqli->
while ($rida = $result_set->fetch_assoc()) (
print_r($rida);
kaja"
";
}
$result_set->close();
$mysqli->sulge();
?>
Esiteks lubage mul selgitada veidi, mis see on. result_set. Tulemus_komplekt- see on tabel tulemusega. Selles tabelis on kirjete komplekt (tabeli read). Ja kõigi kirjete kuvamiseks peate kordama iga tabeli rida ja seda kuvama. Ja nüüd selgitan näitega: pärast päringu saatmist genereerime result_set. Seejärel omistame muutujale tsüklis rida järgmise rea väärtus, st ühemõõtmeline massiiv, mille meetod tagastab tõmba_assoc(). Kui kõik read on lõppenud, meetod tõmba_assoc() tuleb tagasi vale, ja tsüklist väljutakse. Silmuse sees samal ajal me lihtsalt väljastame massiivi, kasutades silumisfunktsiooni print_r(), kuigi seda saab kindlasti järeldada kasutades igaühele, kuid nüüd pole see vajalik.
Teeme lühidalt kokkuvõtte, kuidas sellega töötada result_set:
Nagu märkasite, meetod tõmba_assoc() tagastab alati järgmise plaadi. See tähendab, et kõigepealt 1., siis 2., siis 3. ja nii edasi. Kui teil on hea programmeerimiskogemus, siis aimate kohe, et see juhtub tänu sisemisele kursorile, mida saate loomulikult liigutada. Kus seda kasutatakse? Näiteks saab seda kasutada, kui peate sellega töötama result_set Mitte 1 , A 2 ja rohkem kordi. Sama päringu uuesti genereerimise vältimiseks võite lihtsalt kursorit algusesse viia. Ja siis võid jälle toore jõuga käima hakata result_set kasutades meetodit fetch_assoc().
Kursori asukoha muutmiseks on olemas meetod data_seek(), mis võtab täisarvu väärtusest 0 enne" rekordite arv - 1", vastavalt asetatakse kursor parameetrile vastavale kirjele:
$mysqli = @uus mysqli("localhost", "Admin", "pass", "mybase");
if (mysqli_connect_errno()) (
echo "Ühendus nurjus: ".mysqli_connect_error();
}
$result_set = $mysqli->query("SELECT * FROM mytable");
$tulemuse_komplekt->ridade_arv;
while ($rida = $result_set->fetch_assoc()) (
print_r($rida);
kaja"
";
}
$tulemuste_komplekt->andmete_otsing(0);
while ($rida = $result_set->fetch_assoc()) (
print_r($rida);
kaja"
";
}
$result_set->close();
$mysqli->sulge();
?>
Selles näites on meil väljund kirjete arv result_setis vara kasutades ridade_arv. Tutvusime ka meetodiga data_seek(). See tähendab, et me itereerisime üle kogu tulemuse ja tagastasime seejärel kursori 0 rekord ja läbisin tulemuse uuesti.
Selles artiklis kordasime andmebaasiga ühenduse loomist ja ühenduse sulgemist. Ja sai ka teada kuidas teha päringuid andmebaasist PHP kaudu. õppinud, kuidas saada result_set ja kuidas sellega töötada. See on kõik, mida pead teadma, et olla edukas MySQL-iga töötamine PHP-s.
Arvan, et kõik on kuulnud Pareto reeglist. Mis tahes valdkonnas annab 20% pingutustest 80% tulemustest. Näiteks kannate 80% ajast 20% oma garderoobist, 20% klientidest toovad sisse 80% teie sissetulekust. Sama on Google'i arvutustabelites: teades 20% olemasolevatest funktsioonidest, saate lahendada 80% kõigist võimalikest probleemidest.
Minu arvates on päring Google'i arvutustabelite üks kasulikumaid funktsioone. Kuid Google Help kirjeldab seda väga pealiskaudselt ja selle funktsiooni täit võimsust ei avaldata. Lähemal uurimisel selgub, et see on võimeline asendama enamiku olemasolevatest funktsioonidest.
QUERYga töötamiseks vajate SQL-i põhiteadmisi. Need, kes ei tea, ärge muretsege, funktsioon QUERY toetab tegelikult väga lihtsaid SQL-i funktsioone.
Täiendava teabe tajumise maksimeerimiseks soovitan avada ja kopeerida järgmine Google'i leht
Doksis, mille koopia lõite, on mitu lehte. DB-leht on andmebaas, millele pääseme juurde funktsiooni QUERY abil. Tasemelehed sisaldavad näiteid, mida selles artiklis vaatleme. Iga uue tasemega muutub näide keerulisemaks.
Iga SQL-päring koosneb eraldi plokkidest, mida sageli nimetatakse laimuks. Funktsiooni Päring SQL kasutab Google Visualization API päringukeele süntaksit, mis toetab järgmisi klausleid.
Läheme lehele Level_1 ja vaatame lahtris A1 olevat valemit.
Päring(DB!A1:L1143;"select * limit 100")
Osa valemist " DB!A1:L1143" vastutab andmebaasi eest, millest proovivõttu teeme. Teine osa" vali * piirang 100"sisaldab taotluse teksti. Sümbol "*" tähendab antud juhul kõigi andmebaasis sisalduvate väljade tagastamist. Kasutades " piir 100» Piirame väljundi maksimaalselt 100 reaga. See on näide kõige lihtsamast taotlusest. Valisime andmebaasist välja esimesed 100 rida. See on päringfunktsiooni jaoks omamoodi "Tere maailm".
Mine lehele Level_2. Valime välja vaid mõned meile vajalikud väljad ning määrame filtreerimis- ja sortimistingimused. Näiteks kasutame andmeid ainult kampaaniate Campaign_1 ja Campaign_2 jaoks ajavahemikus 22.–25. oktoober 2015. Sorteerime need seansside arvu järgi kahanevas järjekorras. Filtreerimiseks ja sortimiseks tuleb päringu tekstile lisada laimu kirjeldus Kus Ja Telli. Eespool kirjeldatud näite kuvamiseks saadud tabelis vajame välju Kampaania, Kuupäev ja Seansid. Just nemad tuleb laimamises kirja panna Valige.
Andmebaasiväljadele pääseb juurde selle töölehe veergude nimede kaudu, millel andmebaas asub.
Meie puhul kirjutatakse lehe veergude nimeks DB-lehel asuvad andmed ja juurdepääs teatud väljadele. Seega asuvad nõutavad väljad järgmistes veergudes:
Sellest tulenevalt näeb päringu osa, mis vastutab selle tulemusel väljastavate andmete loendi eest, järgmine:
Valige A, B, G
Taotluses järgmine on laim Kus. Taotluse kirjutamisel tuleb laim paigutada selle artikli esimeses osas kirjeldatud järjekorras. Pärast teadaannet Kus peame loetlema filtreerimistingimused. Sellisel juhul filtreerime andmed kampaania nime (Campaign) ja kuupäeva (Date) järgi. Kasutame mitmeid filtreerimistingimusi. Päringu tekst peab sisaldama kõigi tingimuste vahel loogilist operaatorit VÕI või JA. Filtreerimine kuupäevade järgi erineb veidi numbri- ja tekstiväärtuste järgi filtreerimisest; selleks on vaja kuupäevaoperaatorit. Andmete filtreerimise eest vastutav päringu osa näeb välja järgmine:
KUS (A >= kuupäev"2015-10-22" JA A<= date"2015-10-25") AND (B = "Campaign_1" OR B = "Campaign_2")
Sulgude abil jagasime andmete filtreerimise kaheks loogiliseks osaks: esimene filtreerib kuupäevade järgi, teine filtreerib kampaania nime järgi. Selles etapis näeb valitavaid andmeid ja andmete filtreerimise tingimusi kirjeldav valem välja järgmine:
Query(DB!A1:L1143;" Valige A, B, G WHERE (A >= kuupäev"2015-10-22" JA A<= date"2015-10-25") AND (B = "Campaign_1" OR B = "Campaign_2")")
Saate selle kopeerida ja kleepida näiteks selles postituses näitena kasutatud dokumendi uuele lehele ning saada järgmise tulemuse:
Lisaks tavalistele loogikaoperaatoritele (=,<, >) WHERE-plokk toetab täiendavaid filtreerimisoperaatoreid:
Päring on juba teatud perioodi andmeid filtreerinud ja jätnud ainult meile vajalikud kampaaniad. Jääb üle vaid tulemus sorteerida kahanevas järjekorras olenevalt seansside arvust. Nende päringute sorteerimine toimub traditsiooniliselt SQL-i puhul, kasutades laimu Telli järgi. Süntaks on üsna lihtne: peate loetlema ainult väljad, mille järgi soovite tulemust sorteerida, ja määrama ka sortimisjärjestuse. Vaikimisi järjestus on tõusev, st tõusev. Kui määrate välja nime järel parameetri desc, tagastab päring tulemuse kahanevas järjestuses laimuga määratutest Telli järgi väljad.
Meie puhul vastutab filtreerimise eest päringu teksti rida:
Telli G desc
Sellest lähtuvalt näeb Level_2 lehel oleva valemi lõpptulemus, mis lahendab meile vajaliku probleemi, välja järgmine:
Query(DB!A1:L1143;" SELECT A, B, G WHERE (A >= kuupäev"2015-10-22" AND A<= date"2015-10-25") AND (B = "Campaign_1" OR B = "Campaign_2") ORDER BY G DESC")
Nüüd saate andmete filtreerimiseks ja sortimiseks kasutada lihtsat SQL-i süntaksit ja funktsiooni QUERY.
ressurss mysql_query(stringi päring [, ressursi lingi_identifikaator])mysql_query() saadab päringu aktiivse serveri andmebaasi, millele viitab läbitud osuti. Kui link_identifier on välja jäetud, kasutatakse viimast avatud ühendust. Kui avatud ühendusi pole, proovib funktsioon sarnaselt funktsiooniga ühendust luua DBMS-iga mysql_connect() ilma parameetriteta. Päringu tulemus puhverdatakse.
Kommentaar: Päringu string EI TOHI lõppeda semikooloniga.
Ainult SELECT, SHOW, EXPLAIN, DESCRIBE, mysql_query() tagastab kursi päringu tulemusele või VALE kui taotlust ei täidetud.
Muudel juhtudel (SISESTAMINE, VÄRSKENDAMINE, KUSTUTAMINE, KUKKUDA jne), mysql_query() naaseb TÕSI eduka taotluse korral ja VALE vea korral. Väärtus ei ole võrdne VALE näitab, et taotlus on edukalt täidetud. See ei ütle mõjutatud või tagastatud ridade arvu. On täiesti võimalik, et edukas päring ei mõjuta ühtegi rida.
Järgmine taotlus on valesti sõnastatud ja mysql_query() tuleb tagasi VALE :
mysql_query() loetakse samuti ekslikuks ja naaseb VALE, kui teil pole päringus märgitud tabeliga töötamiseks piisavalt õigusi.
Päringutulemustega töötades saate funktsiooni kasutada mysql_num_rows() et leida SELECT päringuga tagastatud arv, ridu või mysql_affected_rows() et leida DELETE, INSERT, REPLACE või UPDATE päringutega töödeldud ridade arvu.
Ainult päringutele SELECT, SHOW, DESCRIBE, EXPLAIN, funktsioon mysql_query() tagastab osuti tulemusele, mida saab funktsioonis kasutada mysql_fetch_array() ja muud funktsioonid, mis töötavad päringutulemustega. Kui olete tulemusega töötamise lõpetanud, saate funktsiooni abil vabastada selle salvestamiseks kasutatud ressursid