programmera.net -> mysqldba -> normal     för utskrift      info@programmera.net

Databaser i MySQL

1. Vad menas med databas?
2. Varför ska man ha flera databaser?
3. Visa och Byta databas
4. Skapa/Radera en databas

1. Vad menas med databas?

I MySQL gör man skillnad på begreppen server och databas. En server är en installation av mjukvaran MySQL på en dator. En databas är i MySQL en behållare för tabeller. När du ska skapa en tabell måste du ha någon databas att lägga den i. När man skapar en databas i MySQL skapas en ny katalog under /usr/local/mysql/data/. Sedan när man skapar en tabell läggs en ny fil till i den nya katalogen.

2. Varför ska man ha flera databaser?

Om man är flera personer som använder servern kan det vara bra att separera tabellerna så att man inte riskerar att radera någon annans tabell. Då skapar root helt enkelt en databas till varje användare. Det kan också vara så att man vill separera olika applikationers tabeller i olika databaser, för att förhindra namnkrockar på tabellnamnen. Om man skapar var sin databas för två applikationer kan båda ha en tabell som heter USER utan att de blandas ihop.

3. Visa och Byta databas

För att se vilka databaser som finns skriver du SHOW DATABASES:
[olle@dev1]$ /usr/local/mysql/bin/mysql -u root -p
mysql> SHOW DATABASES;
+----------+
| Database |
+----------+
| mysql    |
| test     |
+----------+
För att gå in i en databas skriver du USE:
mysql> USE mysql;
Om man vill veta vilken databas man står i skriver man såhär:
mysql> SELECT DATABASE();
+------------+
| database() |
+------------+
| mysql      |
+------------+

4. Skapa/Radera en databas

Du skapar en databas på följande sätt:
mysql> CREATE DATABASE olles_db;
mysql> SHOW DATABASES;
+----------+
| Database |
+----------+
| olles_db |
| mysql    |
| test     |
+----------+
Du raderar en databas på följande sätt:
mysql> DROP DATABASE olles_db;
mysql> SHOW DATABASES;
+----------+
| Database |
+----------+
| mysql    |
| test     |
+----------+