Hopp til innhold

MySQL

Fra Wikipedia, den frie encyklopedi
MySQL
Image
Image
Utvikler(e)MySQL AB, Oracle, Sun Microsystems
Utgitt 2001
Nyeste versjon8.0.43 (22. juli 2025)[1]
Kodelagerhttps://github.com/mysql/mysql-server
PlattformX86_64,[2] IA-32,[2] A64,[2] SPARC[2]
OperativsystemUnix-liknende Microsoft Windows FreeBSD Solaris Linux macOS
Skrevet iC++,[3] C[4]
TypeRelasjonsdatabase
LisensGPLv2,[5] proprietær lisens[6]
Nettstedwww.mysql.c (en)

MySQL er et databaseadministrasjonssystem som er lisensiert som åpen kildekode (GPL-lisens) og som kjører på de fleste vanlige operativsystem. MySQL brukes av privatpersoner og bedrifter som et IT-system for å lagre, hente, sortere og filtrere data.

Denne databasetjeneren er veldig mye brukt, og er en vesentlig del av LAMP-systemer, hvor M-en står for nettopp MySQL. Mange webpubliseringssystem som WordPress, Drupal, Joomla, phpBB, og MediaWiki lagrer innhold i MySQL-databaser. Nettsteder som blant annet Facebook, Flickr, MediaWiki, Twitter, og YouTube bruker MySQL for å lagre brukerkontoer.

Selskapet som utviklet MySQL ble i 2008 kjøpt opp av Sun Microsystems,[7] som igjen ble kjøpt opp av Oracle i 2010.[8] Per 2015 vedlikeholdes MySQL av Oracle og utvikles av ca 150 personer verden over hvor 35 sitter i Trondheim.[9] Ved overdragelsen til Oracle ble kodegrunnlaget til MySQL tatt med videre til MariaDB fordi det ble stilt spørsmål om lisensiering av programvaren.

Bruksområder

[rediger | rediger kilde]

MySQL kan kjøres på mange operativsystemer – inkludert Unix-liknende, FreeBSD Linux, Mac OS X, NetBSD, Netware, OpenBSD, QNX, SGI IRIX, SunOS og Windows.

Plattformer

[rediger | rediger kilde]

MySQL er populært for webapplikasjoner som Wikipedia, PHP-Nuke, Wordpress m.fl. Populariteten skyldes først og fremst at MySQL er lett å bruke, gratis, og holder en høy ytelse i forhold til både pris og krav til maskinvare.

Grensesnitt

[rediger | rediger kilde]

De fleste programmeringsspråk kan koble til MySQL-databaser, bl.a. C, C++, Eiffel, Smalltalk, Java, Lisp, Perl, PHP, Python, Ruby, og Tcl; hver av dem bruker et spesifikt API. Et ODBC-grensesnitt (MyODBC) gjør det mulig for alle programmeringsspråk som støtter ODBC-grensesnittet å kommunisere med en MySQL-database. MySQL bruker ANSI C som sitt hovedspråk.

Man kan også kommunisere med en MySQL base via kommandolinje, eller MySQL Workbench som er en GUI applikasjon. Det fins også andre grafiske grensesnitt som LibreOffice, OpenOffice, eller phpMyAdmin som tilbyr administrasjon av databasen uten å måtte kunne programmere.

Kritikk av MySQL

[rediger | rediger kilde]

Tidlige versjoner av MySQL manglet viktige funksjoner som de aller fleste RDBMS-systemene har hatt lenge, og selv den nyeste versjonen mangler fremdeles en del av disse. Dette har fått noen kjente databaseeksperter, som Chris Date og Fabian Pascal til å kritisere MySQL for å ikke være noen RDBMS.[10]

Tidligere fikk også MySQL masse kritikk for mangel på transaksjoner og ACID-kompatibilitet, som er viktig for å sikre integriteten til dataene. I samme kategori får MySQL masse kritikk for hvordan den behandler NULL-verdier, standardverdier og verdier som ikke passer med kolonnetypen den settes inn i.

-- Lage tabell:
CREATE TABLE tabell navn (
    Navn  kolone1 data_type,
    Navn  kolone2 data_type,
    Navn  kolone3 data_type,
....
);

-- Legge til Infomasjon:
INSERT INTO tabell_navn (kolone1, kolone2, kolone3, ...)
VALUES (info1, info2, info3,...);

--  Hente informasjon :
SELECT * FROM tabell_navn
ORDER BY id DESC
LIMIT 10;

-- Oppdatere infomasjon:
UPDATE tabell_navn
SET kolone1=info, kolone2=info2,...
WHERE en_kolone='en_info';

-- Slette en rad:
DELETE FROM tabell_navn 
WHERE en_kolone='en_info';

Utfylling:

[rediger | rediger kilde]
-- Lage tabel:
CREATE TABLE brukere (
    id int(9) NOT NULL AUTO_INCREMENT,
    brukernavn varchar(255) NOT NULL,
    passord varchar(255) NOT NULL,
....
);

-- Legge til informasjon:
INSERT INTO brukere (brukernavn, passord, email,...)
VALUES ('Testern', '*********', 'minepost@gmail.com',...)

--  Hente informasjon:
SELECT * FROM brukere
ORDER BY id DESC
LIMIT 10;

-- Oppdatere informasjon:
UPDATE brukere
SET brukernavn='Tewstern', passord='*****',...
WHERE id=2;

-- Slette en rad:
DELETE FROM brukere
WHERE id=2;
-- ''Resultatet vil bli at bruker med ID 2 vil bli slettet''

Lisensiering

[rediger | rediger kilde]

Både MySQL-serverprogramvare og klientbibliotek er distribuert under en dobbellisens. Brukere kan velge mellom GNU General Public License og en kommersiell lisens.[11]

Andre SQL-baserte databasetjenere

[rediger | rediger kilde]

Referanser

[rediger | rediger kilde]
  1. ^ «Changes in MySQL 8.0.43 (2025-07-22, General Availability)». 22. juli 2025. Besøkt 23. juli 2025. 
  2. ^ a b c d «Supported Platforms: MySQL Database». 
  3. ^ «The mysql Open Source Project on Open Hub: Languages Page». Open Hub (på engelsk). Besøkt 28. juli 2018. 
  4. ^ «The mysql Open Source Project on Open Hub: Languages Page». Open Hub. Besøkt 19. juli 2018. 
  5. ^ «COPYING». Besøkt 27. september 2017. 
  6. ^ https://www.mysql.com/about/legal/licensing/oem/; besøksdato: 27. september 2017.
  7. ^ Brenna, Anders (16. januar 2008). «Sun kjøper MySQL». Digi.no (på norsk). Besøkt 6. mars 2026. 
  8. ^ Jørgenrud, Marius B. (21. april 2009). «- Oracle må beholde MySQL åpent». Digi.no (på norsk). Besøkt 6. mars 2026. «Oracle kjøper opp Sun og dermed får kloa i friprog-databasen MySQL» 
  9. ^ Brombach, Harald (12. november 2015). «MySQL blir stadig mer norsk». Digi.no (på norsk). Besøkt 6. mars 2026. 
  10. ^ «2012 - DATABASE DEBUNKINGS». www.dbdebunk.com. Besøkt 6. mars 2026. «Relational databases ... had poisoned whole generation of programmers thinking (incl. me). With no clue we approached everything through relational prism that we studied in university. MySQL was the only OSS alternative that cut enough corners to make relational DBMS fit the problems we tried to solve. For which the relational paradigm wasn't a good fit anyways.» 
  11. ^ «MySQL Open Source License». www.mysql.com (på engelsk). Besøkt 6. mars 2026. 

Eksterne lenker

[rediger | rediger kilde]