MySQL
![]() | |
Udvikler(e) | MySQL AB |
---|---|
Udgivet | 23. maj 1995 |
Stabil version | 8.3.0 (16 januari 2024) |
Skrevet i | C, C++ |
Operativsystem | Linux Mac OS X Windows |
Tilgængelig på | Engelsk |
Type | RDBMS |
Licens | GPL v2 / Ophavsret EULA |
Hjemmeside | MySQL.com |
MySQL er en flertrådet SQL-databaseserver som understøtter mange samtidige brugere. SQL (Structured Query Language) er det mest populære databasesprog i dag. MySQL er et klient/server-program der består af en server (mysqld) og mange forskellige klientprogrammer.
MySQL er bygget op omkring forskellige databaser på en server, hvor hver enkelt bruger typisk har adgang til en database. I MySQL, der er en relationel database, kan man oprette tabeller.
MySQL er tilgængelig under licensen GNU General Public License (GPL).
Forskellige browser-baserede programmer som phpMyAdmin og MySQL ABs egen Query Browser tilbyder en brugergrænseflade, der gør det nemmere at opdatere MySQL uden kendskab til SQL. MySQL laver deres eget administrations modul til denne database, MySQL Workbench. Det fungerer ligesom de browser-baserede programmer men er installeret på en computer og forbinder til de databaser man ønsker.
Datatyper
[redigér | rediger kildetekst]MySQL understøtter følgende datatyper:
Varchar: Bruges til både tal, bogstaver og enkle tegn, en linje.
Char: Bruges udelukkende til bogstaver, en linje.
TinyText: Bruges til små resume'er, linieskift tilladt samt alle former for tegn og bogstaver.
Text: Bruges til mellemlange tekster, linieskift tilladt samt alle former for tegn og bogstaver.
Longtext: Bruges til lange tekster, linieskift tilladt samt alle former for tegn og bogstaver.
Decimal: Bruges udelukkende til decimaltal.
Date: Bruges udelukkende til datoer i formatet dd-mm-år.
INT-familien:
INT: Bruges udelukkende til heltal uden mellemrum, linieskift og lign.
SmallINT: Som INT, men bruges til små tal.
MediumINT: Som INT, men bruges til mellemstore tal.
BigINT: Som INT, men bruges til store tal.
Tabel Motorer
[redigér | rediger kildetekst]MySQL understøtter flere tabelmotorer, også kendt som lagringsmotorer, som bestemmer, hvordan dataene gemmes, indekseres, og håndteres i databasen. Hver motor har sine egne fordele og anvendelsesområder:
- InnoDB:
- InnoDB er standardmotoren i MySQL og understøtter ACID-kompatible transaktioner, hvilket gør den velegnet til applikationer, hvor dataintegritet er afgørende. Den understøtter fremmednøgler (foreign keys) og låser rækker for at forhindre datakonflikter i flerkørende miljøer.
- MyISAM:
- MyISAM var tidligere standardmotoren i MySQL og er kendt for sin hurtige læsehastighed. Den understøtter ikke transaktioner eller fremmednøgler, men er effektiv til hurtige søgninger og fuldtekstsøgning. MyISAM er velegnet til applikationer, hvor læseydelse er vigtigere end dataintegritet. MyISAM understøtter ikke delete on cascade
- Memory:
- Memory-motoren gemmer data i hukommelsen i stedet for på disken, hvilket gør den ekstremt hurtig til læse- og skriveoperationer. Denne motor er bedst egnet til midlertidige data eller data, der kan genoprettes efter en server-genstart, da dataene går tabt, når serveren lukkes ned.
- CSV:
- CSV-motoren gemmer data i kommaseparerede tekstfiler (CSV-format), hvilket gør det nemt at importere og eksportere data til og fra andre systemer. Denne motor er nyttig til simple datasæt og interaktioner med eksterne værktøjer, men har begrænset funktionalitet sammenlignet med andre motorer.
- Archive:
- Archive-motoren er designet til lagring af store mængder arkiverede data med minimal lagringsplads. Den understøtter kun indsættelsesoperationer (INSERT) og ikke opdateringer (UPDATE) eller sletninger (DELETE), hvilket gør den ideel til logs og historiske data.
- Federated:
- Federated-motoren giver mulighed for at forbinde til og udføre forespørgsler på tabeller i eksterne MySQL-databaser. Dette kan være nyttigt i distribuerede systemer, hvor data er fordelt på flere servere, men det har visse begrænsninger, herunder manglende understøttelse af transaktioner.
- NDB (Clustered):
- NDB-motoren bruges i MySQL Cluster, hvor data replikeres på tværs af flere noder for høj tilgængelighed og redundans. Den er velegnet til miljøer med høje krav til oppetid og skalering, som f.eks. telekommunikation og realtidssystemer.
- MERGE:
- MERGE-motoren giver mulighed for at kombinere flere MyISAM-tabeller til en enkelt logisk enhed. Dette kan være nyttigt til at styre store mængder data ved at opdele dem i mindre tabeller, som stadig kan tilgås som én stor tabel.
![]() | Der er ingen kildehenvisninger i denne artikel, hvilket er et problem. (august 2024) (Lær hvordan og hvornår man kan fjerne denne skabelonbesked) |
![]() | Spire Denne artikel om software og programmering er en spire som bør udbygges. Du er velkommen til at hjælpe Wikipedia ved at udvide den. |