Ms sql server kirjoittaa kyselyitä. SQL-kyselyjen suorittaminen Management Studiossa. Keskimääräisen lasketun kentän lisääminen
Taulukkolausekkeet kutsutaan alikyselyiksi, joita käytetään, kun taulukon läsnäolo oletetaan. Taulukkolausekkeita on kahdenlaisia:
johdetut taulukot;
yleistetyt taulukkolausekkeet.
Näitä kahta taulukkolausekkeiden muotoa käsitellään seuraavissa alaosissa.
Johdetut taulukot
Johdettu taulukko on taulukkolauseke, joka sisältyy kyselyn FROM-lauseeseen. Johdettuja taulukoita voidaan käyttää tapauksissa, joissa sarakealiaksien käyttö ei ole mahdollista, koska SQL-kääntäjä käsittelee toisen käskyn ennen kuin alias on tiedossa. Alla oleva esimerkki näyttää yrityksen käyttää sarakealiasta tilanteessa, jossa käsitellään toista lauseketta ennen kuin alias tunnetaan:
KÄYTÄ SampleDb; VALITSE KUUKAUSI(SyötäPäivämäärä) muodossa enter_month FROM Works_on GROUP BY enter_month;
Tämän kyselyn suorittaminen tuottaa seuraavan virhesanoman:
Viesti 207, taso 16, tila 1, rivi 5 Virheellinen sarakkeen nimi "enter_month". (Viesti 207: Taso 16, tila 1, rivi 5 Virheellinen sarakkeen nimi enter_month)
Virheen syynä on se, että GROUP BY -lause käsitellään ennen kuin SELECT-käskyn vastaava luettelo on käsitelty, ja enter_month-sarakkeen alias ei ole tiedossa ryhmää käsiteltäessä.
Tämä ongelma voidaan ratkaista käyttämällä johdettua taulukkoa, joka sisältää edellisen kyselyn (ilman GROUP BY -lausetta), koska FROM-lause suoritetaan ennen GROUP BY -lausetta:
KÄYTÄ SampleDb; SELECT tulo_kuukausi FROM (VALITSE KUUKAUSI(SyötyPäivä) syötteen_kuukaudeksi FROM Works_on) AS m GROUP BY enter_month;
Tämän kyselyn tulos on seuraava:
Tyypillisesti taulukkolauseke voidaan sijoittaa mihin tahansa SELECT-käskyn kohtaan, jossa taulukon nimi saattaa esiintyä. (Taulukkolausekkeen tulos on aina taulukko tai erikoistapauksissa lauseke.) Alla oleva esimerkki näyttää taulukkolausekkeen käytön SELECT-käskyn select-luettelossa:
Tämän kyselyn tulos:
Yleiset taulukkolausekkeet
Yhteinen taulukkolauseke (OTB) on Transact-SQL-kielen tukema nimetty taulukkolauseke. Yleisiä taulukkolausekkeita käytetään seuraavissa kahdessa kyselytyypissä:
ei-rekursiivinen;
rekursiivinen.
Näitä kahta pyyntötyyppiä käsitellään seuraavissa osioissa.
OTB ja ei-rekursiiviset kyselyt
OTB:n ei-rekursiivista muotoa voidaan käyttää vaihtoehtona johdetuille taulukoille ja näkymille. Tyypillisesti OTB määräytyy Lauseilla ja lisäkysely, joka viittaa WITH-lauseessa käytettyyn nimeen. Transact-SQL:ssä WITH-avainsanan merkitys on epäselvä. Epäselvyyden välttämiseksi WITH-käskyä edeltävä käsky tulee lopettaa puolipisteellä.
KÄYTÄ AdventureWorks2012; SELECT SalesOrderID FROM Sales.SalesOrderHeader WHERE TotalDue > (SELECT AVG(TotalDue) FROM Sales.SalesOrderHeader WHERE YEAR(OrderDate) = "2005") AND Freight > (SELECT AVG(TotalDue) FROM Sales.SalesOrderHeader2. ")/2,5;
Tämän esimerkin kysely valitsee tilaukset, joiden kokonaisverot (TotalDue) ovat suurempia kuin kaikkien verojen keskiarvo ja joiden rahtikulut (Freight) ovat yli 40 % keskimääräisistä veroista. Tämän kyselyn tärkein ominaisuus on sen pituus, koska alikysely on kirjoitettava kahdesti. Yksi mahdollisia tapoja kyselyrakenteen koon pienentäminen merkitsisi alikyselyn sisältävän näkymän luomista. Mutta tämä ratkaisu on hieman monimutkainen, koska se vaatii näkymän luomisen ja sen poistamisen sen jälkeen, kun kysely on suoritettu. Parempi lähestymistapa olisi luoda OTB. Alla oleva esimerkki näyttää ei-rekursiivisen OTB:n käytön, mikä lyhentää yllä olevaa kyselyn määritelmää:
KÄYTÄ AdventureWorks2012; WITH hinta_lask.(vuosi_2005) AS (SELECT AVG(TotalDue) FROM Sales.SalesOrderHeader WHERE YEAR(OrderDate) = "2005") SELECT SalesOrderID FROM Sales.SalesOrderHeader WHERE TotalDue > (SELECT vuosi_2005 hinta_cal02 FROM) ) /2,5;
WITH-lauseen syntaksi ei-rekursiivisissa kyselyissä on seuraava:
Parametri cte_name edustaa OTB-nimeä, joka määrittää tuloksena olevan taulukon, ja parametri column_list edustaa taulukkolausekkeen sarakkeiden luetteloa. (Yllä olevassa esimerkissä OTB:n nimi on hinta_laskenta ja siinä on yksi sarake, vuosi_2005.) Inner_query-parametri edustaa SELECT-lausetta, joka määrittää vastaavan taulukkolausekkeen tulosjoukon. Määritettyä taulukkolauseketta voidaan sitten käyttää ulkokyselyssä. (Yllä olevan esimerkin ulompi kysely käyttää OTB price_calc -saraketta ja sen vuosi_2005-saraketta yksinkertaistamaan kaksinkertaisesti sisäkkäistä kyselyä.)
OTB ja rekursiiviset kyselyt
Tämä osio esittelee monimutkaisempaa materiaalia. Siksi, kun luet sitä ensimmäistä kertaa, on suositeltavaa ohittaa se ja palata siihen myöhemmin. OTB:itä voidaan käyttää rekursioiden toteuttamiseen, koska OTB:t voivat sisältää viittauksia itseensä. Rekursiivisen kyselyn OTB-perussyntaksi näyttää tältä:
Parametreilla cte_name ja column_list on sama merkitys kuin OTB:ssä ei-rekursiivisille kyselyille. WITH-lauseen runko koostuu kahdesta operaattorin yhdistämästä kyselystä UNIONI KAIKKI. Ensimmäistä kyselyä kutsutaan vain kerran, ja se alkaa keräämään rekursion tulosta. UNION ALL -operaattorin ensimmäinen operandi ei viittaa OTB:hen. Tätä kyselyä kutsutaan viitekyselyksi tai lähteeksi.
Toinen kysely sisältää viittauksen OTB:hen ja edustaa sen rekursiivista osaa. Tästä syystä sitä kutsutaan rekursiiviseksi jäseneksi. Ensimmäisessä rekursiivisen osan kutsussa OTB-viite edustaa viitekyselyn tulosta. Rekursiivinen jäsen käyttää ensimmäisen kyselykutsun tulosta. Tämän jälkeen järjestelmä kutsuu uudelleen rekursiivisen osan. Kutsu rekursiiviselle jäsenelle pysähtyy, kun edellinen puhelu sille palauttaa tyhjän tulosjoukon.
UNION ALL -operaattori yhdistää kertyneen Tämä hetki rivit sekä lisärivit, jotka nykyinen kutsu lisää rekursiiviseen jäseneen. (UNION ALL -operaattorin läsnäolo tarkoittaa, että päällekkäisiä rivejä ei poisteta tuloksesta.)
Lopuksi parametri outer_query määrittää ulomman kyselyn, jota OTB käyttää noutaakseen kaikki kutsut molempien jäsenten liitoksille.
OTB:n rekursiivisen muodon osoittamiseksi käytämme lentokonetaulukkoa, joka on määritelty ja täytetty alla olevassa esimerkissä esitetyllä koodilla:
KÄYTÄ SampleDb; LUO TAULUKKO Lentokone(ContainingAssembly VARCHAR(10), ContainedAssembly VARCHAR(10), QuantityContained INT, UnitCost DECIMAL(6,2)); INSERT INTO Lentokonearvot ("Airplane", "Runko", 1, 10); INSERT INTO Lentokonearvot ("Airplane", "Wings", 1, 11); INSERT INTO Lentokonearvot ("Airplane", "Tail", 1, 12); INSERT INTO Lentokonearvot ("Runko", "Salong", 1, 13); INSERT INTO Airplane VALUES ("runko", "ohjaamo", 1, 14); INSERT INTO Lentokoneen ARVOT ("Runko", "Nenä",1, 15); INSERT INTO Lentokonearvot ("Cabin", NULL, 1,13); INSERT INTO Lentokonearvot ("Cockpit", NULL, 1, 14); INSERT INTO Lentokoneen ARVOT ("Nenä", NULL, 1, 15); INSERT INTO Lentokonearvot ("Wings", NULL,2, 11); INSERT INTO Lentokonearvot ("Tail", NULL, 1, 12);
Lentokonetaulukossa on neljä saraketta. ContainingAssembly-sarake identifioi kokoonpanon ja ContainedAssembly-sarake identifioi osat (yksi kerrallaan), jotka muodostavat vastaavan kokoonpanon. Alla oleva kuva esittää graafisen kuvan mahdollisesta lentokonetyypistä ja sen osista:
Lentokonetaulukko koostuu seuraavista 11 rivistä:
Seuraava esimerkki käyttää WITH-lausetta määrittämään kyselyn, joka laskee kunkin koontiversion kokonaiskustannukset:
KÄYTÄ SampleDb; WITH osien_luettelo(kokoonpano1, määrä, hinta) AS (SELECT ContainingAssembly, QuantityContained, UnitCost FROM lentokoneesta WHERE ContainedAssembly IS NULL UNION ALL SELECT a.ContainingAssembly, a.QuantityContained, CAST(l.contity) *DECl.määrä6 *DECl. ) FROM osien_luettelo l, Lentokone a WHERE l.kokoonpano1 = a.ContainedAssembly) SELECT kokoonpano1 "Osa", määrä "Määrä", hinta "Hinta" FROM osien_luettelo;
WITH-lause määrittää OTB-luettelon, jonka nimi on osien_luettelo ja joka koostuu kolmesta sarakkeesta: kokoonpano1, määrä ja hinta. Esimerkin ensimmäistä SELECT-käskyä kutsutaan vain kerran tallentamaan rekursioprosessin ensimmäisen vaiheen tulokset. Esimerkin viimeisellä rivillä oleva SELECT-käsky näyttää seuraavan tuloksen.
SQL tai Structured Query Language on kieli, jota käytetään tietojen hallintaan relaatiotietokantajärjestelmässä (RDBMS). Tämä artikkeli kattaa yleisesti käytetyt SQL-komennot, jotka jokaisen ohjelmoijan tulisi tuntea. Tämä materiaali on ihanteellinen niille, jotka haluavat päivittää SQL-tietoaan ennen työhaastattelua. Voit tehdä tämän katsomalla artikkelissa annettuja esimerkkejä ja muista, että olet tutkinut tietokantoja pareittain.
Huomaa, että jotkin tietokantajärjestelmät vaativat puolipisteen jokaisen käskyn lopussa. Puolipiste on tavallinen osoitin jokaisen käskyn lopussa SQL:ssä. Esimerkeissä käytetään MySQL:ää, joten puolipiste vaaditaan.
Tietokannan perustaminen esimerkkejä varten
Luo tietokanta näyttääksesi kuinka tiimit toimivat. Toimiaksesi sinun on ladattava kaksi tiedostoa: DLL.sql ja InsertStatements.sql. Avaa sen jälkeen pääte ja kirjaudu sisään MySQL-konsoliin seuraavalla komennolla (artikkelissa oletetaan, että MySQL on jo asennettu järjestelmään):
Mysql -u root -p
Kirjoita sitten salasanasi.
Suorita seuraava komento. Kutsutaan tietokantaa "yliopistoksi":
LUO TIETOKANTA yliopisto; KÄYTÄ yliopistoa; LÄHDE Saatat joutua luomaan rajoituksia tietyille taulukon sarakkeille. Kun luot taulukkoa, voit asettaa seuraavat rajoitukset: Voit määrittää useamman kuin yhden ensisijaisen avaimen. Tässä tapauksessa saat yhdistetyn ensisijaisen avaimen. Luo taulukko "ohjaaja": CREATE TABLE opettaja (ID CHAR(5), nimi VARCHAR(20) NOT NULL, osaston_nimi VARCHAR(20), palkka NUMERO(8,2), PRIMARY KEY (ID), ULKOAvain (osaston_nimi) REFERENCES osasto(osaston_nimi)); Voit tarkastella erilaisia tietoja (arvotyyppi, avain tai ei) taulukon sarakkeista seuraavalla komennolla: KUVAUS Kun lisäät tietoja taulukon jokaiseen sarakkeeseen, sinun ei tarvitse määrittää sarakkeiden nimiä. LAITTAA SISÄÄN SELECT-toimintoa käytetään tietojen hakemiseen tietystä taulukosta: VALITSE Seuraava komento voi näyttää kaikki tiedot taulukosta: SELECT * FROM Taulukon sarakkeet voivat sisältää päällekkäisiä tietoja. Käytä SELECT DISTINCT noutaaksesi vain ei-kopioita. SELECT DISTINCT Voit määrittää kyselyn ehdot WHERE-avainsanalla SELECT:ssä: VALITSE Pyynnössä voidaan määritellä seuraavat ehdot: Kokeile seuraavia komentoja. Kiinnitä huomiota kohdassa WHERE määriteltyihin ehtoihin: SELECT * FROM kurssista WHERE dept_name=’Comp. Sci.'; SELECT * FROM kurss WHERE opintopistettä>3; SELECT * FROM course WHERE dept_name="Comp. Sci." JA pisteet>3; GROUP BY -operaattoria käytetään usein aggregaattifunktiot kuten COUNT, MAX, MIN, SUM ja AVG ryhmitellä lähtöarvot. VALITSE Näytetään kunkin tiedekunnan kurssien määrä: SELECT COUNT(kurssin_tunnus), osaston_nimi FROM kurssin GROUP BY osaston_nimi; HAVING-avainsana lisättiin SQL:ään, koska WHERE-avainsanaa ei voida käyttää koostefunktioiden kanssa. VALITSE Näytetään luettelo tiedekunnista, joissa on useampi kuin yksi kurssi: SELECT COUNT(kurssin_tunnus), osaston_nimi FROM kurssin GROUP BY osaston_nimi HAVING COUNT(kurssin_tunnus)>1; ORDER BY -komentoa käytetään lajittelemaan kyselyn tulokset laskevaan tai nousevaan järjestykseen. ORDER BY lajittelee nousevaan järjestykseen, ellei ASC tai DESC ole määritetty. VALITSE Näytetään luettelo kursseista nousevassa ja laskevassa pistemäärässä: SELECT * FROM kurssin ORDER BY opintopisteitä; SELECT * FROM kurssista ORDER BY opintopisteiden mukaan DESC; BETWEEN käytetään valitsemaan tietoarvot tietystä alueesta. Numeerinen ja tekstiarvot, sekä päivämäärät. VALITSE Esitetään luettelo ohjaajista, joiden palkka on yli 50 000, mutta alle 100 000: VALITSE * FROM ohjaaja, MISSÄ palkka 50000-100000; LIKE-operaattoria käytetään WHERE-kohdassa määrittämään hakumalli samanlaiselle arvolle. LIKE:ssä on kaksi ilmaista operaattoria: Näytetään luettelo kursseista, joiden nimet sisältävät "to" ja luettelo kursseista, joiden nimet alkavat "CS-": SELECT * FROM kurssin WHERE otsikko LIKE '%to%'; SELECT * FROM course WHERE kurssin_tunnus LIKE "CS-___"; Käyttämällä IN voit määrittää useita arvoja WHERE-lauseelle: VALITSE Näytetään luettelo Comp-pääaineiden opiskelijoista. Sci., Physics and Elec. eng.: SELECT * FROM opiskelija WHERE laitoksen_nimi IN ('Comp. Sci.', 'Fysiikka', 'Elec. Eng.'); JOIN-komentoa käytetään kahden tai useamman taulukon linkittämiseen niiden sisältämien yhteisten attribuuttien avulla. Alla oleva kuva näyttää eri tavoilla liittyy SQL:ään. Huomaa ero vasemman ulomman liitoksen ja oikeanpuoleisen ulomman liitoksen välillä: VALITSE Näytämme luettelon kaikista kursseista ja asiaankuuluvat tiedot tiedekunnista: SELECT * FROM kurssista LIITY osastolle kurssin.osaston_nimi=osaston.osaston_nimi; Näytämme luettelon kaikista vaadituista kursseista ja niistä tiedot: SELECT prereq.course_id, title, dept_name, credits, prereq_id FROM prereq LEFT OUTTER LIITY kurssille prereq.course_id=course.course_id; Näytämme luettelon kaikista kursseista riippumatta siitä, ovatko ne pakollisia vai eivät: VALITSE kurssi.kurssin_tunnus, otsikko, laitoksen_nimi, opintopisteet, esivaatimustunnus FROM prereq RIGHT OUTTER JOIN kurssi ON prereq.course_id=course.course_id; Näkymä on virtuaalinen SQL-taulukko, joka on luotu lausekkeen suorittamisen tuloksena. Se sisältää rivejä ja sarakkeita ja on hyvin samanlainen kuin tavallinen SQL-taulukko. Näkymä näyttää aina uusimmat tiedot tietokannasta. Luodaan näkymä, joka koostuu 3 opintopisteen kursseista: Näitä toimintoja käytetään kyseisiin tietoihin liittyvän aggregoidun tuloksen saamiseksi. Seuraavat ovat yleisesti käytettyjä koontifunktioita: Sisäkkäiset alikyselyt ovat SQL-kyselyitä, jotka sisältävät toisen kyselyn sisäkkäisiä SELECT-, FROM- ja WHERE-lauseita. Etsitään kurssit, joita opetettiin syksyllä 2009 ja keväällä 2010: SELECT DISTINCT kurssin_tunnus FROM jaksosta WHERE lukukausi = 'Syksy' AND year= 2009 AND course_id IN (SELECT course_id FROM section WHERE lukukausi = 'Kevät' JA vuosi= 2010); SQL - Strukturoitu kyselykieli. Kuvaus
bigint (väli 8) bigint (väli 8) binääri(n) binääri(ei myöskään kuva merkki kansallinen merkki tai ntext luonteeltaan vaihteleva(synonyymi char vaihteleva varchar) kansallinen luonne vaihtelee tai ntext Treffiaika treffiaika desimaali aka numeerinen kaksinkertainen tarkkuus kaksinkertainen tarkkuus kokonaisluku (väli 4) (synonyymi: int) kokonaisluku (väli 4) kansallinen luonne(synonyymi: kansallinen luonne, nchar) kansallinen luonne Numeerinen(synonyymit: desimaali, joulukuu) kansallinen luonne vaihtelee(synonyymit: kansallinen merkki vaihtelee, nvarchar) Kansallinen luonne vaihtelee Pieni päivämäärä treffiaika smallint (väli 2) smallint (väli 2) Pienet rahat sql_variant Ei enää tuettu Ntext Aikaleima Ei tueta pikkuinen (väli 1) pikkuinen (väli 1) Yksilöllinen tunniste yksilöllinen tunniste varbinaarinen(n) varbinaarinen(ei myöskään kuva pieni päivämäärä treffiaika smallint (väli 2) smallint (väli 2) pientä rahaa sql_variant Ei tueta aikaleima Ei tueta pikkuinen (väli 1) pikkuinen (väli 1) yksilöllinen tunniste yksilöllinen tunniste varbinaarinen(n) varbinaarinen(ei myöskään kuva Tietotyyppitaulukko SQL Server 2000:ssa Pyyntö on komento, jonka annat tietokantaohjelmallesi. Kyselyt ovat osa DML-kieltä. Kaikki SQL-kyselyt koostuvat yhdestä komennosta. Tämän komennon rakenne on petollisen yksinkertainen, koska sinun on laajennettava sitä suorittamaan erittäin monimutkaisia arviointeja ja tietojen käsittelyä. VALITSE"Valitse" on useimmin käytetty komento, jota käytetään tietojen valitsemiseen taulukosta. SELECT id, user_name, city, syntymäpäivä FROM user_base; Tällainen kysely näyttää taulukosta users_base kaikki määritettyjen sarakkeiden arvot pilkuilla erotettuna SELECT komennot. Voit myös näyttää kaikki sarakkeet yhdellä merkillä, * eli. SELECT * FROM user_base ; - tällainen kysely näyttää kaikki tiedot taulukosta. SELECT (Pilkuilla erotetut sarakkeiden nimet, jotka on näytettävä kyselyssä) FROM (taulukon nimi tietokannassa) Arvot voidaan sijoittaa ja poistaa kentistä käyttämällä kolmea DML (Data Manipulation Language) -komentoa: INSERT INTO users_base (käyttäjänimi, kaupunki, syntymäpäivä) ARVOT ('Aleksanteri', 'Rostov', '20.06.1991'); UPDATE users_base SET user_name = 'Aleksei'; UPDATE-komento päivittää taulukon arvot. Ensin tulee itse UPDATE-komento, sitten taulukon nimi, SET-komennon jälkeen (set), sitten sarakkeen nimi ja sen arvo lainausmerkeissä (lainausmerkit laitetaan jos arvo on merkkijonomuodossa, jos se on numeerinen arvo ja sarake ei ole sidottu tietotyyppiin vchar tai mihinkään muuhun merkkijonotyyppiin, lainausmerkeillä ei ole merkitystä.) DELETE FROM users_base WHERE user_name = 'Vasilja'; DELETE-komento poistaa koko rivin ja identifioi rivin WHERE-kriteerin avulla. Tässä tapauksessa tämä kysely poistaisi kaikki rivit, joissa user_name -sarakkeen arvo oli Vasily. Puhumme WHERE-kriteeristä ja muista hieman myöhemmin. WHERE-lause on SELECT-komennon ja muiden DML-komentojen lauseke, jonka avulla voit asettaa predikaatteja, joiden ehto voi olla joko tosi tai epätosi mille tahansa taulukon riville. Komento hakee taulukosta vain ne rivit, joille tämä lause on tosi. ORDER BY - ehto valittujen rivien lajittelulle. Siinä on 2 kriteeriä ASC ja DESC. ASC (lajittelu A–Z tai 0–9) DESC (vastakohta ASC:lle). Tätä ehtoa voidaan käyttää myös WHERE-lauseen yhteydessä. DISTINCT on argumentti, joka tarjoaa sinulle tavan poistaa kaksinkertaiset arvot SELECT-lauseesta. Nuo. jos sinulla on päällekkäisiä arvoja sarakkeessa, oletetaan käyttäjän_nimi, niin DISTINCT näyttää sinulle vain yhden arvon, esimerkiksi tietokannassasi on 2 henkilöä nimeltä Aleksei, niin DISTINCT-funktiota käyttävä kysely näyttää sinulle vain yhden arvon joka kohdataan ensimmäisenä... JA - ottaa kaksi Boolen arvoa (muodossa A JA B) argumenteiksi ja arvioi ne totuutta vastaan, ovatko ne molemmat tosia. TAI - ottaa kaksi Boolen arvoa (muodossa A TAI B) argumenteiksi ja arvioi, onko toinen niistä oikea. SELECT * FROM users_base WHERE city = 'Rostov' OR user_name = 'Aleksanteri';- näyttää kaikki arvot taulukosta, jossa Rostovin kaupungin nimi tai käyttäjätunnus Alexander näkyy rivillä. NOT - ottaa yhden Boolen (muodossa NOT A) argumenteiksi ja muuttaa sen arvon epätosi arvosta tosi tai tosi epätosi. IN - määrittää joukon arvoja, joihin tietty arvo voidaan sisällyttää tai ei. Väli on samanlainen kuin IN-operaattori. Toisin kuin määrittäminen joukosta numeroilla, kuten IN, BETWEEN määrittää alueen, jonka arvojen on pienennettävä, jotta predikaatti tulee tosi. COUNT – Tuottaa kyselyn valitsemien kenttien rivinumerot tai ei-NULL-arvot. SUMMA - tuottaa kaikkien valittujen arvojen aritmeettisen summan tietylle kentälle. AVG - laskee tämän kentän kaikkien valittujen arvojen keskiarvon. MAX - tuottaa suurimman kaikista tämän kentän valituista arvoista. MIN - tuottaa pienimmän kaikista tämän kentän valituista arvoista. CREATE TABLE user_base (id kokonaisluku, käyttäjänimen teksti, kaupunkiteksti, syntymäpäivä päivämääräaika);- tällaisen komennon suorittaminen johtaa taulukon luomiseen, josta annoin esimerkkejä... Kaikki on täällä yksinkertaista, kirjoitamme CREATE TABLE -komennon, jonka jälkeen sen taulukon nimi, jonka haluamme luoda, sitten suluissa, pilkuilla erotettuna sarakkeiden nimet ja niiden tietotyypit. Tämä on tavallinen tapa luoda taulukko SQL:ssä. Annan nyt esimerkin taulukoiden luomisesta SQL Server 2005:ssä: ASETA ANSI_NULLS PÄÄLLE Jos sinulla on kysyttävää tästä aiheesta, kirjoita minulle Kehitä sovellus, joka esittelee tietokannan, kuten MS SQL Serverin, tietojen perustoiminnot, nimittäin: Pohjaksi otetaan Education.dbo-tietokanta, jonka luomisprosessi on kuvattu yksityiskohtaisesti Kuvassa 1 on esitetty Education.dbo-tietokannan rakenne. Kuten kuvasta näkyy, tietokannan nimi on: Tässä "sasha-pc" on verkon tietokoneen tunniste, "sqlexpress" on tietokantapalvelimen nimi ja "Education.dbo" on tietokannan nimi. Riisi. 1. Education.dbo-tietokanta Tietokanta sisältää kaksi taulukkoa: Student ja Session. Taulukoiden rakenne on seuraava. Opiskelijapöytä. Istuntopöytä. Luo uusi Windows Forms Application -tyyppinen projekti. Esimerkki uuden projektin luomisesta on kuvattu yksityiskohtaisesti Voit näyttää tietokantataulukoiden tiedot käyttämällä eri tavoilla. Yksi niistä on näkymien luominen, jotka luodaan MS Visual Studiolla. Meidän tapauksessamme taulukon tiedot näytetään lomakkeella DataGridView-tyypin ohjausobjektissa. Näkymien luomisen jälkeen on erittäin kätevää liittää ne DataGridView-elementteihin. Näkymän luomiseksi sinun on kutsuttava pikavalikosta "Lisää uusi näkymä" -komento, jota kutsutaan napsauttamalla hiiren kakkospainikkeella Education.dbo-tietokannan "Views"-elementtiä (kuva 2). Riisi. 2. Kutsumalla komennon lisäämään uusi näkymä Tämän seurauksena "Lisää taulukko" -ikkuna avautuu (kuva 3). Ikkunassa sinun on valittava näkymään lisättävät taulukot. Riisi. 3. Taulukot, joihin uusi näkymä perustuu Valitse tässä tapauksessa Opiskelijataulukko ja vahvista valintasi napsauttamalla Lisää-painiketta. Seuraava vaihe on sulkea ikkuna valitsemalla Sulje-painike. Kun vaiheet on suoritettu, luodaan ikkuna, jossa sinun on valittava kentät, jotka näytetään näkymässä (lomakkeessa). Valitse kaikki kentät (Kuva 4). Kun valitset kenttiä, Opiskelija-taulukon kentät näkyvät työalueen yläosassa. Hiirtä käyttämällä voit valita haluamasi kentät esitettäväksi. Vastaavasti ikkunan keskimmäisellä alueella näkyy valittujen kenttien nimet, taulukko, jossa ne ovat (katso kuva 4), mahdollisuus lajitella, suodattaa jne. Alueen alareunassa näkyy vastaava SQL-kyselyteksti, jota käytetään näkymän luomiseen. Riisi. 4. Opiskelijataulukoiden kenttien valinta näkymässä näytettäväksi Joukkueen valinnan jälkeen Näyttöön tulee ikkuna, jossa sinun on määritettävä näkymän nimi. Aseta nimi "View Student" (Kuva 5). Riisi. 5. Näkymän nimen määrittäminen Kun vaiheet on suoritettu, esitysikkuna näyttää kuvan 6 mukaiselta. Riisi. 6. Näytä opiskelijaedustus tietokannassa Voit nyt isännöidä DataGridView-ohjausobjektia ja liittää sen näkymään. Ennen kuin asetat DataGridView-säätimen, sinun on siirryttävä lomakkeen suunnittelutilaan "Form1.cs". DataGridView-elementti on taulukko, joka voi näyttää tietoja. Tämä säädin sijaitsee ToolBox-paneelissa. Ensin säädämme hieman lomakkeen kokoa ja asetamme sitten DataGridView-säätimen siihen (kuva 7). Tämä luo oletuksena objektiinstanssin nimeltä dataGridView1. Riisi. 7. DataGridView-ohjaus- ja tietolähteen valintaikkuna Kun olet asettanut DataGridView-säätimen lomakkeelle, voit määrittää tietolähteen oikeassa yläkulmassa. Näin ollen "DataGridView Tasks" -ikkuna avautuu. Tässä ikkunassa sinun on valittava "Valitse tietolähde" -ponnahdusvalikko. Valitse avautuvasta valikosta "Lisää projektin tietolähde..." -komento (kuva 7). Tämän jälkeen avautuu ohjattu ikkuna, jossa tietolähde valitaan peräkkäin. Kuvassa 8 näkyy " Ohjattu tietolähteen määritystoiminto", jossa tietolähteen tyyppi on valittu. Meidän tapauksessamme asennamme "tietokannan". Riisi. 8. Tietolähteen tyypin valitseminen Seuraavassa ikkunassa (Kuva 9) valitaan tietolähdemalli. Sinun on valittava DataSet. Riisi. 9. Tietolähdemallin valinta Kuvan 10 ikkunassa sinun on määritettävä datayhteys, jolla haluat muodostaa yhteyden tietokantaan. Meidän tapauksessamme meidän on valittava tietokanta " sasha-pc\sqlexpress\Education.dbo«.
Riisi. 10. Datayhteyden valitseminen Seuraava ikkuna (Kuva 11) ehdottaa yhteysmerkkijonon tallentamista sovelluksen asetustiedostoon. Jätetään kaikki ennalleen ja siirrytään seuraavaan ikkunaan. Riisi. 11. Ehdotus tietokannan yhteysmerkkijonon Connection String tallentamiseksi sovelluksen asetustiedostoon Tietokantayhteyden luomisen jälkeen näyttöön tulee erilaisia tietokantaobjekteja (Kuva 12). Meidän tapauksessamme meidän on valittava "Näytä opiskelija" -näkymä ja kaikki kentät siitä. Valitut kentät näkyvät DataGridView-tyyppisessä komponentissa. Riisi. 12. DataGridView-näkymässä näytettävät tietokantaobjektit Kun olet valinnut Valmis-painikkeen, Education.dbo-tietokannan valitut objektit (View Student view) tulevat näkyviin (Kuva 13). Riisi. 13. DataGridView-ohjaus valituilla View Student -kentillä Samalla tavalla voit määrittää näkymiä, jotka sisältävät kentät mistä tahansa tietokantataulukosta. Myös eri taulukoiden kentät voidaan näyttää yhdessä näkymässä. Jos suoritat sovelluksen, saat tietoja Näytä opiskelija -näkymästä, joka vastaa tietokannan opiskelijataulukkoa (Kuva 14). Kuten kuvasta 14 näkyy, dataGridView1-taulukon tiedot näkyvät normaalisti, mutta ulkoasua voidaan säätää. DataGridView-tyypin ohjauksella voit säätää näytettävien kenttien ulkoasua. Voit kutsua komentoja kenttien muokkausta varten avaamalla kontekstivalikko napsauttamalla hiiren kakkospainikkeella dataGridView1-ohjausobjektia. Ruokalistalla on erilaisia hyödyllisiä komentoja, joiden avulla voit hallita DataGridView:n ulkoasua ja toimintaa: Meidän tapauksessamme sinun on valittava "Muokkaa sarakkeita..." -komento (kuva 15). Riisi. 15. Komento "Muokkaa sarakkeita..." pikavalikosta Tämän seurauksena avautuu "Muokkaa sarakkeita" -ikkuna, jossa voit muokata esityskenttien ulkoasua mieleiseksesi (Kuva 16). Kuvan 16 ikkunassa mille tahansa kentälle voit määrittää nimen, tasauksen, leveyden, tietojen muokkausmahdollisuuden jne. Jotta voit tehdä muutoksia tietokantaan, sinun on hankittava yhteysmerkkijono tietokantaan Connection String . Tietokantayhteysmerkkijono saadaan eri tavoilla. Yksi niistä perustuu tämän rivin lukemiseen Education.dbo-tietokannan Ominaisuudet-ikkunassa (kuva 17). Merkkijonon tallentamiseksi ohjelmaan sisäinen muuttuja, jonka tyyppi on merkkijono. Kopioi leikepöydällä yhteysmerkkijono kuvattuun merkkijonomuuttujaan. Tiedoston ”Form1.cs” tekstissä Form1-luokan kuvauksen alussa sinun tulee kuvata muuttuja: Tällä hetkellä Form1-luokan teksti on seuraava: Jotta voit käsitellä nykyisen tietueen tietoja, sinun on luotava uusi lomake. Uuden lomakkeen luontiprosessi MS Visual Studio - C#:ssa on kuvattu yksityiskohtaisesti. Uuden lomakkeen lisääminen tapahtuu komennolla: Avautuvassa "New Item" -ikkunassa sinun on valittava "Windows Form" -elementti. Jätä uusi lomaketiedoston oletusnimi "Form2.cs". Kuvassa 18 on kuva uudesta lomakkeesta. Sijoitamme lomakkeelle seuraavan tyyppisiä ohjausobjekteja: Sinun on määritettävä seuraavat säätimien ominaisuudet: Määritämme myös TextBox-säätimien näkyvyyden. Tätä varten kaikissa ohjaimissa textBox1, textBox2, textBox3, textBox4 ominaisuuden arvo Modifiers = "julkinen". Jatkotyötä varten sinun on vaihdettava päälomakkeeseen Form1 hiirellä. Lisää kolme painiketta Form1-sovelluksen päälomakkeeseen (painike). Kolme objektimuuttujaa luodaan automaattisesti nimillä button1, button2, button3. Jokaisessa näistä painikkeista teemme seuraavat asetukset (Ominaisuudet-ikkuna): Tehtyjen muutosten seurauksena päälomake näyttää kuvan 19 mukaiselta. "Lisää..." -painikkeen napsautustapahtumakäsittelijä näyttää tältä: Form2 kutsutaan ensin. Saatuaan ”OK”-tuloksen (painamalla vastaavaa painiketta), Form2:ssa TextBox-tyypin elementtien täytetyt kentät sisällytetään SQL-kyselymerkkijonoon. SQL-kysely uuden rivin lisäämiseksi näyttää tältä: jossa arvo1 vastaa arvosanakirjan numeroa; arvo2 – opiskelijan sukunimi; arvo3 – ryhmä, jossa opiskelija opiskelee; arvo4 – tulovuosi. Yhteysmerkkijono tietokannan yhteysmerkkijono on kuvattu conn_string-muuttujassa (katso kappale 5). SqlConnection-luokkaobjekti yhdistää sovelluksen tietolähteisiin. Lisäksi Connection-luokka käsittelee käyttäjien todentamista, verkottumista, tietokannan tunnistamista, yhteyden puskurointia ja tapahtumien käsittelyä. SQL-komento, joka lisää tietueen taulukkoon, on kapseloitu SqlCommand-luokkaan. SqlCommand-luokan rakentaja ottaa kaksi parametria: SQL-kyselymerkkijonon (cmd_text-muuttuja) ja SqlConnection-luokan objektin. ExecuteNonQuery()-menetelmä on toteutettu IDBCommand-rajapinnassa. Menetelmä toteuttaa SQL-komentoja, jotka eivät palauta tietoja. Tällaisia komentoja ovat INSERT-, DELETE-, UPDATE-komennot sekä tallennetut proseduurit, jotka eivät palauta tietoja. ExecuteNonQuery()-metodi palauttaa mukana olevien tietueiden määrän. Muokkaa...-painikkeen napsautustapahtumakäsittelijä näyttää tältä: Tämä käsittelijä suorittaa UPDATE SQL -komennon, joka muuttaa aktiivisen tietueen nykyistä arvoa. "Poista"-painikkeen napsautustapahtumakäsittelijä näyttää tältä: Tämä käsittelijä suorittaa SQL-komennon DELETE poistaakseen tietueen. SQL Server Management Studio tarjoaa täydellisen työkalun kaikentyyppisten kyselyiden luomiseen. Sen avulla voit luoda, tallentaa, ladata ja muokata kyselyitä. Lisäksi voit käsitellä kyselyitä muodostamatta yhteyttä mihinkään palvelimeen. Tämä työkalu tarjoaa myös mahdollisuuden kehittää kyselyitä eri projekteihin. Voit käsitellä kyselyitä joko kyselyeditorilla tai ratkaisuselaimella. Tämä artikkeli kattaa nämä molemmat työkalut. Näiden SQL Server Management Studion kahden osan lisäksi tarkastelemme SQL-koodin virheenkorjausta sisäänrakennetun debuggerin avulla. Voit avata Kyselyeditori-paneelin Kyselyeditori, napsauta SQL Server Management Studio -työkalurivin Uusi kysely -painiketta. Tämä paneeli voidaan laajentaa näyttämään painikkeita kaikkien mahdollisten kyselyjen luomiseen, ei vain tietokantakonekyselyihin. Oletuksena se luodaan uusi pyyntö Database Engine -komponentti, mutta napsauttamalla työkalurivin vastaavaa painiketta voit luoda myös MDX-, XMLA- jne. kyselyitä. Kyselyeditori-paneelin alareunassa oleva tilapalkki näyttää editorin palvelimen välisen yhteyden tilan. Jos et muodosta yhteyttä palvelimeen automaattisesti, kun käynnistät kyselyeditorin, näkyviin tulee Yhdistä palvelimeen -valintaikkuna, jossa voit valita palvelimen, johon haluat muodostaa yhteyden, ja todennustilan. Kyselyjen muokkaaminen offline-tilassa tarjoaa enemmän joustavuutta kuin ollessaan yhteydessä palvelimeen. Kyselyjen muokkaamiseen ei tarvitse muodostaa yhteyttä palvelimeen, ja kyselynmuokkausikkuna voidaan katkaista yhdestä palvelimesta (valikon komennolla Kysely --> Yhteys --> Katkaise yhteys) ja yhdistää toiseen palvelimeen avaamatta toista editori-ikkunaa. Jos haluat valita offline-muokkaustilan, käytä Yhdistä palvelimeen -valintaikkunaa, joka avautuu, kun käynnistät editorin. tietty tyyppi pyyntöjä, napsauta Peruuta-painiketta. Voit käyttää Kyselyeditoria seuraavien tehtävien suorittamiseen: Transact-SQL-lauseiden luominen ja suorittaminen; luotujen Transact-SQL-kielen lausekkeiden tallentaminen tiedostoon; yleisten kyselyjen toteutussuunnitelmien luominen ja analysointi; havainnollistaa graafisesti valitun kyselyn suoritussuunnitelmaa. Kyselyeditori sisältää sisäänrakennetun tekstieditori ja työkalurivi, jossa on painikkeita eri toimintoja varten. Kyselyeditorin pääikkuna on jaettu vaakasuunnassa kyselypaneeliin (ylhäällä) ja tulospaneeliin (alareunassa). Suoritettavat Transact-SQL-käskyt (eli kyselyt) syötetään yläruutuun, ja järjestelmän näiden kyselyjen käsittelyn tulokset näytetään alaruudussa. Alla olevassa kuvassa on esimerkki kyselyn syöttämisestä kyselyeditoriin ja kyselyn suorittamisen tulokset: Ensimmäinen USE-pyyntölause määrittää SampleDb-tietokannan käyttämisen nykyisenä tietokantana. Toinen käsky, SELECT, hakee kaikki rivit Työntekijä-taulukosta. Voit suorittaa tämän kyselyn ja näyttää tulokset napsauttamalla kyselyeditorin työkalupalkissa Suorita-painiketta tai painamalla F5-näppäintä. Voit avata useita Kyselyeditori-ikkunoita, esim. muodostaa useita yhteyksiä yhteen tai useampaan tietokantamoottorin esiintymään. Uusi yhteys luodaan napsauttamalla Uusi kysely -painiketta SQL Server Management Studion työkalupalkissa. Kyselyeditori-ikkunan alareunassa oleva tilapalkki näyttää seuraavat kyselylauseiden suorittamiseen liittyvät tiedot: nykyisen toiminnon tila (esimerkiksi "Pyyntö suoritettu onnistuneesti"); tietokantapalvelimen nimi; nykyinen käyttäjänimi ja palvelimen prosessitunnus; nykyinen tietokannan nimi; viimeisen pyynnön suorittamiseen käytetty aika; löydettyjen rivien määrä. Yksi SQL Server Management Studion tärkeimmistä eduista on sen helppokäyttöisyys, joka koskee myös kyselyeditoria. Kyselyeditori tarjoaa monia ominaisuuksia, jotka helpottavat Transact-SQL-lauseiden koodausta. Se käyttää erityisesti syntaksin korostusta parantaakseen Transact-SQL-lauseiden luettavuutta. Kaikki varatut sanat näkyvät sinisellä, muuttujat mustalla, merkkijonot punaisella ja kommentit vihreällä. Lisäksi kyselyeditori on varustettu tilannekohtaisella ohjeella nimeltä Dynaaminen ohje, jonka kautta saat tietoa tietystä ohjeesta. Jos et tiedä käskyn syntaksia, valitse se editorissa ja paina sitten F1-näppäintä. Voit myös korostaa erilaisten Transact-SQL-käskyjen parametreja saadaksesi apua Books Onlinesta. SQL Management Studio tukee SQL Intellisenseä, joka on eräänlainen automaattinen täydennystyökalu. Toisin sanoen tämä moduuli ehdottaa todennäköisimpää osittain syötettyjen Transact-SQL-käskyelementtien valmistumista. Objektien tutkija voi myös auttaa sinua muokkaamaan kyselyitä. Jos esimerkiksi haluat tietää kuinka luoda CREATE TABLE -käsky Työntekijä-taulukolle, napsauta taulukkoa hiiren kakkospainikkeella Object Explorerissa ja tuloksena kontekstivalikko valitse Script Table As --> CREATE to --> New Query Editor Window. Tällä tavalla luodun CREATE TABLE -käskyn sisältävä Query Editor -ikkuna näkyy alla olevassa kuvassa. Tämä ominaisuus koskee myös muita objekteja, kuten tallennettuja proseduureja ja toimintoja. Object Browser on erittäin hyödyllinen tietyn kyselyn suoritussuunnitelman graafisessa näyttämisessä. Kyselyn suoritussuunnitelma on kyselyn optimoijan valitsema suoritusvaihtoehto useiden joukosta mahdollisia vaihtoehtoja tietyn pyynnön täyttäminen. Kirjoita tarvittava kysely editorin yläpaneeliin, valitse komentosarja valikosta Kysely --> Näytä arvioitu suoritussuunnitelma (Kysely --> Näytä arvioitu suoritussuunnitelma) ja tämän kyselyn suoritussuunnitelma näytetään muokkausikkunan alapaneeli. Kyselyn muokkaus SQL Server Management Studiossa perustuu ratkaisumenetelmään. Jos luot tyhjän kyselyn Uusi kysely -painikkeella, se perustuu tyhjään ratkaisuun. Voit nähdä tämän suorittamalla komentosarjan Näytä --> Ratkaisuhallinta -valikosta heti tyhjän kyselyn avaamisen jälkeen. Päätös voi liittyä yhteen, yhteen tai useampaan hankkeeseen. Tyhjä ratkaisu, joka ei liity mihinkään projektiin. Jos haluat liittää projektin ratkaisuun, sulje tyhjä ratkaisu, Solution Explorer ja Query Editor ja luo uusi projekti suorittamalla Tiedosto --> Uusi --> Projekti. Valitse avautuvan Uusi projekti -ikkunan keskimmäisestä ruudusta SQL Server Scripts -vaihtoehto. Projekti on tapa järjestää tiedostoja tietyssä paikassa. Voit antaa projektille nimen ja valita sijainnin sen sijainnille levyllä. Kun luot uuden projektin, uusi ratkaisu käynnistetään automaattisesti. Projektiin voi lisätä olemassa oleva ratkaisu käyttämällä Solution Exploreria. Solution Explorer näyttää jokaisen luodun projektin Yhteydet, Kyselyt ja Muut kansiot. Jos haluat avata uuden Kyselyeditori-ikkunan tietylle projektille, napsauta hiiren kakkospainikkeella sen Kyselyt-kansiota ja valitse pikavalikosta Uusi kysely. SQL Serverissä, alkaen SQL Server 2008:sta, on sisäänrakennettu koodivirheenkorjaus. Aloita virheenkorjausistunto valitsemalla SQL Server Management Studion päävalikosta Debug --> Start Debugging. Tarkastellaan, kuinka debuggeri toimii esimerkin avulla, jossa käytetään joukko komentoja. Erä on SQL-käskyjen ja prosessilaajennusten looginen sarja, joka lähetetään tietokantakoneeseen suorittamaan kaikki sen sisältämät käskyt. Alla oleva kuva näyttää paketin, joka laskee projektissa p1 työskentelevien työntekijöiden määrän. Jos tämä numero on 4 tai enemmän, näyttöön tulee vastaava viesti. Muussa tapauksessa työntekijöiden etu- ja sukunimet näytetään. Jos haluat lopettaa paketin suorittamisen tietyllä käskyllä, voit asettaa keskeytyspisteitä kuvan osoittamalla tavalla. Voit tehdä tämän napsauttamalla sen rivin vasemmalla puolella, jolla haluat pysähtyä. Kun virheenkorjaus alkaa, suoritus pysähtyy ensimmäiselle koodiriville, joka on merkitty keltaisella nuolella. Jatka suorittamista ja virheenkorjausta valitsemalla Debug --> Continue -valikosta komento. Eräkäskyt jatkuvat ensimmäiseen keskeytyskohtaan asti, ja keltainen nuoli pysähtyy siihen kohtaan. Vianetsintäprosessiin liittyvät tiedot näkyvät kahdessa paneelissa Kyselyeditori-ikkunan alaosassa. Tietoa erilaisia tyyppejä Vianetsintätiedot on ryhmitelty näihin paneeleihin useille välilehdille. Vasemmassa ruudussa on Autos-välilehti, Paikalliset-välilehti ja enintään viisi Watch-välilehteä. Oikeassa ruudussa on Puhelupino-, Säikeet-, Katkaisupisteet-, Komento-ikkuna-, Välitön ikkuna- ja Tulostus-välilehdet. Paikalliset-välilehti näyttää muuttujan arvot, Puhelupino-välilehti näyttää puhelupinon arvot ja Breakpoints-välilehti näyttää keskeytyspisteen tiedot. Voit lopettaa virheenkorjauksen suorittamalla komentosarjan päävalikosta Debug --> Stop Debugging tai napsauttamalla sinistä painiketta vianetsintätyökalupalkissa. SQL Server 2012 lisää useita uusia ominaisuuksia SQL Server Management Studion sisäiseen debuggeriin. Nyt voit suorittaa useita seuraavista toiminnoista siinä: Määritä keskeytyskohdan ehto. Katkopisteen kunto on SQL-lauseke, jonka arvioitu arvo määrittää, pysähtyykö koodin suoritus tiettyyn kohtaan vai ei. Voit määrittää keskeytyskohdan ehdon napsauttamalla punaista keskeytyskohdan kuvaketta hiiren kakkospainikkeella ja valitsemalla kontekstivalikosta Ehto. Breakpoint Condition -valintaikkuna avautuu, jolloin voit syöttää vaaditun Boolen lausekkeen. Lisäksi, jos sinun on keskeytettävä suoritus, jos lauseke on tosi, sinun tulee asettaa On True -kytkin. Jos suoritus on keskeytettävä, jos lauseke on muuttunut, sinun on asetettava Kun muutettu -kytkin. Määritä osumien määrä keskeytyskohdassa. Osumamäärä on ehto suorituksen keskeyttämiselle tietyssä kohdassa sen perusteella, kuinka monta kertaa keskeytyskohtaan osui suorituksen aikana. Kun määritetty määrä läpäisyjä ja mikä tahansa muu tietylle keskeytyspisteelle määritetty ehto saavutetaan, debuggeri suorittaa määritetyn toiminnon. Osumien määrään perustuva suorituksen keskeytysehto voi olla jokin seuraavista: ehdoton (oletustoiminto) (Tauko aina); jos osumien määrä on yhtä suuri kuin määritetty arvo (Break kun hänen määrä on yhtä suuri kuin määritetty arvo); jos osumien määrä on määritetyn arvon kerrannainen (katko, kun osumamäärä on tietyn arvon kerrannainen); Katko, kun hänen luku on suurempi tai yhtä suuri kuin määritetty arvo. Jos haluat asettaa osumien määrän virheenkorjauksen aikana, napsauta hiiren kakkospainikkeella tarvittavaa keskeytyskohdan kuvaketta Breakpoints-välilehdessä, valitse pikavalikosta Osumamäärä ja valitse sitten jokin ehdoista Breakpoint Hit Count -valintaikkunassa, joka avautuu edellisestä luettelosta. Jos asetukset edellyttävät arvoa, kirjoita se tekstiruutuun avattavan ehdot-luettelon oikealla puolella. Tallenna määritetyt ehdot napsauttamalla OK. Määritä keskeytyspistesuodatin. Katkopistesuodatin rajoittaa keskeytyspisteen toiminnan vain tiettyihin tietokoneisiin, prosesseihin tai säikeisiin. Voit määrittää keskeytyspistesuodattimen napsauttamalla hiiren kakkospainikkeella haluamaasi keskeytyskohtaa ja valitsemalla kontekstivalikosta Suodatin. Määritä sitten avautuvassa Breakpoint Filters -valintaikkunassa resurssit, joihin haluat rajoittaa tämän keskeytyskohdan suorittamisen. Tallenna määritetyt ehdot napsauttamalla OK. Määritä toiminto keskeytyskohdassa. Kun osuma -ehto määrittää toiminnon, joka suoritetaan, kun erän suoritus saavuttaa tietyn keskeytyskohdan. Oletuksena, kun sekä osumamäärän ehto että pysäytysehto täyttyvät, suoritus keskeytetään. Vaihtoehtoisesti voidaan näyttää ennalta määritetty viesti. Jos haluat määrittää, mitä tehdä, kun keskeytyskohta osuu, napsauta hiiren kakkospainikkeella keskeytyskohdan punaista kuvaketta ja valitse pikavalikosta Kun osuma. Valitse avautuvasta Kun katkeamispiste osuu -valintaikkunassa toiminto, jonka haluat suorittaa. Tallenna määritetyt ehdot napsauttamalla OK. Käytä Quick Watch -ikkunaa. Voit tarkastella Transact-SQL-lausekkeen arvoa QuickWatch-ikkunassa ja tallentaa lausekkeen sitten Watch-ikkunaan. Voit avata Quick Watch -ikkunan valitsemalla Debug-valikosta Quick Watch. Tämän ikkunan lauseke voidaan joko valita Lauseke-pudotusvalikosta tai kirjoittaa tähän kenttään. Käytä Quick Info -työkaluvihjettä. Kun viet hiiren osoittimen kooditunnuksen päälle, Quick Info ( Lyhyt tiedot) näyttää mainoksensa ponnahdusikkunassa.Komennot tietokantojen kanssa työskentelemiseen
1. Tarkastele käytettävissä olevia tietokantoja
NÄYTÄ TIETOKANNAT; 2. Luo uusi tietokanta
LUO TIETOKANTA; 3. Valitse käytettävä tietokanta
KÄYTTÄÄ 4. Tuo SQL-komennot .sql-tiedostosta
LÄHDE 5. Poista tietokanta
PUDOTA TIETOKANTA Työskentely pöytien kanssa
6. Tarkastele tietokannassa saatavilla olevia taulukoita
NÄYTÄ taulukoita; 7. Luo uusi taulukko
LUO TAULU Eheyden rajoitukset käytettäessä CREATE TABLE
Esimerkki
8. Taulukkotiedot
9. Tietojen lisääminen taulukkoon
LAITTAA SISÄÄN 10. Taulukon tietojen päivittäminen
PÄIVITTÄÄ 11. Kaikkien tietojen poistaminen taulukosta
POISTA LÄHTEESTÄ 12. Poista taulukko
PUDOTA PÖYTÄ Komennot kyselyjen luomiseen
13. VALITSE
14. SELECT DISTINCT
15. MISSÄ
Esimerkki
16. GROUP BY
Esimerkki
17. OTTAMINEN
Esimerkki
18. TILAA
Esimerkki
19. VÄLILLÄ
Esimerkki
20. Tykkää
VALITSE Esimerkki
21. IN
Esimerkki
22. LIITY
Esimerkki 1
Esimerkki 2
Esimerkki 3
23. Näytä
Luominen
LUO NÄKYMÄ Poistaminen
PUDOTA NÄKYMÄ Esimerkki
24. Aggregaattifunktiot
25. Sisäkkäiset alikyselyt
Esimerkki
Tässä katsauksessa tarkastellaan yleisimpiä SQL-kyselytyyppejä.
SQL-standardi on määritelty ANSI(American National Standards Institute).
SQL on erityisesti relaatiotietokantoihin tarkoitettu kieli. SQL-osiointi:
DDL(Tietojen määrittelykieli)
- ANSI:n ns. Schema Description Language koostuu komennoista, jotka luovat objekteja (taulukoita, indeksejä, näkymiä ja niin edelleen) tietokantaan.
DML(Tietojen käsittelykieli) on joukko komentoja, jotka määrittävät, mitkä arvot esitetään taulukoissa kulloinkin.
DCD(Tiedonhallinnan kieli) koostuu toiminnoista, jotka määrittävät, sallitaanko käyttäjän suorittaa tiettyjä toimintoja vai ei. Ne ovat osa ANSI DDL:ää. Älä unohda näitä nimiä. Nämä eivät ole eri kieliä, vaan funktioidensa mukaan ryhmiteltyjä SQL-komentojen osia. Tietotyypit:
SQL Server - Tietotyypit
(synonyymi hiiltyä)
SQL Server 2005:stä alkaen sitä ei suositella käytettäväksi.
MIKÄ ON PYYNTÖ?
SELECT-komento:
Kyselyn tyyppi SELECT:n avulla:SELECT komentorakenne:
- Tämä on yksinkertaisin pyyntö. Kätevää tiedonhakua varten on lisäkomentoja (katso alla "Toiminnot") DML-komennot:
LISÄÄ(Lisää)
PÄIVITTÄÄ(Päivitys, muutos),
POISTAA(Poistaa) INSERT-komento:
INSERT-komennon mukana tulee etuliite INTO (in to), sitten suluissa on niiden sarakkeiden nimet, joihin meidän on lisättävä tietoja, sitten tulee VALUES-komento (arvot) ja suluissa arvot tulevat vuorotellen (se on arvojen järjestyksen noudattamiseksi sarakkeiden kanssa, arvojen on oltava samassa järjestyksessä kuin määrittämäsi sarakkeet). UPDATE-komento:
DELETE-komento:
Kriteerit, toiminnot, ehdot jne. mikä auttaa meitä SQL:ssä:
Esimerkki:
SELECT id, kaupunki, syntymäpäivä FROM user_base WHERE user_name = 'Aleksei';- tällainen kysely näyttää vain ne rivit, jotka vastaavat WHERE-ehtoa, eli kaikki rivit, joissa user_name -sarakkeessa on arvo Aleksei.
Esimerkki:
SELECT id, kaupunki, syntymäpäivä FROM user_base ORDER BY user_name ASC; - tällainen kysely näyttää arvot, jotka on lajiteltu user_name-sarakkeen mukaan A:sta Z:hen (A-Z; 0-9)
Esimerkki:
SELECT id, kaupunki, syntymäpäivä FROM user_base WHERE user_name = 'Aleksei' ORDER BY id ASC;
Esimerkki:
SELECT DISTINCT user_name FROM user_base;- tällainen kysely näyttää meille kaikkien user_name -sarakkeen tietueiden arvot, mutta niitä ei toisteta, ts. jos sinulla oli ääretön määrä toistuvia arvoja, niitä ei näytetä...
Esimerkki:
SELECT * FROM users_base WHERE city = 'Rostov' AND user_name = 'Aleksanteri';- näyttää kaikki arvot taulukosta, jossa kaupungin nimi näkyy yhdellä rivillä (tässä tapauksessa Rostov ja käyttäjänimi Alexander.
SELECT * FROM users_base WHERE city = 'Rostov' OR NOT user_name = 'Aleksanteri';- näyttää kaikki arvot taulukosta, jossa Rostovin kaupungin nimi esiintyy yhdellä rivillä tai käyttäjänimi ei ole täsmälleen Alexander.
SELECT * FROM users_base WHERE city IN ('Vladivostok', 'Rostov');- tällainen kysely näyttää kaikki arvot taulukosta, jotka sisältävät kaupunkisarakkeessa määritettyjen kaupunkien nimet
SELECT * FROM user_base WHERE id BETWEEN 1 JA 10;- näyttää kaikki taulukon arvot, jotka ovat id-sarakkeessa välillä 1-10
SELECT COUNT (*) FROM user_base ;- näyttää tämän taulukon rivien lukumäärän.
VALITSE COUNT (ERÄLLÄ käyttäjän_nimi) käyttäjien_kannasta ;- näyttää rivien määrän käyttäjätunnuksilla (ei toistu)
SELECT SUM (id) FROM user_base ;- näyttää id-sarakkeen kaikkien rivien arvojen summan.
SELECT AVG (id) FROM user_base ;- näyttää id-sarakkeen kaikkien valittujen arvojen keskiarvonTaulukoiden luominen:
MENNÄ
ASETA QUOTED_IDENTIFIER PÄÄLLE
MENNÄ
JOS EI OLE OLEMASSA (SELECT * FROM sys.objects WHERE objektin_id = OBJECT_ID(N."") JA kirjoita (N"U"))
ALKAA
LUO TAULUKKO .(
EI TYHJÄ,
EI TYHJÄ,
EI TYHJÄ,
ENSISIJAINEN AVAIN KLUSTERETTU
A.S.C.
LOPPU
MENNÄ
ASETA ANSI_NULLS PÄÄLLE
MENNÄ
ASETA QUOTED_IDENTIFIER PÄÄLLE
MENNÄ
JOS EI OLE OLEMASSA (SELECT * FROM sys.objects WHERE objektin_id = OBJECT_ID(N."") JA kirjoita (N"U"))
ALKAA
LUO TAULUKKO .(
IDENTITEETTI(1,1) EI NOLLA,
TYHJÄ,
TYHJÄ,
ENSISIJAINEN AVAIN KLUSTERETTU
A.S.C.
)KÄYTÖSSÄ (IGNORE_DUP_KEY = OFF).
) PÄÄLLÄ TEXTIMAGE_ON
LOPPU
MENNÄ
ASETA ANSI_NULLS PÄÄLLE
MENNÄ
ASETA QUOTED_IDENTIFIER PÄÄLLE
MENNÄ
JOS EI OLE OLEMASSA (SELECT * FROM sys.objects WHERE objektin_id = OBJECT_ID(N."") JA kirjoita (N"U"))
ALKAA
LUO TAULUKKO .(
IDENTITEETTI(1,1) EI NOLLA,
TYHJÄ,
TYHJÄ,
ENSISIJAINEN AVAIN KLUSTERETTU
A.S.C.
)KÄYTÖSSÄ (IGNORE_DUP_KEY = OFF).
) PÄÄLLÄ
LOPPU
Syntaksi SQL Server 2005:ssä on toinen aihe, halusin vain näyttää, että kuvailin SQL-ohjelmoinnin perusteet, voit päästä huipulle itse tietäen perusteet.Esitys
1. Luo uusi projekti MS Visual Studiossa Windows Forms -sovelluksena.
2. Luo uusi näkymä näyttääksesi tietoja opiskelijataulukosta.
3. Aseta DataGridView-ohjausobjekti ja määritä yhteys tietokantaan.
4. DataGridView-säätimen ulkoasun asettaminen.
Riisi. 14. Sovelluksen käynnistäminen täytäntöönpanoa varten
Riisi. 16. Ikkuna "View Student" -näkymän kenttien näkymän asettamiseen
5. Yhteysmerkkijono
Riisi. 17. Yhteysmerkkijonon määrittäminen
6. Luominen uusi muoto tietojenkäsittelykomentojen esittelyyn.
Riisi. 18. Näkymä juuri luodusta lomakkeesta
7. Painikkeiden lisääminen komentojen kutsumiseksi opiskelijataulukon tietojen käsittelyyn.
Riisi. 19. Hakemuksen päälomake
8. Napsautustapahtuman ohjelmointi "Lisää..." -painikkeelle.
9. Napsautustapahtuman ohjelmointi "Muokkaa..."-painikkeella.
10. Napsautustapahtuman ohjelmointi "Poista"-painikkeelle.
Liittyvät aiheet
Kyselyeditori
Solution Explorer
SQL Serverin virheenkorjaus