Bedingungen und Attribute einer Spalte (column) auslesen? (ohne "Managment Studio" wie...: PRIMARY KEY, AUTO_INCREMENT, NOT NULL, UNIQUE, UNSIGNED)

RicoAlexanderSchulz

Aktiver Benutzer
Beiträge
31
Hallo Ihr Lieben,

gibt es eine Möglichkeit, Bedingungen und Attribute einer Spalte (column) per Befehl auszulesen?
Um zu erfahren ob "PRIMARY KEY, AUTO_INCREMENT, NOT NULL, UNIQUE, UNSIGNED, VARCHAR(), INT, etc." in dieser Spalte aktiv enthalten ist oder eben nicht.

Wenn es geht, als eingegebenen "abgefragten" Befehl, statt über das Programm!

Der Grund, mein Programm zeigt zwar kürzel Attribute an wie PK, AI, INT etc., aber als Beispiel nicht: UNIQUE oder UNSIGNED, daher meine Frage, ob es auch ein Befehl zum auslesen der Bedingungen und Attribute einer Spalte gibt.



Bild dient nur als Beispiel:

2024-10-30_150432.webp

Danke euch :-)
 
Werbung:
.. aber als Beispiel nicht: UNIQUE oder UNSIGNED, daher meine Frage, ob es auch ein Befehl zum auslesen der Bedingungen und Attribute einer Spalte gibt.
Also so pauschal geht das sicher nicht. Es müsste ein smartes Programm sein, das ableiten kann, ob aus einem Attribut wie bspw. "Primary Key" (PK) auch das Attribut "Unique" folgt oder welche Detailattribute aus einem bestimmten Datentyp folgen..
Allgemein kannst Du die Views unter "information_schema" nutzen, speziell "columns". Wenn Du spezifischere Angaben benötigst, musst Du die proprietären Repository Quellen von MSSQL Server anzapfen, die sicherlich mehr Informationen zu den Spalten liefern.
Code:
SELECT * FROM INFORMATION_SCHEMA.COLUMNS;
Hier gibt's Spezialisten für MSSQL, die da sicher mehr zu sagen können.
 
Werbung:
Meine Lösung war, was ich gesucht habe:

SQL:
SHOW CREATE TABLE lieferant;

bzw.

SQL:
SHOW CREATE TABLE [tabelle]


SHOW CREATE TABLE [tabelle] listet die gesuchten Werte/Attribute auf:

"lieferant" ist (in meinem Fall) die Tabelle mit den enthaltenen Spalten, (wie in meinem fall "lieferant_id"), die dann die Attribute der Spalten auflistet.


---

Habe es auf einer anderen Tabelle "sortiment" getestet, UNIQUE hinzugefügt:

SQL:
ALTER TABLE sortiment MODIFY sortiment_artikelnummer INT NOT NULL UNIQUE;

Geprüft mit:

SQL:
SHOW CREATE TABLE sortiment;


SQL:
sortiment, CREATE TABLE `sortiment` (
  `sortiment_id` int NOT NULL AUTO_INCREMENT,
  `sortiment_artikelnummer` int NOT NULL,
  `sortiment_produkttyp` varchar(100) DEFAULT NULL,
  `sortiment_preis` decimal(8,4) DEFAULT NULL,
  `sortiment_anzahl` int DEFAULT NULL,
  `sortiment_versandkosten` decimal(3,2) DEFAULT NULL,
  PRIMARY KEY (`sortiment_id`),
  UNIQUE KEY `sortiment_artikelnummer` (`sortiment_artikelnummer`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci

Alle Attribute sind hier über - SHOW CREATE TABLE [tabelle] - zu ermitteln, genau was ich gesucht habe.
Nebenbei im Buch selbst gefunden, im Internet nicht.
Sollte ich es oben mit einem falschen Fachbegriff benannt haben, würde ich mich gern über das Feedback freuen um es korrigieren zu können.


Danke an alle
Nebenhinweis:
Ich lerne gerade in einer Testdatenbank MySQL
 
Zurück
Oben