(一个SQL数据库的简单问题)

来源:百度知道 编辑:UC知道 时间:2024/06/23 13:04:13
1 创建一张学生表,包含以下信息,学号,姓名,年龄,性别,家庭住址,联系电话。
Create table stu
(学号 int ,
姓名 varchar(8),
年龄 int,
性别 varchar(4),
家庭地址 varchar(50),
联系电话 int
);
创建姓名,性别,地址的时候用的是varchar,这个与char有什么区别?
比如
姓名 varchar(8),
姓名 char(8),
这两个有什么区别

一、VARCHAR和CHAR的区别:CHAR类型的字段,当内容很少的时候,仍然占用固定宽度的存储空间,而VARCHAR可以节省空间(按照实际内容长度+1分配)

二、一般情况下,对于姓名、性别这样的字段,没有使用VARCHAR的必要,就用CHAR就可以,而对于家庭地址这样的字段,使用VARCHAR可以大大节省存储空间。

三、对于一个表,如果有一个字段是VARCHAR,那么所有的CHAR类型字段,实际上都是按照VARCHAR处理的。

用varchar(8)如果输入的没有8个字符。占用的空间只有你输入的字符宽度大小
而char(8)如果输入的只有5个字符。自动会用空格补到8个字符的大小,这样就会造成你取值的时候出错。一定要加空格才会匹配