**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. 

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. 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
-----------

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
-----------

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
------------

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
----------------

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
--------

```
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
------------

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

Andre SQL-baserte databasetjenere
---------------------------------

* Apache Derby
* Firebird
* IBM DB2
* Oracle
* PostgreSQL
* SQLite

Referanser
----------

1. ↑  «Changes in MySQL 8.1.0 (2023-07-18, Innovation Release)». 18. juli 2023. Besøkt 20. juli 2023.
2. 1 2 3 4  «Supported Platforms: MySQL Database».
3. ↑  ; besøksdato: 27. september 2017.
4. ↑  ; besøksdato: 27. september 2017.
5. ↑  «MySQL blir stadig mer norsk». Arkivert fra originalen 13. november 2015. Besøkt 12. november 2015.

Eksterne lenker
---------------

* (en) Offisielt nettsted Rediger på Wikidata

* (en) MySQL – kategori av bilder, video eller lyd på Commons Rediger på Wikidata
* MySQL Gotchas—Beskrivelse av mange egenskaper som kan fungere på uventede måter
* PHP MySQL Tutorial En innføring om MySQL mot PHP. Eksempler på gjestebøker, kontaktskjema, filopplasting til database, osv.

| * v
* d
* r
Databaser |
| --- |
| 
* Database
* Relasjonsdatabase
* Objektdatabase
* Objektrelasjonell database
* XML
* Databasehåndteringssystem (DBMS)
* Databasemotor
* Datavarehus
* Relasjonsalgebra
* Serialiserbarhet
* Historie
* Nøkler
* Normalisering
* Tabell
* SQL
* NoSQL
* XQuery
* ODBC
* JDBC
* Perl DBI

 |
| Tema innen SQL | 
* Select
* Insert
* Update
* Delete
* Join
* Union
* Create
* Drop
* Utløser
* Visning
* Lagret prosedyre

 |
| Implementasjoner | 
* Apache Derby
* Berkeley DB
* Clipper
* Firebird
* IBM DB2
* Informix
* Ingres
* Microsoft SQL Server
* MySQL
* Oracle
* PostgreSQL
* SQLite
* Visual FoxPro

 |

|  |  |
| --- | --- |
| Oppslagsverk/autoritetsdata | GND **·** NKC
 |