Avertissement: Je suis très nouveau pour SQL et les bases de données en général. J'ai besoin de créer un champ qui va stocker un maximum de 32 caractères de données textuelles. Est-ce que "VARCHAR(32)
" signifie que j'ai exactement 32 caractères pour mes données? Ai-je besoin de réserver un caractère supplémentaire pour la terminaison nulle? J'ai effectué un test simple et il semble que ce soit un tampon WYSIWYG. Cependant, je voulais obtenir une réponse concrète de la part de gens qui savent réellement ce qu'ils font. J'ai un arrière-plan C [++], donc cette question soulève des cloches d'alarme dans ma tête.[My] SQL VARCHAR Taille et Null-Termination
Répondre
Oui, vous avez 32 caractères disponibles. SQL ne se préoccupe pas des chaînes terminées nulles comme le font certains langages de programmation.
Votre taille de spécification VARCHAR est la taille maximale de vos données, dans ce cas, 32 caractères. Cependant, VARCHARS est un champ dynamique, donc le stockage physique réel utilisé est seulement la taille de vos données, plus un ou deux octets.
Si vous mettez une chaîne de 10 caractères dans un VARCHAR (32), le stockage physique sera de 11 ou 12 octets (le manuel vous dira la formule exacte). Cependant, lorsque MySQL traite des ensembles de résultats (c'est-à-dire après un SELECT), 32 octets seront alloués en mémoire pour ce champ pour chaque enregistrement.
+1 pour l'explication de l'allocation de mémoire lors de la sélection du champ. Je me demande comment cela fonctionne avec les champs TEXT et BLOB ... – Leonel
- 1. SQL Server VARCHAR (10)
- 2. Critique My DB Design
- 3. T-SQL question de comparaison varchar
- 4. SQL Update varchar à date erreur
- 5. Convertir varchar à uniqueIdentifier dans SQL Server
- 6. Index varchar sur MS SQL Server 2005
- 7. séquence nextval pour varchar en sql?
- 8. Aidez-moi à comprendre MY`Using` et `DataContext`
- 9. convertir HashBytes VARCHAR
- 10. Oracle - Nombre de varchar
- 11. Le moyen le plus simple d'importer des données de My Sql vers Sql Server
- 12. procédure stockée retourne varchar
- 13. avec linq à sql dbml, comment obtenir la taille d'un type de données? comme varchar (50), comment obtenir ce 50?
- 14. Utilisation de varchar (MAX) vs TEXT sur SQL Server
- 15. Taille d'un enregistrement unique? SQL
- 16. Tableau et la taille Index dans SQL Server
- 17. SQL Server 2008 Conversion VARCHAR (50) à Uniqueidentifier
- 18. Performance de SQL ORDER BY clause avec VarChar Strings
- 19. Méthode efficace pour interroger un champ Varchar délimité dans SQL
- 20. SQL Server 2000 - Valeur par défaut pour les champs varchar
- 21. Opérateurs arithmétiques contre les données varchar dans le serveur SQL
- 22. Comment convertir le convertisseur SQL (varchar, datefield, 106) en LINQ?
- 23. Analyse de chaîne xml SQL Server dans le champ varchar
- 24. Conversion de varchar en décimal en serveur sql 2008
- 25. SQL générique pour obtenir la valeur maximale tableau données et les noms de colonnes comme varchar
- 26. Comment trier une colonne VARCHAR dans un serveur SQL contenant des mots et des nombres?
- 27. La taille déclarée d'un champ varchar a-t-elle un impact sur PostgreSQL?
- 28. varchar vs. mediumtext
- 29. Quelle taille utilisez-vous pour varchar (MAX) dans votre déclaration de paramètres?
- 30. Quels caractères doivent être échappés pour empêcher les injections (My) SQL?
Merci, c'est un soulagement. –