PHP-Einfach.de
  • PHP Tutorial
  • MySQL Tutorial
  • Für Fortgeschrittene
  • Webhosting
  • Forum

Tabellen erstellen mit phpMyAdmin

30. Oktober 2018
  1. Home
  2. »
  3. MySQL Tutorial
  4. »
  5. phpMyAdmin
  6. »
  7. Tabellen erstellen mit phpMyAdmin

Im vorherigem Artikel haben wir bereits eine Tabelle für unsere User erstellt. In diesem Artikel werden die Auswahlmöglichkeiten die ihr beim Erstellen einer Tabelle habt nochmal genauer erläutert.

Inhaltsverzeichnis

  • 1 Name
  • 2 Typ
  • 3 Länge
  • 4 Standard
  • 5 Kollation
  • 6 Attribute
  • 7 Null
  • 8 Index
  • 9 A_I (auto increment)
  • 10 Tabellenformat
  • 11 Weitere Einstellungsmöglichkeiten

Name

Für jede Spalte müsst ihr einen Namen spezifizieren. Ihr seid beim Auswählen des Namens recht frei, diese dürfen allerdings keine Leerzeichen enthalten (nutzt stattdessen den Unterstrich _). Ebenso darf keine Zahl am Anfang des Namens stehen. Ein Minus ist ebenfalls problematisch, dort lieber den Unterstrich verwenden.

Auch solltet ihr reservierte Namen vermeiden. Eine Liste findet ihr hier.

Typ

Der Spalten-Typ definiert welche Art von Daten ihr in der Spalte abspeichern möchtet, sind dies beispielsweise Textdaten oder doch Zahlen. Nachfolgend eine Tabelle mit den wichtigsten Spalten-Typen in MySQL. Es gibt noch viele mehr, die aber eher selten genutzt werden.

Typ Beschreibung
TINYINT Kann Zahlen zwischen -128 bis 127, bzw. unsigned 0 bis 255 abspeichern. Oft nützlich im boolean-Werte (true/false) abzuspeichern.
INT Kann Zahlen zwischen -2147483648 bis 2147483647, bzw. unsigned 0 bis 4294967295 abspeichern.
DOUBLE Fließkommazahlen.
VARCHAR Texte zwischen 0 und 65.535 Zeichen (vor MySQL 5.0.3 nur maximal 255 Zeichen).
TEXT Texte bis 65.535 Zeichen (64 Kilobytes). Angabe der Länge entfällt.
LONGTEXT Texte zwischen bis 16 Milliarden Zeichen (4 Gigabytes).
BLOB BLOB (Binary Large Object) zum Speichern von Binärdaten, z.B. Bilder, bis 64 Kilobytes.
LONGBLOB BLOB (Binary Large Object) zum Speichern von Binärdaten, z.B. Bilder, bis 4 Gigabyte.
DATE Abspeichern eines Datums im Format YYYY-MM-DD.
TIME Abspeichern einer Uhrzeit im Format HH:MM:SS.
DATETIME/TIMESTAMP Abspeichern eines Datums und einer Uhrzeit im Format 'YYY-MM-DD HH:MM:SS' (weitere Infos).
ENUM Spalte für enumerations (Auszählungen). Ihr könnt spezifizieren, welche Werte die Spalte nur annehmen darf.

Länge

Spalten könnt ihr eine maximale Länge zuweisen. Im obigen Beispiel darf unsere E-Mail-Adresse nur maximal 250 Zeichen besitzen. Diese Begrenzung kann nützlich sein, damit euch von einem Spammer nicht zu lange Einträge in die Datenbank geschrieben wird, z.B. eine Email-Adresse mit Millionen von Zeichen.

Den Wert für Länge solltet ihr aber auch nicht zu klein Wählen um nicht eure User zu verärgern. Welchen Wert ihr genau wählt ist meistens nicht entscheidend, also wählt einen ausreichend großen Wert.

Standard

Ihr könnt Felder einen Standard-Wert zuweisen. Wenn ihr neue Datensätze erstellt und kein Wert für diese Spalte angegeben wurde, dann wird der entsprechende Standard-Wert gewählt. Falls ihr den Eintrag Wie definiert: auswählt, könnt ihr den Standard-Wert frei bestimmen, für int-Felder z.B. eine beliebige Zahl auswählen oder für varchar/text-Felder einen beliebigen String.

Ebenfalls könnt ihr, sofern ihr später den Hacken bei Null gesetzt habt, noch als Standardwert Null auswählen.

Für DATETIME- und TIMESTAMP-Felder lässt sich ebenfalls als Standardwert CURRENT_TIMESTAMP auswählen. Hierbei wird das aktuelle Datum und die aktuelle Uhrzeit eingetragen, wenn ein neuer Datensatz hinzugefügt wird. Dies ist insbesondere nützlich, um völlig automatisiert zu protokollieren, wann der Datensatz erstellt wurde. Bei manch älteren MySQL-Versionen kann CURRENT_TIMESTAMP nur für eine Spalte der Tabelle ausgewählt werden.

Kollation

Mittels Kollation könnt ihr den Zeichensatz für eine Textspalte auswählen. Diesen Eintrag könnt ihr fast immer leer lassen.

Attribute

Manche Spalten besitzen noch zusätzliche Attribute. Bei int-Spalten könnt ihr z.B. unsigned auswählen. Dadurch können in dieser Spalte keine negativen Werte mehr abgespeichert werden. Bei TIMESTAMP könnt ihr als Attribut on update CURRENT_TIMESTAMP auswählen. Dadurch wird bei jeder Aktualisierung des Datensatz der aktuelle Zeitstempel (Datum+Uhrzeit) in dieses Feld geschrieben.

Null

Null ist, genauso wie in PHP, ein spezieller Wert der einen leeren Eintrag darstellt. Wählt ihr dort die Checkbox, so erlaubt ihr null-Wert in eurer Spalte. Ein null-Wert ist etwas anderes als ein leerer String und ihr könnt damit unterscheiden, ob z.B. ein leerer String "" eingetragen wurde oder überhaupt kein Wert.

Index

Ein Index wird verwendet, um Einträge schneller in der Tabelle zu suchen und zu finden. Es empfiehlt sich für die id stets primary auszuwählen. Im Artikel Privat: Datenbankdesign für Fortgeschrittene gehen wir nochmal genauer auf das Thema index ein und wann es sich empfiehlt einen Index zu setzen. Für kleine Datenbanken mit bis zu 100.000 Einträgen ist es meistens überhaupt kein Problem keine weiteren Indices (außer primary für id) zu setzen.

A_I (auto increment)

Mittels auto increment werden die Werte automatisch hochgezählt. Fast immer setzt man für das id-Feld ein auto increment. So werden die ids dann aufsteigend vergeben, sprich, der erste Eintrag erhält die ID 1, der zweite Eintrag die ID 2 usw.

Tabellenformat

Unterhalb der Einstellungen für die verschiedenen Spalten findet ihr noch die Möglichkeit ein Tabellenformat auszuwählen. Grob gesprochen definiert dies, wie MySQL die Daten auf eurer Festplatte abspeichern soll. Gängig sind zwei Formate: MyISAM und InnoDB. MyISAM ist das ältere Format und bei älteren MySQL-Versionen, vor 5.5, ist dies noch als Standard ausgewählt. InnoDB bietet aber deutlich mehr Funktionen gegenüber MyISAM, deswegen solltet ihr sofern möglich immer InnoDB wählen.

Weitere Einstellungsmöglichkeiten

Dies waren die wichtigsten Einstellungsmöglichkeiten beim Erstellen einer neuen Tabelle. phpMyAdmin zeugt euch (je nach phpMyAdmin- und MySQL-Version) möglicherweise noch ein paar weitere Optionen an, aber die könnt ihr gerne ignorieren.

Autor: Nils Reimers
Zurück: phpMyAdmin
Weiter: Tabellen verwalten mit phpMyAdmin

MySQL Tutorial

  • MySQL installieren und starten
  • phpMyAdmin
    • Tabellen erstellen
    • Tabellen verwalten
  • Verbindung aufbauen
  • Simple Datenabfrage
  • Komplexere Datenabfrage
  • Prepared Statements
  • Daten einfügen
  • Daten aktualisieren
  • Daten löschen
  • Gefundene Einträge zählen
  • DATE-Datenbankspalten
  • Datum- und Zeitfunktionen
  • MySQL Fehlermeldungen
  • Datenbankverbindung schließen
  • JOIN
  • Indizes
  • Normalformen
  • Fremdschlüssel
  • Übersicht SQL-Befehle
  • Crashkurs MySQL
  • Crashkurs MySQLi
  • Crashkurs PDO
Mit freundlicher Unterstützung von:
  • Punkt191 Werbeagentur
  • DGUV V3
  • DGUV 3
  • CasinoAndy Finland
  • Casinopilot24.com
  • Neueonline-Casinos.com
  • Decasinos.de
  • Privatkredit247.com
  • CasinoHEX.at
  • Online Casino Spielautomaten
  • Casinofrog.com
  • parhaatuudetkasinot.com
  • Mr Bet Casino Spiele

Hoster – Geringste Ausfallzeit

  1. webgo Ø 0 Min.
  2. Linevast Ø 2 Min.
  3. netcup Ø 2 Min.
  4. Mittwald Ø 5 Min.
  5. dogado Ø 6 Min.
  6. checkdomain Ø 8 Min.
  7. All-Inkl.com Ø 9 Min.
  8. manitu Ø 10 Min.
  9. bplaced Ø 11 Min.
  10. Host Europe Ø 15 Min.
» Mehr erfahren

Impressum | Datenschutz | Auf PHP-Einfach.de werben

© PHP-Einfach.de 2003 - 2022

Um dich beim Lernen von PHP und MySQL zu unterstützen verwenden wir Cookies. OK Weitere Infos
Privacy & Cookies Policy

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Notwendige
immer aktiv

Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.

Nicht notwendige

Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.