Lorsque vous travaillez avec des bases de données, il est souvent utile de savoir quelles colonnes de vos tables autorisent les valeurs NULL et lesquelles ne le permettent pas. Vous pouvez facilement récupérer ces informations à l'aide de requêtes SQL sur le schéma d'information de votre base de données. Ci-dessous, je vais vous montrer comment procéder pour MySQL et PostgreSQL.
Pour obtenir une liste de colonnes et leurs contraintes NULL pour une table spécifique dans MySQL, vous pouvez interroger la table INFORMATION_SCHEMA.COLUMNS. Voici la requête que vous pouvez utiliser :
SELECT COLUMN_NAME AS 'Column Name', IS_NULLABLE AS 'Is Nullable' FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'your_database_name' AND TABLE_NAME = 'your_table_name' ORDER BY ORDINAL_POSITION;
Explication :
De même, dans PostgreSQL, vous pouvez interroger la table information_schema.columns pour récupérer ces informations. Voici la requête équivalente :
SELECT column_name AS "Column Name", is_nullable AS "Is Nullable" FROM information_schema.columns WHERE table_schema = 'public' AND table_name = 'your_table_name' ORDER BY ordinal_position;
Explication :
Supposons que vous ayez une table nommée users dans une base de données nommée my_database. Voici comment interroger les contraintes :
SELECT COLUMN_NAME AS 'Column Name', IS_NULLABLE AS 'Is Nullable' FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'my_database' AND TABLE_NAME = 'users' ORDER BY ORDINAL_POSITION;
SELECT column_name AS "Column Name", is_nullable AS "Is Nullable" FROM information_schema.columns WHERE table_schema = 'public' AND table_name = 'users' ORDER BY ordinal_position;
Nom de la colonne | Est Nullable |
---|---|
id | NON |
nom | NON |
OUI | |
créé_à | NON |
mis à jour_à | OUI |
À l'aide de ces requêtes, vous pouvez facilement vérifier les contraintes NULL de vos colonnes de table, vous aidant ainsi à mieux comprendre le schéma et les exigences en matière de données.
以上是Affichage des colonnes de table et des contraintes NULL dans SQL的详细内容。更多信息请关注PHP中文网其他相关文章!