¿Puedo hacer que las columnas de la tabla mysql no tengan mayúsculas?

Soy nuevo en mysql (y sql en general) y estoy tratando de ver si puedo hacer que los datos insertados en una columna en una tabla no sean sensibles a los casos.

Estoy almacenando datos como nombres de estados, nombres de ciudades, etc. Así que quiero tener una restricción única en este tipo de datos y, además, los hace insensibles a mayúsculas y minúsculas, por lo que puedo confiar en la restricción de unicidad.

¿Es compatible mysql con una opción que no distingue entre mayúsculas y minúsculas en la columna durante la creación de la tabla o, alternativamente, al establecer la restricción de unicidad en la columna? ¿Cuál es la forma habitual de lidiar con estos problemas? Apreciaría ideas / sugerencias alternativas para lidiar con esto.

EDITAR: Como se sugirió, COLLATE creo que solo se aplica a las consultas sobre los datos insertados. Pero para realmente aprovechar el contraint de singularidad, quiero tener una restricción de insensibilidad de casos en INSERT. Por ejemplo Quiero que mysql no permita las inserciones de California, California y California, ya que deberían ser las mismas. Pero si entiendo la restricción de unicidad de forma adecuada, tenerla en StateName todavía permitirá las cuatro inserciones anteriores.

Respuestas a la pregunta(2)

Su respuesta a la pregunta