SQL语句详解:创建数据库与表

需积分: 37 1 下载量 65 浏览量 更新于2024-08-15 收藏 608KB PPT 举报
"这篇资料主要介绍了如何使用SQL语句创建数据库和表,涉及SQL Server的Transact-SQL语法。文章中给出了创建School数据库、TblClass表和TblStudent表的示例,同时也解释了`GO`命令的作用。" 在SQL语言中,创建数据库和表是数据库管理的基础操作。在标题提到的`使用sql语句创建数据库和表`中,我们可以学习到以下知识点: 1. **SQL Server的`GO`命令**:`GO`不是Transact-SQL的一部分,而是SQL Server管理和执行工具如sqlcmd识别的命令,用于指示批处理的结束,意味着将前面的SQL语句发送给数据库服务器执行。它不能与Transact-SQL语句写在同一行,但可以在`GO`命令行中添加注释。 2. **创建数据库**:使用`CREATE DATABASE`语句,可以指定数据库的名称和可能的文件选项,例如文件的初始大小、最大大小和增长百分比。例如,创建名为`TestDb`的数据库,并设置主数据文件和事务日志文件的路径和大小。 3. **切换数据库**:使用`USE`语句可以在不同数据库之间切换,例如`USE School`将当前操作切换到School数据库。 4. **查询数据库**:使用`SELECT * FROM sys.databases`可以查询当前实例中的所有数据库。 5. **删除数据库**:`DROP DATABASE`语句用于删除不再需要的数据库,如`DROP DATABASE TESTDB`。 6. **创建表**:使用`CREATE TABLE`语句定义表结构,包括列名、数据类型、约束等。例如,创建TblClass表包含tClassId(整数,自动增长,为主键)、tClassName(非空字符串)和tClassDesc(可为空字符串)。 7. **数据类型**:不同的数据类型用于存储不同类型的数据,如整型(Integer)比字符串更节省空间,适合计算。例如,创建TblStudent表中,tSId为自动编号,tSName为字符串,tSGender为字符,tSAddress为可变长字符串,tSPhone为字符串,tSAge为整数,tSBirthday为日期时间,tSCardId为可为空的字符串,tSClassId为整数(非空,关联类ID)。 8. **主键**:主键是表中的一个或一组列,用来唯一标识一条记录。在TblClass和TblStudent表中,tClassId和tSId分别被定义为主键,确保每条记录的唯一性。主键应满足唯一性、非空性和稳定性,通常推荐使用自动编号(identity)或全局唯一标识符(uniqueidentifier)。 9. **数据冗余**:数据冗余是指相同数据在数据库中多次出现,可能导致存储空间浪费和数据一致性问题。在设计数据库时,应尽量避免数据冗余,以维护数据的一致性和完整性。 10. **关系型数据库管理系统(RDBMS)**:如SQLite、SQL Server CE和SQL Server都是关系型数据库的例子,它们遵循关系模型,支持表格形式的数据存储和管理,允许数据之间的关系建立。 这些知识点涵盖了基础的数据库操作,对于理解和操作SQL Server数据库至关重要。无论是开发人员还是数据库管理员,都需要熟练掌握这些技能来高效地管理数据库。