1. char类型:固定长度的字符串类型,长度在创建表时指定,并且不可更改,如果存储的字符串长度小于指定长度,MySQL会在其后面补空格。
2. varchar类型:可变长度的字符串类型,长度在创建表时指定,并且可随时更改,如果存储的字符串长度小于指定长度,MySQL不会补空格。
二、char和varchar类型的排序
1. char类型排序:
char类型排序是按照字符编码的顺序进行排序的,例如:
amen;
nn中存储的是中文字符,则按照字符编码的顺序进行排序。
2. varchar类型排序:
varchar类型排序也是按照字符编码的顺序进行排序的,但是由于varchar类型的长度是可变的,因此需要进行额外的处理。
ameneral_ci;
eraln中的所有字符转换成小写字母,并将所有的重音符号、变音符号和其他特殊符号忽略掉,在这种情况下,varchar类型的排序就可以正常进行了。
三、char和varchar类型排序的应用场景
1. char类型排序适用于存储固定长度的字符串,例如身份证号码、电话号码等,由于这些字符串长度是固定的,因此可以使用char类型进行存储和排序。
2. varchar类型排序适用于存储可变长度的字符串,例如用户名、密码等,由于这些字符串长度是可变的,因此需要使用varchar类型进行存储和排序。
char和varchar类型的排序方法虽然都是按照字符编码的顺序进行排序的,但是由于其长度的不同,需要进行不同的处理。在实际应用中,应根据具体情况选择合适的数据类型进行存储和排序。