MySQL
MySQL | |||
---|---|---|---|
Utvikler(e) | MySQL AB, Oracle, Sun Microsystems | ||
Utgitt | 2001 | ||
Nyeste versjon | 8.0.38 (1. juli 2024)[1] | ||
Kodelager | https://github.com/mysql/mysql-server | ||
Plattform | X86_64,[2] IA-32,[2] A64,[2] SPARC[2] | ||
Operativsystem | Unix-liknende Microsoft Windows FreeBSD Solaris Linux macOS | ||
Skrevet i | C++,[3] C[4] | ||
Type | Relasjonsdatabase | ||
Lisens | GPLv2,[5] proprietær lisens[6] | ||
Nettsted | www.mysql.com (en) | ||
Opprydning: Denne artikkelen trenger en opprydning for å oppfylle Wikipedias kvalitetskrav. Du kan hjelpe Wikipedia ved å forbedre den. |
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 [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 | rediger kilde]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 | 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.
Bruksområder
[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.
Kritikk av MySQL
[rediger | rediger kilde]Det har blitt foreslått at informasjonen i denne artikkelens «kritikk»- eller «kontroverser»-avsnitt blir flettet inn andre avsnitt slik at man får en mer objektiv fremstilling av temaet. (Diskuter) |
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 | rediger kilde]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 | rediger kilde]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 | rediger kilde]Referanser
[rediger | rediger kilde]- ^ «Changes in MySQL 8.0.38 (2024-07-01, General Availability)». 1. juli 2024. Besøkt 1. juli 2024.
- ^ a b c d «Supported Platforms: MySQL Database».
- ^ «The mysql Open Source Project on Open Hub: Languages Page». Open Hub (på engelsk). Besøkt 28. juli 2018.
- ^ «The mysql Open Source Project on Open Hub: Languages Page». Open Hub. Besøkt 19. juli 2018.
- ^ «COPYING». Besøkt 27. september 2017.
- ^ https://www.mysql.com/about/legal/licensing/oem/; besøksdato: 27. september 2017.
- ^ «MySQL blir stadig mer norsk». Arkivert fra originalen 13. november 2015. Besøkt 12. november 2015.
Eksterne lenker
[rediger | rediger kilde]- (en) Offisielt nettsted
- (en) MySQL – kategori av bilder, video eller lyd på Commons
- MySQL på Facebook
- (en) MySQL på GitHub
- MySQL på YouTube
- MySQL på X (tidligere Twitter)
- 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.