SQL基础与约束详解:主键、外键与数据库管理

需积分: 10 2 下载量 8 浏览量 更新于2024-07-27 1 收藏 112KB DOC 举报
"这篇文档是关于SQL语句的经典集合,主要涵盖了主键、外键以及数据库约束的概念,适合SQL初学者和开发者学习。文档详细介绍了如何创建和管理数据库,包括创建与删除数据库、数据备份,以及如何构建带有各种约束的新表。" 在SQL语言中,约束是用于确保数据完整性和一致性的重要工具。SQL Server提供了五种主要的约束类型: 1. 主键约束(PrimaryKeyConstraint):主键是表中的一个或一组字段,其值唯一且不可为空,用来标识表中的每一行。例如,在创建表时,可以指定某个字段为主键,如下所示: ```sql CREATE TABLE table_name ( id INT PRIMARY KEY, ... ) ``` 2. 外键约束(ForeignKeyConstraint):外键用于建立两个表之间的关联,确保参照完整性。外键是引用另一个表的主键。例如: ```sql CREATE TABLE child_table ( child_id INT PRIMARY KEY, parent_id INT, FOREIGN KEY (parent_id) REFERENCES parent_table(parent_id) ) ``` 3. 惟一性约束(UniqueConstraint):确保表中某列的值是唯一的,但可以为空。例如: ```sql CREATE TABLE table_name ( unique_col VARCHAR(255) UNIQUE, ... ) ``` 4. 检查约束(Check Constraint):限制字段值必须满足的特定条件。例如,确保年龄在18到55之间: ```sql CREATE TABLE table_name ( age INT CHECK (age >= 18 AND age <= 55), ... ) ``` 5. 缺省约束(DefaultConstraint):当未提供值时,字段将自动设置为预设值。例如,性别默认为'男': ```sql CREATE TABLE table_name ( gender CHAR(1) DEFAULT '男', ... ) ``` 除了约束,文档还提到了基本的数据库操作: - 创建数据库:`CREATE DATABASE database_name` - 删除数据库:`DROP DATABASE db_name` - 备份数据库:首先定义备份设备,如`EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'`,然后执行备份命令,如`BACKUP DATABASE pubs TO testBack` 此外,创建新表时,可以同时定义列的属性,如是否允许为空、是否为主键等,例如: ```sql CREATE TABLE table_ok ( col1 INT, col2_notnull INT NOT NULL, col3_default NCHAR(1) NOT NULL DEFAULT '男', col4_default DATETIME NOT NULL DEFAULT GETDATE(), col5_check INT NOT NULL CHECK (col5_check >= 18 AND col5_check <= 55), col6_check NCHAR(9) NOT NULL CHECK (col6_check LIKE 'msd0902[0-9][^6-9]'), cola_primary NCHAR(5) NOT NULL PRIMARY KEY ) ``` 这个例子中,`table_ok`表包含了不同类型的约束,如非空、默认值和检查约束。`cola_primary`字段被定义为主键。这些概念对于理解和操作SQL数据库至关重要。