MySQL

MySQL (uttalt ) 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 

 Eksterne lenker 


 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.

Kategori:Databasehåndteringssystem
Kategori:Fri programvare
Kategori:Linux-programmer