Red de conocimiento informático - Aprendizaje de código fuente - ¿Qué tipo de campos se deben definir en la base de datos para almacenar caracteres chinos y varios símbolos?

¿Qué tipo de campos se deben definir en la base de datos para almacenar caracteres chinos y varios símbolos?

Debe definirse como un tipo de carácter, generalmente se pueden usar char, varchar, nchar, nvarchar, etc., según las necesidades reales.

Estos tipos de comparaciones:

CHAR

CHAR es conveniente para almacenar datos de longitud fija y el índice en el campo CHAR es eficiente. si define char (10), no importa si los datos almacenados alcanzan los 10 bytes, ocuparán 10 bytes de espacio.

VARCHAR

Almacena datos de longitud variable, pero la eficiencia del almacenamiento no es tan alta como CHAR. Si el valor de un campo puede no tener una longitud fija, solo sabemos que lo es. Es poco probable que supere los 10 caracteres. Entonces es más rentable definirlo como VARCHAR(10). La longitud real de un tipo VARCHAR es la longitud real de su valor + 1. ¿Por qué "+1"? ¿Por qué "+1"? Este byte se utiliza para guardar la longitud real utilizada.

En términos de espacio, es apropiado usar varchar; en términos de eficiencia, es apropiado usar char. La clave es hacer concesiones basadas en la situación real.

NCHAR, NVARCHAR

Estos dos tienen más "N" en sus nombres que los tres primeros. En comparación con char y varchar, nchar y nvarchar pueden almacenar hasta 4000 caracteres, que pueden ser ingleses o chinos, mientras que char y varchar pueden almacenar hasta 8000 caracteres ingleses y 4000 chinos. Se puede ver que cuando se utilizan los tipos de datos nchar y nvarchar, no hay necesidad de preocuparse por si los caracteres de entrada son inglés o chino, lo cual es más conveniente, pero hay cierta pérdida en la cantidad de inglés almacenado.

Entonces, en términos generales, si contiene caracteres chinos, use nchar/nvarchar, si es inglés puro y números, use char/varchar.