Wat je nodig hebt om sql. SQL-query's die gegevens wijzigen. Hoogtepunten bij het leren van Sql

Van de auteur: Ben je een theepot genoemd? Nou, dit is op te lossen! Elke samovar was ooit een theepot! Of was elke professional ooit een samovar? Nee, er is weer iets mis! Al met al is MySQL voor beginners.

Waarom dummies MySQL nodig hebben

Als je serieus je leven gaat verbinden met internet, dan kom je bij de allereerste stappen in het "web" dit DBMS tegen. MySQL kan gerust het "all Internet" databasebeheersysteem worden genoemd. Geen enkele min of meer serieuze bron kan zonder, het is aanwezig in het beheerderspaneel van elke hosting. En vooral populair CMS en zelfs "zelfgemaakte" motoren werden gebouwd met haar deelname.

Over het algemeen kun je niet zonder dit platform. Maar om het te bestuderen heb je ook nodig de juiste aanpak, de juiste tools, en vooral verlangen en geduld. Ik hoop dat je veel van de laatste hebt. En wees voorbereid op het feit dat je hersenen gaan koken, en stoom uit je hoofd zal tuimelen, zoals uit een echte theepot

Maar MySQL is alleen zo moeilijk voor dummies als je het verkeerd begint te leren. We zullen zo'n fout niet maken en we zullen vanaf het begin kennis maken met deze technologie.

Basisconcepten

Laten we eerst de basisconcepten doornemen die we in dit bericht zullen noemen:

Database (DB) is de belangrijkste samenstellende eenheid van het DBMS. De database bevat tabellen die bestaan ​​uit kolommen en records (rijen). Cellen gevormd op de kruising bevatten gestructureerde gegevens van een bepaald type.

DBMS (databasebeheersysteem) - het geheel van alles softwaremodules voor databasebeheer.

SQL is een gestructureerde querytaal, met behulp waarvan de ontwikkelaar "communiceert" met de kern (server) van het DBMS. Zoals elke programmeertaal, SQL heeft zijn eigen syntaxis, reeks opdrachten en operators, ondersteunde gegevenstypen.

Ik denk om te beginnen theoretische kennis genoeg voor ons. We zullen de ontbrekende gaten in theorie met de praktijk "schilderen". Nu hoeft u alleen nog de juiste softwaretool te kiezen.

Het juiste gereedschap vinden

Na vrij veel te hebben "gerommeld" in het hele assortiment MySQL-shells voor beginners, realiseerde ik me dat deze gewoon niet bestaan. Alles softwareproducten om het DBMS te beheren, is de aanwezigheid vereist van al geïnstalleerde server DB. Over het algemeen besloot ik nogmaals om de "scooter" niet opnieuw uit te vinden en koos ik voor het binnenlandse Denwer-pakket. Je kunt het downloaden op de officiële website.

Het bevat al alle componenten van het DBMS, waardoor een beginner onmiddellijk na een eenvoudige en duidelijke installatie ga aan de slag met een praktische kennismaking met MySQL. Daarnaast bevat Denwer nog een aantal tools die nodig zijn voor een beginnende ontwikkelaar: lokale server, PHP.

De eerste stappen

Ik zal het installatieproces van de "gentlemen's" -set niet beschrijven, omdat daar alles automatisch gebeurt. Na het starten van de installatie, heb alleen tijd gewenste toetsen oogsten. Precies wat je nodig hebt in de dummy-versie van MySQL.

Wanneer het installatieproces voorbij is, start u de lokale server, wacht een paar seconden. Typ dan in adresbalk browser localhost.

Op de pagina "Hoera, het werkt!" volg een van de links in de afbeelding. Vervolgens wordt u naar phpMyAdmin geleid - een shell voor databasebeheer.

Als u op de link http://downloads.mysql.com/docs/world.sql.zip klikt, downloadt u een voorbeeldtestdatabase van de officiële MySQL-website. Ga opnieuw naar phpMyAdmin, ga in het hoofdmenu bovenaan naar het tabblad "Importeren". Stel in het venster "Importeren naar huidig" in het eerste gedeelte ("Bestand om te importeren") de waarde "Bladeren op uw computer" in.

Selecteer in het verkennervenster het archief met de gedownloade voorbeelddatabase. Vergeet niet op "Ok" te klikken onderaan het hoofdvenster.

Ik raad je aan om het nog niet te veranderen. gespecificeerde waarden parameters. Dit kan leiden tot een onjuiste weergave van de gegevens van de geïmporteerde bron. Als phpMyAdmin een foutmelding geeft dat het het databasecompressiealgoritme niet kan herkennen, pak het dan uit en herhaal het hele importproces vanaf het begin.

Als alles goed is gegaan, dan verschijnt bovenaan de programmamelding dat de import is gelukt, en links in de DB-lijst staat er nog een (woord).

Laten we de structuur van binnenuit bekijken, zodat u zich beter kunt voorstellen waar u mee te maken krijgt.

Klik op de naam van MySQL Database for Beginners. Een lijst met tabellen waaruit het bestaat, wordt eronder weergegeven. Klik op een van hen. Ga dan naar item topmenu"Structuur". in het algemeen werkgebied de structuur van de tabel wordt weergegeven: namen van alle kolommen, gegevenstypen en alle attributen.

Query's - gestructureerde query's naar de database. waarom precies? programmeer cursus? Ondanks het feit dat veel "literalisten" zullen beweren dat SQL dat niet is, maar zoektaal, Ik ben van mening dat cursussen over zijn studie kunnen en moeten worden toegeschreven aan programmeercursussen. Noem ze ten eerste geen cursussen voor het schrijven van vragen, aangezien dit kan worden verward met cursussen voor beginnende ambtenaren of officieren van justitie. Ten tweede is het werken met databases er zo nauw mee verweven dat het gebrek aan kennis van SQL-vaardigheden de reikwijdte van deze of gene programmeur enorm beperkt. En ten derde, gestructureerde queries (niet per se naar databases) zijn niet langer op de benaderingen van de grenzen van programmeertalen - ze zijn er al overheen gestapt en technologie kan hier als voorbeeld dienen.

Alle voorbeelden zijn opgebouwd rond query's op drie tabellen,


met daarin de volgende informatie:

  • D_STAFF- een lijst van medewerkers van het bedrijf;

    • S_NAME - volledige naam
    • S_POSITION - positie (referentieboek);
    • S_EXPERIENCE - werkervaring (gehele aantal jaren);
    • S_CHIEF_ID - een superieure werknemer van het bedrijf (de relatie "baas" - "ondergeschikte");
    • S_COMMENTS is een opmerking.


  • D_PROFIE- een lijst met gebruikersprofielen, die volgens de legende wordt gebruikt op het grondgebied van de onderneming in kwestie en helpt bij het automatiseren van sommige van haar bedrijfsprocessen. Dit systeem kan zowel een binnenlandse ontwikkeling "1C - Enterprise" zijn als een systeem gebaseerd op: software pakket SAP R / 3, wat het meest is heldere vertegenwoordiger van deze klasse software Buitenland;

    • XD_IID - Unieke identificatie van het record;
    • P_NAME - profiel (rol) naam;
    • P_COMMENTS is een notitie.


  • D_STAFF_PROFILE- een tabel die bedrijfsmedewerkers (D_STAFF) koppelt aan systeemgebruikersprofielen (D_PROFILE). Elk item in deze tabel is een link die bepaalt of de werknemer kan inloggen met alle rechten en machtigingen van het voor hem geselecteerde profiel. Elke werknemer kan meerdere profielen hebben die hem zijn toegestaan, en elk profiel kan aan meerdere verschillende werknemers worden gekoppeld. De tabel D_STAFF_PROFILE definieert dus een veel-op-veel-relatie.

Een kort overzicht van de syntaxis van de betreffende SQL-query's

Gegevens bijwerken of opdracht UPDATE

UPDATE Commando Doel - Update bestaande records in de opgegeven tabel. We geven aan waar en wat we willen wijzigen en na het trefwoord WHERE stellen we de criteria voor het selecteren van de bijgewerkte records. In de update-opdracht kunt u, net als in andere SQL-query's, subquery's gebruiken: u kunt bijvoorbeeld als de waarde die aan een veld is toegewezen, het resultaat definiëren van een subquery die slechts één kolom en één rij retourneert.

UPDATE SET (=) of UPDATE SET (= (SELECTEER VAN WAAR))

Gegevens toevoegen of opdracht INSERT

Nieuwe records toevoegen aan de opgegeven tabel. Ook hier niets ingewikkelds. We geven een tabel, een lijst met velden en een lijst met waarden aan die aan deze velden zijn toegevoegd. Wat kan geven? SQL gebruiken subquery is ook gemakkelijk te raden - de geselecteerde kopiëren van met SELECT gegevensarray naar de opgegeven tabel (in door komma's gescheiden velden). Uiteraard moeten het aantal en type kolommen in de SELECT-query overeenkomen met het aantal en type velden in de tabel waarin de invoeging is gemaakt.

INSERT INTO [()] VALUES () of INSERT INTO [()] (SELECTEER VANAF WAAR)

Gegevens verwijderen of opdracht DELETE

Het verwijderen van rijen uit één tabel of uit meerdere tabellen tegelijk, waarvan de rijen zijn verbonden door voorwaarden. Ook hier is alles duidelijk. We geven aan uit welke tabel we gegevens verwijderen, en in het WHERE-gedeelte selecteren we de verwijderde gegevens. De tweede versie van de SQL-query die de DELETE-instructie gebruikt, toont de algemene syntaxis voor het verwijderen van records uit meerdere tabellen tegelijk. In de selectievoorwaarden (in het WHERE-gedeelte) kun je ook gebruik maken van subquery's.

VERWIJDEREN VAN of VERWIJDEREN VAN

Als alles min of meer duidelijk is, maken we kennis met of en beginnen we aan het leerproces zelf.

    Uitvoering eenvoudigste SQL vragen met behulp van SELECT-opdrachten... Definieer eenvoudige en complexe criteria voor het selecteren van records met behulp van de WHERE-component. Sollicitatie TUSSEN operators en zoals. Gebouw hiërarchische zoekopdracht met behulp van tabel- en veldaliassen.

Structured Query Language ( gestructureerde taal query's) of SQL is een declaratieve programmeertaal voor gebruik in quasi-relationele databases. Veel van originele kenmerken SQL is gebruikt voor tupelberekening, maar de nieuwste SQL-extensies omvatten steeds meer relationele algebra.
SQL is oorspronkelijk gemaakt door IBM, maar veel leveranciers hebben hun eigen dialecten ontwikkeld. Het werd als norm aangenomen door het American National Standards Institute (ANSI) in 1986 en ISO in 1987. In de taalstandaard SQL-programmering ANSI heeft verklaard dat de officiële uitspraak van SQL "es que el" is. Veel van de databasespecialisten gebruikten echter een "slang"-uitspraak voor "Sequel", die de oorspronkelijke naam van de taal, Sequel, weerspiegelt, die later werd gewijzigd vanwege een conflict. handelsmerken en namen van IBM. Programmeren voor beginners.
SQL programmeertaal werd herzien in 1992 en deze versie staat bekend als SQL-92 in. Daarna werd 1999 opnieuw herzien om SQL: 1999 (AKA SQL3) te worden. Programmeren voor Dummies. SQL 1999 ondersteunt objecten die voorheen niet werden ondersteund in andere versies, maar het was pas eind 2001 dat slechts enkele databasebeheersystemen SQL-implementaties ondersteunden: 1999.
SQL, hoewel gedefinieerd als ANSI en ISO, heeft veel variaties en uitbreidingen, waarvan de meeste hun eigen kenmerken hebben, zoals de PL / SQL-implementatie van Oracle Corporation of de Transact-SQL-implementatie van Sybase en Microsoft, die de basisprincipes van programmeren kan verwarren. Het is ook niet ongebruikelijk dat commerciële implementaties ondersteuning weglaten voor de belangrijkste kenmerken van de standaard, zoals datatypes als datum en tijd, en sommige daarvan de voorkeur geven. eigen versie... Als gevolg hiervan kunnen query's in de SQL-programmeertaal zelden worden overgedragen tussen verschillende systemen databases zonder noemenswaardige wijzigingen. De meeste mensen op het gebied van databases zijn van mening dat dit gebrek aan compatibiliteit opzettelijk is om ervoor te zorgen dat elke ontwikkelaar eigen systeem databasebeheer en koppel de klant aan een specifieke database.
Zoals de naam al doet vermoeden, is de SQL-programmeertaal ontworpen voor specifieke, beperkte doeleinden - query's voor gegevens in relationele basis gegevens. Als zodanig is het een set programmeertaalinstructies voor het maken van gegevensmonsters, in plaats van een proceduretaal zoals C of BASIC, die zijn ontworpen om een ​​veel breder scala aan problemen op te lossen. Taaluitbreidingen zoals "PL / SQL" zijn ontworpen om deze beperking aan te pakken door procedurele elementen voor SQL toe te voegen met behoud van de voordelen van SQL. Een andere benadering is om inline-opdrachten in SQL-query's toe te staan procedurele taal programmeren en communiceren met de database. Bijvoorbeeld ondersteuning van Oracle en anderen Java-taal in een database, terwijl u met PostgreSQL functies in Perl, Tcl of C kunt schrijven.
Een grapje over SQL: "SQL is noch gestructureerd, noch een taal." De grap is dat SQL geen Turing-taal is. ...

Selecteer * van T
C1 C2
1 een
2 B
C1 C2
1 een
2 B
Selecteer C1 uit T
C1
1
2
C1 C2
1 een
2 B
Selecteer * uit T waarbij C1 = 1
C1 C2
1 een

Gegeven een tabel T, zal de Select * from T-query alle elementen van alle rijen in de tabel weergeven.
Van dezelfde tabel zal de Select C1 from T-query de items uit kolom C1 van alle rijen in de tabel weergeven.
Uit dezelfde tabel geeft de query Select * from T waar C1 = 1 alle elementen van alle rijen weer waar de waarde van kolom C1 "1" is.

SQL-trefwoorden

SQL-woorden zijn onderverdeeld in een aantal groepen.

De eerste is Taal voor gegevensmanipulatie of DML(taal voor gegevensbeheer). DML is een subset van de taal die wordt gebruikt om databases te doorzoeken, gegevens toe te voegen, bij te werken en te verwijderen.

  • SELECT is een van de meest gebruikte DML-commando's en stelt de gebruiker in staat om een ​​zoekopdracht op te geven als een beschrijving gewenste resultaat als set. De query specificeert niet hoe de resultaten moeten worden gelokaliseerd - het vertalen van de query in een vorm die in de database kan worden uitgevoerd, is de taak van het databasesysteem, meer specifiek de query-optimizer.
  • INSERT wordt gebruikt om rijen (formele set) toe te voegen aan een bestaande tabel.
  • UPDATE wordt gebruikt om gegevenswaarden in een bestaande rij in een tabel te wijzigen.
  • DELETE definitie bestaande lijnen van tafel te halen.

Van drie andere trefwoorden kan worden gezegd dat ze in de DML-groep vallen:

  • BEGIN WORK (of START TRANSACTION, afhankelijk van het dialect van SQL) kan worden gebruikt om het begin te markeren van een databasetransactie die ofwel alles ofwel helemaal niets voltooit.
  • COMMIT stelt vast dat alle gegevens veranderen nadat de bewerkingen zijn opgeslagen.
  • ROLLBACK specificeert dat alle gegevenswijzigingen sinds de laatste vastlegging of terugdraaiing moeten worden vernietigd, tot het punt dat als een "terugdraaiing" in de database werd vastgelegd.

COMMIT en ROLLBACK worden gebruikt op gebieden zoals transactiecontrole en vergrendeling. Beide instructies beëindigen alle huidige transacties (sets van bewerkingen op de database) en geven alle vergrendelingen vrij bij het wijzigen van gegevens in tabellen. De aan- of afwezigheid van BEGIN WORK of een vergelijkbare instructie hangt af van de specifieke SQL-implementatie.

De tweede groep trefwoorden behoort tot de groep Data Definition Language of DDL (Data Definition Language). DDL stelt de gebruiker in staat om nieuwe tabellen en gerelateerde items te definiëren. De meeste commerciële bases SQL-gegevens hebben hun eigen extensies in DDL die controle geven over niet-standaard, maar meestal vitale elementen van een bepaald systeem.
De belangrijkste punten van DDL zijn de commando's maken en verwijderen.

  • CREATE definieert de objecten (zoals tabellen) die in de database moeten worden gemaakt.
  • DROP bepaalt welke bestaande objecten in de database worden verwijderd, meestal permanent.
  • Sommige databasesystemen ondersteunen ook het ALTER-commando, waarmee de gebruiker kan veranderen bestaande faciliteit anders - zo kunt u bijvoorbeeld kolommen toevoegen aan een bestaande tabel.

De derde groep SQL-sleutelwoorden is: Data Control Language of DCL (Data Control Language). DCL is verantwoordelijk voor de toegangsrechten tot gegevens en stelt de gebruiker in staat te bepalen wie toegang heeft om de gegevens in de database te bekijken of te manipuleren. Er zijn hier twee belangrijke trefwoorden:

  • GRANT - Hiermee kan de gebruiker bewerkingen uitvoeren
  • REVOKE - verwijdert of beperkt het vermogen van de gebruiker om bewerkingen uit te voeren.

Databasesystemen die gebruikmaken van SQL

  • InterBase
  • MySQL
  • Orakel
  • PostgreSQL
  • SQL-server

Hoe word je een professional in website-ontwikkeling en begin je geld te verdienen? Voordelige videocursussen met een inleidende introductie.

Ik presenteer onder uw aandacht een gratis vertaling van het artikel SQL voor beginners

Steeds meer moderne webapplicaties werken samen met databases, meestal met behulp van de taal SQL... Gelukkig voor ons is deze taal vrij eenvoudig te leren. In dit artikel zullen we beginnen met het leren van de basisprincipes van SQL-query's en hoe deze interageren met de database. MySQL.

Wat je nodig hebt

SQL (Structured Query Language) is een taal die is ontworpen om te communiceren met relationele systemen databasebeheer (DBMS), zoals: MySQL, Oracle, Sqlite en anderen. Om de SQL-query's uit dit artikel uit te voeren, neem ik aan dat je hebt geïnstalleerd MySQL... Ik raad ook aan om phpMijnAdmin als een visuele weergavetool voor MySQL.

De volgende applicaties zullen het installeren gemakkelijk maken: MySQL en phpMijnAdmin naar jouw computer:

  • WAMP voor Windows
  • MAMP voor Mac

Laten we beginnen met het uitvoeren van query's in opdrachtregel. WAMP bevat het al in de console MySQL... Voor MAMP, moet u dit misschien lezen.

DATABASE MAKEN: Database maken

Ons allereerste verzoek. We zullen een database maken om mee te werken.

Open eerst de console MySQL en inloggen. Voor WAMP, wordt standaard gebruikt leeg wachtwoord... Voor MAMP het wachtwoord moet "root" zijn.

Typ na het inloggen dit verzoek en klik op Binnenkomen:

MAAK DATABASE my_first_db;

Merk op dat een puntkomma (;) aan het einde van de query wordt toegevoegd, net als aan het einde van een regel in uw code.

Ook trefwoorden MAAK DATABASE niet hoofdlettergevoelig zoals alle zoekwoorden in SQL... Maar we zullen ze in hoofdletters schrijven voor een betere leesbaarheid.

Opmerking: tekenset en sortering

Als u de standaardtekenset en sorteervolgorde wilt instellen, gebruikt u een vergelijkbare query:

MAAK DATABASE my_first_db STANDAARD KARAKTER SET utf8 SAMENSTELLEN utf8_general_ci;

U vindt een lijst met ondersteunde tekensets en sorteringen op MySQL.

TOON DATABASES: Lijst van alle databases

Deze query wordt gebruikt om alle databases weer te geven.

DROP DATABASE: Verwijdert een database

Met deze vraag kunt u verwijderen bestaande basis gegevens.

Wees voorzichtig met deze zoekopdracht, want er worden geen waarschuwingen weergegeven. Zodra u tabellen en gegevens in uw database heeft, verwijdert de query ze allemaal in een oogwenk.

Technisch gezien is dit geen verzoek. Het is een "operator" en vereist geen puntkomma aan het einde.

Hij informeert MySQL dat u de standaarddatabase moet selecteren en ermee moet werken tot het einde van de sessie. We zijn nu klaar om tabellen en de rest in deze database te maken.

Wat is een databasetabel?

U kunt een tabel in een database zien als een gewone tabel of als een csv-bestand met gestructureerde gegevens.

Net als in dit voorbeeld heeft de tabel rijnamen en gegevenskolommen. Met behulp van SQL-query's kunnen we deze tabel maken. Ook kunnen wij gegevens toevoegen, lezen, wijzigen en verwijderen.

MAAK TABEL: Tabel maken

Met deze query kunnen we een tabel in de database maken. Sorry, de documentatie voor MySQL niet erg vriendelijk voor nieuwe gebruikers. De structuur van deze query kan erg complex zijn, maar we beginnen met een eenvoudige.

De volgende query maakt een tabel met twee kolommen.

CREATE TABLE gebruikers (gebruikersnaam VARCHAR (20), create_date DATE);

Houd er rekening mee dat we een query op meerdere regels kunnen schrijven en gebruiken Tab voor inspringen.

De eerste regel is eenvoudig. We maken een tabel met de naam gebruikers... Verder worden tussen haakjes de kolommen van de tabel weergegeven, gescheiden door komma's. Elke kolomnaam wordt bijvoorbeeld gevolgd door een gegevenstype VARCHAR of DATUM.

VARCHAR (20) betekent kolom snaartype en mag niet meer dan 20 tekens lang zijn. DATUM- gegevenstype bedoeld voor het opslaan van datums in het formaat: "JJJJ-MM-DD".

Hoofdsleutel

Voordat we deze query uitvoeren, moeten we een kolom invoegen gebruikersnaam, wat de PRIMAIRE SLEUTEL zal zijn. Zonder al te veel in detail te treden, kunt u een primaire sleutel zien als een manier om elke rij gegevens in een tabel te herkennen.

Het verzoek wordt als volgt:

CREATE TABLE gebruikers (user_id INT AUTO_INCREMENT PRIMARY KEY, gebruikersnaam VARCHAR (20), create_date DATE);

INT- 32x bit integer type(numeriek). AUTO_INCREMENT maakt automatisch nieuw nummer id elke keer dat een rij met gegevens wordt toegevoegd. Het is niet nodig, maar het is er wel handiger mee.

Deze kolom mag geen geheel getal zijn, hoewel dit het meest voorkomende gegevenstype is. De primaire sleutelkolom is optioneel, maar het wordt aanbevolen om deze te gebruiken om de prestaties en architectuur van uw database te verbeteren.

Laten we de query uitvoeren:

TOON TABELLEN: Lijst van alle tabellen

Met de query kunt u een lijst krijgen van alle tabellen in huidige basis gegevens.

UITLEG: Toon tabelstructuur

Gebruik deze query om de structuur van een bestaande tabel te bekijken.

Hierdoor worden de velden (kolommen) en hun eigenschappen getoond.

DROP TABLE: Laat een tafel vallen

Ook DROP DATABANKEN, verwijdert deze query de tabel en de inhoud ervan zonder enige waarschuwing.

WIJZIG TABEL: Een tabel wijzigen

Zo'n query kan complex zijn omdat er meerdere wijzigingen in een tabel kunnen worden aangebracht. Laten we eens kijken naar enkele eenvoudige voorbeelden.

Dankzij de leesbaarheid SQL, dit verzoek spreekt voor zich.

Verwijderen is net zo eenvoudig. Gebruik de zoekopdracht met de nodige voorzichtigheid, gegevens worden zonder waarschuwing verwijderd.

Laten we het veld opnieuw toevoegen e-mail, later zal het nog nodig zijn:

ALTER TABLE gebruikers VOEG e-mail toe VARCHAR (100) NA gebruikersnaam;

Soms moet u de eigenschappen van een kolom wijzigen, u hoeft deze niet te verwijderen en opnieuw te maken.

Dit verzoek hernoemt het veld gebruikersnaam v gebruikersnaam en verandert het type van VARCHAR (20) Aan VARCHAR (30)... Dergelijke wijzigingen hebben geen invloed op de gegevens in de tabel.

INSERT: Gegevens toevoegen aan een tabel

Laten we records aan de tabel toevoegen met behulp van query's.

Zoals je kunt zien, WAARDEN () bevat een door komma's gescheiden lijst met waarden. Stringwaarden staan ​​tussen enkele aanhalingstekens. De waarden moeten in de volgorde staan ​​die is opgegeven toen de tabel werd gemaakt.

Merk op dat de eerste waarde is NUL voor hoofdsleutel, waarvan we het veld hebben genoemd gebruikersnaam... Allemaal omdat het veld is gemarkeerd als AUTO_INCREMENT en id wordt automatisch gegenereerd. De eerste rij met gegevens heeft een id van 1. De volgende rij die moet worden toegevoegd, is 2, enzovoort.

Alternatieve syntaxis

Hier is nog een syntaxis voor het invoegen van strings.

Deze keer gebruikten we trefwoord SET in plaats van WAARDEN... Laten we een paar dingen opmerken:

  • De kolom kan worden weggelaten. We hebben bijvoorbeeld geen waarde aan het veld toegewezen gebruikersnaam omdat het is gemarkeerd als AUTO_INCREMENT... Als u geen waarde toewijst aan een veld met het type VARCHAR, dan zal het standaard de waarde van een lege tekenreeks aannemen (tenzij een andere standaardwaarde is opgegeven bij het maken van de tabel).
  • Naar elke kolom kan op naam worden verwezen. Daarom kunnen de velden in elke volgorde staan, in tegenstelling tot de vorige syntaxis.

Alternatieve syntaxis nummer 2

Hier is nog een voorbeeld.

Zoals eerder kunt u naar de velden verwijzen op naam, ze kunnen in willekeurige volgorde staan.

Gebruik deze query om de id van de laatst ingevoegde rij te krijgen.

NU ()

Het is tijd om u te laten zien hoe u functies gebruikt MySQL bij verzoeken.

Functie NU () geeft terug huidige datum... Gebruik het voor automatisch toevoegen huidige datum in een veld van type DATUM.

Houd er rekening mee dat we een waarschuwing hebben ontvangen van: MySQL maar dit is niet zo belangrijk. De reden is dat de functie NU () geeft daadwerkelijk tijdinformatie terug.

We hebben een veld gemaakt create_date die alleen een datum kan bevatten en geen tijd, dus de gegevens zijn ingekort. In plaats van NU () we zouden kunnen gebruiken CURDAAT () die alleen de huidige datum retourneert, maar het eindresultaat zou hetzelfde zijn.

SELECT: Gegevens ophalen uit een tabel

Het is duidelijk dat de gegevens die we hebben geschreven nutteloos zijn totdat we ze kunnen lezen. Een verzoek komt te hulp KIES.

Het eenvoudigste voorbeeld van het gebruik van een verzoek KIES gegevens uit een tabel lezen:

De asterisk (*) betekent dat we alle kolommen in de tabel willen hebben. Als je alleen bepaalde kolommen nodig hebt, gebruik dan zoiets als dit:

Vaker wel dan niet, willen we alleen bepaalde rijen krijgen, niet allemaal. Laten we bijvoorbeeld E-mailadres gebruiker nettuts.

Het is vergelijkbaar met een IF-conditie. WHERE stelt u in staat een voorwaarde in een query in te stellen en het gewenste resultaat te krijgen.

Het enkelvoudige teken (=) wordt gebruikt voor de gelijkheidsvoorwaarde, niet het dubbele (==), dat u waarschijnlijk gebruikt bij het programmeren.

U kunt ook andere voorwaarden gebruiken:

EN en OF worden gebruikt om voorwaarden te combineren:

Opmerking, numerieke waarden hoeven niet geciteerd te worden.

IN ()

Wordt gebruikt om te vergelijken met meerdere waarden.

LEUK VINDEN

Hiermee kunt u een sjabloon voor de zoekopdracht instellen.

Het procentteken (%) wordt gebruikt om het patroon te specificeren.

ORDER BY-clausule

Gebruik deze voorwaarde als u wilt dat het resultaat gesorteerd wordt geretourneerd:

De standaardvolgorde is: ASC(Oplopend). Toevoegen DESC om in omgekeerde volgorde te sorteren.

LIMIET ... OFFSET ...

U kunt het aantal geretourneerde rijen beperken.

LIMIET 2 neemt de eerste twee regels. LIMIET 1 OFFSET 2 neemt één regel na de eerste twee. LIMIET 2, 1 betekent hetzelfde, alleen het eerste getal is de offset en het tweede beperkt het aantal regels.

UPDATE: gegevens in een tabel bijwerken

Deze query wordt gebruikt om gegevens in een tabel bij te werken.

In de meeste gevallen gebruikt in combinatie met WAAR om specifieke regels bij te werken. Als de voorwaarde WAAR niet opgegeven, worden de wijzigingen toegepast op alle rijen.

Om veranderlijke strings te beperken, kunt u gebruik maken van BEGRENZING.

VERWIJDEREN: gegevens uit een tabel verwijderen

Ook , deze zoekopdracht wordt vaak gebruikt in combinatie met de voorwaarde WAAR.

TRUNCATE TAFEL

Gebruik een query als deze om inhoud uit een tabel te verwijderen:

VERWIJDEREN VAN gebruikers;

Gebruik voor betere prestaties .

Reset ook de veldteller AUTO_INCREMENT, dus nieuw toegevoegde rijen hebben een id gelijk aan 1. Bij gebruik van dit zal niet gebeuren en de teller zal blijven groeien.

Ontsnappende tekenreekswaarden en speciale woorden

Tekenreekswaarden

Sommige karakters moeten worden ontsnapt of er kunnen problemen zijn.

De backslash (\) wordt gebruikt om te ontsnappen.

Dit is erg belangrijk om veiligheidsredenen. Alle gebruikersgegevens moeten worden geëscaped voordat ze naar de database worden geschreven. V PHP gebruik de functie mysql_real_escape_string () of voorbereide instructies.

speciale woorden

sinds in MySQL veel Gereserveerde woorden, zoals KIES of Zet kolom- en tabelnamen tussen aanhalingstekens om verwarring te voorkomen. Bovendien moet u geen gewone aanhalingstekens gebruiken, maar backticks (`).

Laten we zeggen dat u om de een of andere reden een kolom met de naam . wilt toevoegen :

Conclusie

Bedankt voor het lezen van het artikel. Ik hoop dat ik je die taal heb kunnen laten zien SQL zeer functioneel en gemakkelijk te leren.