Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Dapatkan Butiran Lajur Jadual SQL Server Termasuk Kekangan dan Jenis Data?

Bagaimanakah Saya Boleh Dapatkan Butiran Lajur Jadual SQL Server Termasuk Kekangan dan Jenis Data?

Susan Sarandon
Lepaskan: 2025-01-01 05:26:10
asal
314 orang telah melayarinya

How Can I Retrieve SQL Server Table Column Details Including Constraints and Data Types?

Mendapatkan Butiran Lajur Jadual dengan Kekangan dan Jenis Data

Apabila berurusan dengan pangkalan data yang besar, menjadi penting untuk mempunyai pemahaman yang komprehensif tentang jadual struktur dan kekangan. Dengan mendapatkan senarai lajur dalam jadual bersama-sama dengan jenis data yang berkaitan, BUKAN NULL kekangan dan maklumat UTAMA UTAMA, anda boleh memperoleh cerapan berharga tentang seni bina data anda.

SQL Server menyediakan beberapa mekanisme untuk mengekstrak butiran tersebut. Pertanyaan mudah boleh mendapatkan semula nama lajur, jenis data dan status kebolehbatalan:

SELECT 
    c.name AS ColumnName,
    t.Name AS DataType,
    c.is_nullable AS IsNull
FROM
    sys.columns c
JOIN 
    sys.types t ON c.user_type_id = t.user_type_id
WHERE
    c.object_id = OBJECT_ID('YourTableName')
Salin selepas log masuk

Mengintegrasikan Maklumat UTAMA UTAMA

Untuk meningkatkan lagi pertanyaan ini, kami boleh menggabungkan Kekangan UTAMA UTAMA. Dengan memanfaatkan jadual sys.index_columns dan sys.indexes, kita boleh menentukan sama ada lajur ditakrifkan sebagai kunci utama:

LEFT OUTER JOIN
    sys.index_columns ic ON ic.object_id = c.object_id AND ic.column_id = c.column_id
LEFT OUTER JOIN
    sys.indexes i ON ic.object_id = i.object_id AND ic.index_id = i.index_id
Salin selepas log masuk

Pertanyaan dan Output Akhir

Menggabungkan coretan kod sebelumnya menghasilkan yang komprehensif berikut pertanyaan:

SELECT
    c.name AS "Column Name",
    t.Name AS "Data Type",
    c.max_length AS "Max Length",
    c.precision,
    c.scale,
    c.is_nullable AS "is Null",
    ISNULL(i.is_primary_key, 0) AS "Primary Key"
FROM
    sys.columns c
INNER JOIN
    sys.types t ON c.user_type_id = t.user_type_id
LEFT OUTER JOIN
    sys.index_columns ic ON ic.object_id = c.object_id AND ic.column_id = c.column_id
LEFT OUTER JOIN
    sys.indexes i ON ic.object_id = i.object_id AND ic.index_id = i.index_id
WHERE
    c.object_id = OBJECT_ID('YourTableName')
Salin selepas log masuk

Melaksanakan pertanyaan ini akan menghasilkan jadual terperinci yang merangkumi lajur berikut:

  • Nama Lajur
  • Jenis Data
  • Panjang Maks (untuk jenis data aksara dan beberapa jenis angka)
  • Ketepatan (untuk angka jenis data)
  • Skala (untuk jenis data berangka)
  • adalah Null (menunjukkan sama ada lajur membenarkan nilai nol)
  • Kunci Utama (menunjukkan sama ada lajur adalah sebahagian daripada kekangan kunci utama)

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Dapatkan Butiran Lajur Jadual SQL Server Termasuk Kekangan dan Jenis Data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan