SQL应用:理解varchar与NULL值差异及数据类型管理

需积分: 7 1 下载量 43 浏览量 更新于2024-08-15 收藏 558KB PPT 举报
在SQL应用中,数据类型的选择和管理对于数据库设计至关重要。本文主要关注SQL Server 2008中的常见数据类型,如varchar、char、int、datetime和decimal,以及它们在创建表和表结构变更时的具体用法。 首先,让我们理解varchar类型。在SQL中,varchar用于存储可变长度的字符串,例如工号(eid)、姓名(name)和身份证号码(ecard)。这里需要注意的是,尽管空字符串('')和NULL值都表示没有值,但它们在SQL中是不等同的。空字符串占用存储空间,而NULL值则表示该字段未知或不适用,查询时需要特别处理。 在创建表的过程中,我们看到了几个关键概念: 1. **表结构设计**:`createtableempinfo`示例展示了如何定义各个字段的数据类型和约束条件。如eid为主键,不能为空(not null),ecard字段为唯一的身份证号码,且长度限定为18位。esex字段设为字符型,默认值为'男',并通过check子句确保只有'男'和'女'两种选择。其他字段如class、joindate和salary也分别定义了相应的数据类型和默认值。 2. **外键和组合键**:在`createtableattinfo`中,aid字段设置为自增长的整型主键,并引用了`empinfo`表的eid,形成了外键关系。另一张表`stuinfo`的主键采用了组合键的方式,即id和name一起作为主键。 3. **表结构修改**:`altertable`语句展示了如何动态调整表结构,包括添加、删除和修改列,更改列的非空性、数据类型,以及重命名表名和列名。例如,`addcolumn`用于增加新列,`dropcolumn`用于删除列,`altercolumn`用于修改列的属性,如将其设置为非空或改变数据类型。 4. **主键操作**:在表结构维护中,`addconstraint`用于添加或删除主键,如添加一个名为'eid'的主键约束,而`drop`则是为了移除原有的主键约束。 总结来说,了解SQL Server 2008中的这些数据类型及其应用,有助于有效地设计和管理数据库,确保数据的一致性和完整性。同时,掌握表结构的修改和调整技巧,可以帮助快速适应业务需求的变化,提高数据库维护的灵活性。