Her vil jeg ikke vise de mest almindelige forespørgsler som INSERT, UPDATE, DELETE osv. Jeg vil vise dig nogle andre one-step up-forespørgsler, som jeg føler, at vi krævede disse under udviklingen. Generelt opretter vi fælles funktioner og klasser på én gang, og vi bruger disse funktioner og klasser mange gange efter behov. Men i nogle tilfælde er du nødt til at køre mysql-forespørgsler kraftigt i databasen, så disse er nogle mysql-forespørgsler, som kræves ofte.
1. Indsæt og opdater forespørgsel
Denne forespørgsel er meget nyttig til at forhindre duplikatindtastning.
Hvis du angiver ON DUPLICATE KEY UPDATE, og der indsættes en række, der ville forårsage en dubletværdi i et UNIKT indeks eller PRIMÆR NØGLE, udfører MySQL en OPDATERING af den gamle række . For eksempel, hvis kolonne a er erklæret som UNIQUE og indeholder værdien 1, har følgende to udsagn lignende effekt:
INSERT INTO table (a,b,c) VALUES (1,2,3) ON DUPLICATE KEY UPDATE c=c+1; UPDATE table SET c=c+1 WHERE a=1; |
INSERT INTO employee (id,name,lastname,dept) values('key that already exists', 'new name','new last name','Accounts') on duplicate KEY UPDATE name='default name', lastname='default last name'; |
2. Opret og slip begrænsninger
Ofte har du brug for at tilføje/redigere/slette begrænsninger på en tabel. Du kan gøre det ved at bruge følgende forespørgsler:
Tilføj en primær nøgle:
ALTER TABLE 'TABLE_NAME' DROP PRIMARY KEY, ADD PRIMARY KEY ('COLUMN_NAME'); |
Slip en primær nøgle:
ALTER TABLE 'TABLE_NAME' DROP PRIMARY KEY; |
Slip en unik nøgle:
ALTER TABLE companies DROP INDEX COLUMN_NAME; |
3. Bestil efter, have klausuler
Ordre efter bruges til at arrangere data efter en specifik kolonne og derefter have bruges til at filtrere det resultatsæt. Disse er virkelig nyttige, når du har brug for nogle specifikke oplysninger fra en stor database.
SELECT * FROM TABLE_NAME group_by DEPARTMENT HAVING salary > 25000; |
4. Ændre og opdater kolonner i en tabel
Vi ændrer ofte egenskaben for tabelkolonnen, så ved hjælp af disse forespørgsler kan du nemt tilføje/redigere/slette eksisterende tabelkolonneegenskaber.
Tilføj en kolonne
ALTER TABLE 'employee' ADD COLUMN department VARCHAR(100); |
Rediger en kolonne
ALTER TABLE 'employee' MODIFY COLUMN department VARCHAR(50); |
Omdøb en kolonne
ALTER TABLE 'employee' CHANGE department dept VARCHAR(50); |
Slip en kolonne
ALTER TABLE 'employee' DROP COLUMN department; |
5. Oprettelse af dump/backup af din database
Du kan indstille nedenstående forespørgsel på cronjob til automatisk at sikkerhedskopiere din database. bare brug nedenstående nyttige forespørgsel, og det vil tage backup af din mysql database regelmæssige baser.
mysqldump –h localhost –u username –ppassword databasename > backup_file_datatime.SQL |