数据库约束-SQL创建表
约束有哪几种?
- 主键约束 PRIMARY KEY
- 完整性约束 NOT NULL, UNIQUE
- 参照值约束/引用完整性约束/外键约束 FOREIGN KEY(COLUME_NAME) REFERENCES TABLE(COLUME_NAME)
- 值约束 CHECK(取值条件), DEFAULT GETDATE()/GETTIME()
常见的数据库数据类型
SQL Server 提供了多种数据类型,用于存储不同类型的数据。以下是一些常见的数据类型分类及其示例:
数值类型
- INT: 用于存储整数,范围为 -2,147,483,648 到 2,147,483,647。
- BIGINT: 用于存储更大的整数,范围为 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807。
- SMALLINT: 用于存储较小的整数,范围为 -32,768 到 32,767。
- TINYINT: 用于存储更小的整数,范围为 0 到 255。
- DECIMAL(p, s): 用于存储精确的数值,p 表示总位数,s 表示小数位数。
- FLOAT(n): 用于存储浮点数,n 表示精度。
字符类型
- CHAR(n): 用于存储固定长度的字符串,n 表示字符数。
- VARCHAR(n): 用于存储可变长度的字符串,n 表示最大字符数。
- TEXT: 用于存储大文本数据,最大长度为 2^31 - 1 个字符。
日期和时间类型
- DATE: 用于存储日期,格式为 YYYY-MM-DD。
- TIME: 用于存储时间,格式为 HH:MM:SS。
- DATETIME: 用于存储日期和时间,范围为 1753-01-01 到 9999-12-31。
- SMALLDATETIME: 用于存储日期和时间,范围为 1900-01-01 到 2079-06-06。
二进制类型
- BINARY(n): 用于存储固定长度的二进制数据,n 表示字节数。
- VARBINARY(n): 用于存储可变长度的二进制数据,n 表示最大字节数。
- IMAGE: 用于存储大二进制数据,最大长度为 2^31 - 1 个字节。
其他类型
- BIT: 用于存储布尔值,0 或 1。
- UNIQUEIDENTIFIER: 用于存储全局唯一标识符 (GUID)。
- XML: 用于存储 XML 数据。
创建表
SQL> create table borrows(brid char(20) primary key, userid char(10) references user(userid), cid char(10) references cars(cid), stime datetime default getdate(), etime datetime);
修改表
SQL> alter table borrows add zap char(6);
SQL> alter table borrows modify zap int;
SQL> alter table borrows drop 完整性约束名;
ALTER TABLE Employees
DROP CONSTRAINT PK_EmployeeID;
删除表
SQL> drop table borrows;