MySQL

databaseadministrasjonssystem

MySQL (uttalt ˌmaɪˌɛsˌkjuːˈɛl) er et databaseadministrasjonssystem som er lisensiert som åpen kildekode (GPL-lisens) og som kjører på de fleste vanlige operativsystem. MySQL brukes et stort antall 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.

MySQL
Utvikler(e)MySQL AB, Sun Microsystems, Oracle
Utgitt 2001
Nyeste versjon8.3.0 (16. januar 2024)[1]
Kodelagerhttps://github.com/mysql/mysql-server
PlattformX86_64,[2] IA-32,[2] A64,[2] SPARC[2]
OperativsystemLinux Microsoft Windows macOS FreeBSD Solaris Unix-liknende
Skrevet iC++,[3] C[4]
TypeRelasjonsdatabase
LisensGPLv2,[5] proprietær lisens[6]
Nettstedwww.mysql.com (en)

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

Plattformer rediger

MySQL kjører på mange operativsystemer – inkludert AIX, BSDi, FreeBSD, HP-UX, Linux, Mac OS X, NetBSD, Netware, OpenBSD, OS/2 Warp, QNX, SGI IRIX, Solaris, SunOS, SCO OpenServer, SCO UnixWare, Tru64 og mange versjoner av Windows.

Grensesnitt rediger

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.

Bruksområder rediger

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.

Kritikk av MySQL rediger

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.

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.

Eksempel rediger

Lage tabell: CREATE TABLE tabel navn
(
Navn på kolone data_type,
Navn på kolone2 data_type,
Navn på kolone3 data_type,
....
);

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

Hente infomasjon:
SELECT * FROM tabel_navn (WHERE kolone1(ORDER BY kolone2 DESC(LIMIT 0, 10)))

Oppdatere infomasjon:
UPDATE tabel_navn
SET kolone1=info, kolone2=info2,...
WHERE en_kolone=en_info

Slette kolone:
DELETE FROM table_navn
WHERE en_kolone = en_info 

Utfylling:

Lage tabel: CREATE TABLE brukere
(
id int(9) NOT NULL AUTO_INCREMENT,
brukernavn varchar(255) NOT NULL,
passord varchar(255) NOT NULL,
....
);

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

Hente infomasjon:
SELECT * FROM brukere (WHERE id(ORDER BY id DESC(LIMIT 0, 10)))

Oppdatere infomasjon:
UPDATE brukere
SET brukernavn=Tewstern, passord=*****,...
WHERE id=2

Slette kolone:
DELETE FROM brukere
WHERE id = 2 (Resultatet vil bli at bruker id 2 vil bli slettet) 

Der det står Hente infomasjon og i koden stod det ...e (WHERE id(ORDER BY id DESC(LIMIT 0, 10))). Dette betyr at det som står inne parentes kan brukes.

Lisensiering rediger

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

Andre SQL-baserte databasetjenere rediger

Referanser rediger

  1. ^ «Changes in MySQL 8.3.0 (2024-01-16, Innovation Release)». 16. januar 2024. Besøkt 16. januar 2024. 
  2. ^ a b c d «Supported Platforms: MySQL Database». 
  3. ^ «The mysql Open Source Project on Open Hub: Languages Page». Open Hub (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. ^ «MySQL blir stadig mer norsk». Arkivert fra originalen 13. november 2015. Besøkt 12. november 2015. 

Eksterne lenker rediger