Na het bijdragen tot duizenden verzoeken om hulp online te programmeren en persoonlijk heb ik vele theorieën en ideeën over hoe de mensen programmering zouden moeten leren en hoe zij de problemen zouden moeten overwegen zij zelf waarin vinden. Deze post is eerste van velen die algemeen gevraagde problemen zullen onderzoeken en uiteinden dat indien gelezen zouden moeten wat van hen oplossen zullen geven.Â
Veel van mijn ervaring centreert rond SQL gegevensbestanden en aangezien zulke één van de gebieden is waar ik denk zouden de mensen de centrale ideeën moeten begrijpen alvorens zij beginnen kwesties van anderen te stellen. Conceptueel, zijn er tien belangrijke sleutelwoorden in alle varianten van de SQL taal die om worden gebruikt te leiden tot veranderen en vernietigen lijsten en gegevensbestanden; en aan input, wijzig en verwijder gegevens uit die lijsten.
U bent slechts bereid met uw SQL vorderen als u dit gehele artikel kunt lezen en de woorden kunnen identificeren hieronder, schrijven meer dan wordt geschreven, verklaar wat zij betekenen en hen in uw gegevensbestand van keus zonder verwijzing naar andere bronnen gebruiken. (het grootste deel van mijn voorbeelden zullen op ANSI standaardSQL worden gericht of mySQL) Er zijn veel meer die op deze onderwerpen kan worden gelezen maar hieronder de naakte noodzaak nodig is om u langs te worden.
Â
1. CREÃëR LIJST
Alvorens u met het werken met gegevens kunt beginnen, hebt u een container nodig om het binnen op te slaan. De container in een SQL gegevensbestand wordt genoemd een lijst. Dit is een reeks rijen (waar elk onderdeel van gegevens) wordt opgeslagen en kolommen die van diverse gegeven-types zijn die worden gebruikt om de bijzondere rij te identificeren en de gegevens te bevatten. De CREATE verklaring laat dat een lijst toe wordt gemaakt, specificerend om het even welke regels over wat in de lijst (en hoe het kan worden geïndexeerdn) kan worden bevat.Â
Aangezien dit een basisgids is; Ik zal enkel schetsen eenvoudig tot verklaring leidt en wat de componenten betekenen;
CREÃëR LIJST your_table_name (NIET ONGELDIG int., B VARCHAR (20));
Dit zal tot een lijst leiden die your_table_name met twee kolommen wordt geroepen, die een geheel is, dat geen ongeldige waarden en B zal toestaan die een koord is dat karakters tot een lengte van 20 kan bevatten.
Nota; er zijn andere opties,
- u kunt argumenten hebben die specificeren om tot de lijst te leiden als het niet reeds bestaat.
- De lijsten kunnen worden gecreÃërd die als andere lijsten die (hun definitie kopiëren) zijn
- De lijsten kunnen worden gecreÃërd door een uitgezochte verklaring te gebruiken en de gegevens te kopiëren die van het zijn teruggekeerd
- De tijdelijke lijsten zijn die die niet aan de schijf worden geschreven en als lijsten zonder het tijdelijke sleutelwoord permanent gehouden, en niet permanent om ontworpen te zijn.
- De beperkingen en de commentaren kunnen aan kolommen en aan de lijst worden toegevoegd als geheel
- Primaire zeer belangrijke en andere indexen kunnen worden toegevoegd; het beperken van verdubbeling van gegevens en het verhogen van zijn naspeurbaarheid.
- De buitenlandse sleutels kunnen worden toegevoegd beperkend waarden die afhankelijk van de waarden moeten worden opgenomen bevat binnen andere lijsten.
- Er zijn vele verschillende datatypes die kunnen worden gebruikt om gegevens voor kolommen te houden
- De standaard waarden kunnen voor gegevens worden geplaatst.
- Als een lijst reeds toen bestaat kunt u niet het creëren - en een fout kan voorkomen.
- Sommige gegevensbestanden moeten de eigenaar als deel van de lijstnaam (dbo bijvoorbeeld d.w.z. dbo.your_table_name) specificeren
2. VERANDER LIJST
Zodra een lijst is gecreÃërd, kan het noodzakelijk worden om te veranderen hoe de gegevens in de lijst kunnen worden ingevoerd of hoe het gegeven wordt opgeslagen. Verander lijst is het mechanisme waardoor deze veranderingen
VERANDER LIJST YOUR_TABLE_NAME TOEVOEGEN ColumnName VARCHAR (10) NIET NIETIG VERKLAART;
VERANDER de DALING ColumnName van de LIJST your_table_name;
VERANDER DE PRIMAIRE SLEUTEL VAN DE DALING VAN DE LIJST YOUR_TABLE_NAME;
Als u kolommen toevoegt of dingen aan de lijst toen toevoegt zijn de zelfde regels zoals voor Create van toepassing. De zelfde verklaringsopties kunnen, zoals met de zelfde indextypes en de beperkingen worden gegeven.
U kunt kolommen door naar hen te verwijzen door naam verwijderen.
U kunt indexen en beperkingen verwijderen door dat in de daling te specificeren.
Sommige Nota te nemen van Dingen:
- U kunt niet twee kolommen met de zelfde naam (dit is relevant om te creëren en te veranderen) normaal hebben
- U kunt problemen hebben verwijderend bepaalde kolommen als zij gebied dat door andere buitenlandse sleutels van verwijzingen wordt voorzien
- De problemen kunnen voorkomen wanneer de indexen van kolommen om afhangen worden gelaten vallen.
- De indexen kunnen niet noodzakelijk worden toegevoegd als de gegevens in de lijst niet een weerspiegeling van de beperkingen vormen die door de verandering worden opgelegd.
3. DE LIJST VAN DE DALING
De LIJST van de DALING your_table_name;
DE LIJST VAN DE DALING ALS YOUR_TABLE_NAME BESTAAT;
Verwerpen van lijsten is zo gemakkelijk zoals verwijzend naar de lijst u wilt verwijderen en het zeggen van dalingslijst. Zorg ervoor u toestemmingen hebt om de lijst te laten vallen of het niet dat kan gemakkelijk gaan. Sommige SQL gegevensbestanden steunen ALS syntaxisbetekenis bestaat dat het geen fout zal geven als de lijst niet bestaat en u probeert om het te verwijderen, maar als het dan het wordt verwijderd bestaat. Zo ook als u verwijdert lijsten die gebiedsdelen op hen d.w.z. buitenlandse sleutels toen hebben kunnen zij niet dat snel gaan.
4. TUSSENVOEGSEL IN
Normaal, moet het punt van al uw SQL gegevensbestandvaardigheden met gegevens werken. Er zijn vele verklaringen die de bevolking van gegevens toelaten, maar het meest meestal gebruikt zou de tussenvoegselverklaring zijn. Dit doet precies wat impliceert het, neemt het rijen van gegevens in de lijst op. Er zijn drie belangrijke varianten. De eerste variatie specificeert de kolommen de gegevens waarin, met inbegrip van hun orde zullen worden opgenomen en andere de gegevens specificeert die in die kolommen zullen gaan.
TUSSENVOEGSEL IN your_table_name (first_column_name, another_column_name,…. )
WAARDEN (first_value, second_value,…. )
Een andere methode om de op te nemen gegevens te isoleren is door naar gegevens te verwijzen reeds bevat binnen het gegevensbestand. Dit gebruikt een normale uitgezochte verklaring zoals hieronder bepaald:
TUSSENVOEGSEL IN your_table_name (col_name1, col_name2,…. ) SELECTEER…
De definitieve methode is een verklaring te gebruiken die de waarde plaatst van elke kolom die aan een andere moet worden veranderd taxeert het gebruiken van een gelijkentaak. Ik zou niet adviseren gebruikend deze methode.
Nota te nemen van dingen:
- Sommige SQL gegevensbestanden staan de toevoeging van veelvoudige rijen in de uitvoering van één verklaring toe.
- Het opnemen van gegevens wordt gecontroleerd door gebiedsdelen, controles en verhoudingen en als de gegevens deze controles toen ontbreken kunnen de fouten voortvloeien.
- Zorg ervoor de gegevens in het type zijn dat door het kolomtype wordt bepaald.
- Niet moeten alle kolommen noodzakelijk worden bevolkt
- Er zijn vele functies die de vorm van de gegevens kunnen manipuleren.
- Het gegeven moet in een formaat zijn dat in het correcte gegevenstype kan worden omgezet - de dingen zoals `23 ′ kunnen verschillend worden geïnterpreteerd dan 23
- De omgekeerde komma's binnen de gegevens kunnen toevoegingsproblemen geven en er zijn functies die dit kunnen behandelen.
- Bevestig altijd om het even welke gegevens die uit onbetrouwbare bronnen (d.w.z. gebruikers) komen
- Als de gebieden van AutoIncrement of van de Identiteit niet dan worden gespecificeerd zullen zij over het algemeen aan de hoogste waarde in de lijst in gebreke blijven en zullen toevoegen.
- Merk op dat de omzettingsfuncties ook kunnen moeten worden gebruikt als het selecteren uit kolommen in een gegevensbestand die niet het zelfde als hun bestemming zijn.
- De kolommen kunnen in een verschillende orde worden geselecteerd dan zij ook in de bestemmingslijst - niet al behoefte verschijnen om worden gespecificeerd.
- De gegevens kunnen van de input worden veranderd alvorens wordt opgenomen, gebruikend functies inherent aan sql hiervoor.
- U kunt parameters over het algemeen gebruiken om waarden in lijsten op te nemen.
5. UPDATE
De UPDATE your_table_name PLAATSTE first_column = value1, second_column = value2,…. WAAR criteriaExists
De kolommen van gegevens kunnen informatie bevatten die onjuist is of moet worden gewijzigd. Het mechanisme dat SQL geeft u is de updateverklaring. Typisch zal dit slechts het wijzigen van de gegevens in één lijst impliceren, zelfs als andere lijsten voor criteria worden gebruikt. Zal hierboven de geroepen lijst your_table_name bijwerken en zal de waarde in de eerste kolom gelijk aan „value1“ en second_column aan value2 toewijzen waar er specifieke criteria worden uitgewerkt (die in waar hieronder) zijn. Als er geen criteria toen zijn wordt elke rij bijgewerkt.
Nota te nemen van dingen:
- De grenzen kunnen zo slechts een bepaald aantal rijen worden toegepast wordt uitgevoerd
- Bij andere lijsten kunnen zich in aansluiten waar voorwaarde
- Het is over het algemeen geen goed idee aan alias de lijsten in de updateverklaring.
- De waarde moet niet worden bevestigd en kan naar een manipulatie van de huidige of verschillende kolommen of de constanten verwijzen.
- Niet moeten alle kolommen door de update worden uitgevoerd.
6. SCHRAP
SCHRAP VAN your_table_name WAAR criteriaExists
Het verwijderen van rijen uit lijsten wordt bereikt gebruikend de schrappingsverklaring. Dit is zo eenvoudig zoals identificeert de lijst en de criteria de rijen zouden moeten samenkomen en dan specificerend dat u wilt schrappen, hierboven gebruikend een verklaring gelijkend op. De criteria wordt hieronder verklaard.
Nota te nemen van dingen:
- De grenzen kunnen worden toegepast specificerend een maximumaantal te verwijderen rijen
- De schrappingen kunnen problemen hebben die naar andere rijen binnen de zelfde lijst verwijzen en aangezien dergelijke tijdelijke lijsten kunnen moeten worden gebruikt.
- De schrappingen kunnen normaal één lijst in een tijd (zelfs als een andere voor criteriadoeleinden verbonden is) slechts uitvoeren
- De schrapping kan problemen hebben als zij buitenlandse zeer belangrijke gebiedsdelen verwijderen die op met andere lijsten worden vertrouwd.
Â
7. SELECTEER
Â
Een normale uitgezochte verklaring zal gelijkaardig aan het volgende lijken
SELECTEER definition_for_First_column als fc, t1.second_column,…. VAN tableName als t1 WAAR criteria_exists
Â
Selecteer identifys eenvoudig de gegevens die over de kolommen moeten worden getoond. Merk op dat dit meer dan eens in een vraag kan verschijnen als u een ingebedde vraag (subvraag) of als deel van een kolomdefinitie (als het slechts één kolom en één rij) terugkeert of als deel van van (het gebruiken van de vraag als het was een lijst) of in waar voorwaarde hebt (gebruikend het om een reeks criteria te bewijzen of te weerleggen)
Nota te nemen van dingen:
- Vaak voor komen de fouten omdat er niet één gegevensdefinitie tussen elk (behalve laatste) is
- Sommige gegevensbestanden hebben een 256 of 1024 kolomgrens
- Het VERSCHILLENDE sleutelwoord na uitgezocht zal slechts unieke rijen geven (de gehele rij moet uniek zijn)
- De GROEP LANGS aan het eind van de verklaring kan uitvoeren wat in uitgezocht kan worden getoond
- De kolommen moeten niet van lijsten zijn, kunnen zij constanten zijn
- De kolommen kunnen wiskunde tussen constanten ook vertegenwoordigen
- De kolommen kunnen door functies worden overgegaan
- Het is geen goede praktijk om veelvoudige kolommen met de zelfde naam te hebben
- De kolommen kunnen zijn aliased door een woord te gebruiken om het een naam na een ruimte te geven nadat de kolomdefinitie d.w.z. (tableName.t1 als field1 of door tablename.t2 xxx te doen) die tot twee kolommen draaide field1 (1st voorbeeld) en xxx als tweede voorbeeld zou leiden
- Tablename noodzakelijk te hoeven niet worden gebruikt om een gebied te richten, op voorwaarde dat de gebiedsnaam aan dat lijst of subquery uniek is
- Er vergt noodzakelijk geen a van of waar criteria afhankelijk van het gegevensbestand
Â
8. VAN
 VAN table_name
 VAN (subquery)
 Dit wordt normaal gezien waar een verklaring informatie betreffende een lijst of een reeks gegevens vereist. In eerste instanties kunt u slechts dit met betrekking tot bepaalde lijsten, in geavanceerdere scenario's willen gebruiken u uit een ingebedde vraag kunt selecteren. Dit is onder het meest ongecompliceerd - waar fundamenteel alles na van of een lijst, mening of iets moet zijn die als een lijst of een mening (heeft d.w.z. rijen en kolommen) verschijnen
Nota te nemen van dingen:
- Er kunnen veelvoudige lijsten of subqueries in van definitie zijn
- De lijsten of subqueries kunnen voornamen zijn d.w.z. VAN table_name zoals t1 zou betekenen waar t1 referenced was voorzag het die lijst van verwijzingen
- De zelfde lijst of subquery kan inbegrepen veelvoudige tijden zijn en elk wordt onafhankelijk behandeld
- Alles vermeld als deel van van clausule zal de vraag beïnvloeden (zelfs als het niet specifiek) wordt gericht aangezien er het toetreden tussen elk van deze gegevensreeksen zijn.
9. WAAR
 Doorgaans wilt u niet elk stuk gegevens in een gegevensbestand zien. Het beperken van wat is teruggekeerd, gebaseerd op criteria is het gehele punt van waar sleutelwoord.
Waar in wezen verklaringen die als hun Engelse equivalenten worden gelezen. Dusdanig dat voor elke rij - het gegevensbestand vraagt, doet het toepassen van deze ware verklaringsterugkeer, als zo dan de rij toon - anders niet. U kunt hebben of verklaringen en gebruikt complexe logica maar elk waar de verklaring onderaan deze vereenvoudiging kookt.
Voorbeelden zoals:
WAAR t1.currency = „AUD“
WAAR t1.field1 > t2.field3
WAAR (t1.field1 t2.field3) = (t2.field2 * t2.field7)
WAAR your_table_name.firstName = „Andrew“ of your_table_name.firstName = „Becky“
WAAR your_table_name. Geslacht = „Mannetje“ en your_table_name.age tussen 18 en 25
 Als u deze verklaringen kunt lezen schijnen zij om steek te houden. De eerste zal slechts waarden terugkeren die in Australische Dollars zijn en de tweede slechts rijen zal tonen waar een bepaald gebied groter is dan een andere. Om het even welk van deze verklaringen moeten aan waar evalueren om rijen terug te keren.Â
Nota te nemen van dingen:
-  Er zijn vele functies die kunnen worden gebruikt om aan waar of vals in te evalueren waar voorwaarde - tekens zoals > >= < <=/\! = in () ( ) tussen % en veel meer kan worden gebruikt - als u onzeker bent en zij in zijn waar de voorwaarde dan kijkt omhoog wat zij betekenen, voor de verklaring om te werken zullen zij altijd gebruikt worden op een manier die of ware of vals kan geven nadat zij worden geëvalueerd.
- Sommige gegevensbestanden sluiten zich aan bij lijsten in hun waar de voorwaarden en anderen niet.
- Het is mogelijk om verklaringen te hebben die nooit waar d.w.z. WAAR 1 zullen terugkeren! = zal 1 altijd vals zijn aangezien 1 nooit niet gelijk aan 1 (sommige gegevensbestanden gebruiken <> voor niet evenaart) gaat zijn
- De sub Vragen kunnen op controle zijn teruggekomen als een bepaalde waarde doet of niet binnen die subvraag bestaat
- De fouten kunnen voorkomen als u probeert om waarden te vergelijken die niet van het zelfde type zijn d.w.z. „1“ aan 1 in vele gegevensbestanden ongelijk is aangezien de eerste het karakter is en de tweede de waarde is
- Waar de voorwaarden normaal gebruikend BOMDAS d.w.z. worden geëvalueerda verdelen de Steunen van Multiply toevoegen en aftrekken.
- Waar de verklaringen de gril kunnen gebruiken die waar en vals aangezien aantallen in sommige gegevensbestanden worden behandeld - d.w.z. vals kan = 0 en waar is een ander aantal
- De voorwaardelijke logica kan worden gebruikt om voorwaarden te evalueren - d.w.z. iif, als en gevalverklaringen
Â
Conclusie:
Het begrip van deze verklaringen is belangrijk. Er zijn vele nuancen en subtiliteit die niet door dit inleidende document werden behandeld. Als u één of meerdere details wilt die in meer diepte worden onderzocht, gelieve me te contacteren en ik zal een andere post richtend uw zorgen schrijven.
SQL was iets ik haatte wanneer eerst lerend het, tegenwoordig ik zijn mogelijkheden denk en het gebruik ontzagwekkend is.
Als u van deze post hield gelieve te becommentariëren hieronder, het met vrienden of op sociale netwerken te delen en aan mijn Voer RSS in te teken
%DIGG%Â Â





































Als Sysadmin, is frequentste SQL bevel I gebruik TOELAGE hoewel het strikt geen zuivere SQL is. Dit wordt dicht gevolgd door de STATUS van de SLAAF van de CONTROLE en door CREATE GEGEVENSBESTAND, de LIJST van de CONTROLE en de LIJST van de REPARATIE niet-zo-dicht gevolgd.
Natuurlijk, wanneer ik negen programmeer vermeldt u bent degenen I gebruik.
Het ding is, zou mijn baan zonder de bevelen een harder zijn die ik heb vermeld. (Goed… behalve CREATE GEGEVENSBESTAND. Het is vrij gemakkelijk om een nieuw gegevensbestand manueel te creëren.)
Dave,
Ik ga akkoord, zijn die zeer gemeenschappelijk CREËREN ook GEBRUIKER zijn een andere die zeer algemeen wordt gebruikt zoals de reserveverklaringen zijn. Als iemand wie beide DBA rollen heeft gedaan en de bouwvragen (programmeur) er is een groot verschil tussen wat u van belang acht afhankelijk van wat u doet. Over het algemeen zou ik nadenken het belangrijkste ding over gegevensbestanden tot de gegevens moet kunnen toegang hebben en als zulke ik deze post met dat in mening schreef. Ik denk ik de hoogste administratieve sleutelwoorden en hoe te om hen voor zij zal schrijven te gebruiken die meer betrokken zijn bij de verrichting van het gegevensbestand, eerder dan de toegang tot van wat het bevat.