SQL Sever 2008 R2 数据库(3) ——数据表管理

简介:

1. 创建新表

例一: 创建新表

create table northwind.dbo.例一表

(

编号 int,

姓名 nvarchar(50)

)

create table northwind.例一表

(

编号 int,

姓名 nvarchar(50)

)

use northwind

create table 例一表

(

编号 int,

姓名 nvarchar(50)

)

2. 创建标识字段

例二: 创建新表并设置标识字段

创建一个新表,表结构为"例二表(编号 int,姓名 nvarchar(50))"。其中,"编

号"为自动增长列。

create table 例二表

(

编号 int identity,

姓名 nvarchar(50)

)

3. 创建带标识种子和标识增量的标识字段

例三:创建带标识种子和标识增量的标识字段

创建一个新表,表结构为"例三表(编号 int,姓名 nvarchar(50))" 。其中,"编号"为

主键和自动增长列,增长步为2

create table 例三表

(

编号 int identity(1,2) primary key,

姓名 nvarchar(5)

)

4. 创建非Null字段

例四: 创建非空值字段

创建一个新表,表结构为"例四表(编号 int,姓名 nvarchar(50))".其中,"编号"

为主键和自动增长列,"姓名"为不能为Null列.

creat table 例四表

(

编号 int identity(1,1) primary key,

姓名 nvarchar(50) not null

)

5. 字段的默认值

例五: 设置字段的默认值

创建一个新表,表结构为"例五表(编号 int,姓名 nvarchar(50),性别 bit)".其

中,"编号"为主键和自动增长列,"姓名"为不能Null列,"性别"的默认值为"男",在

bit里用"1"表示.

create table 例五表 P213

(

编号 int identity(1,1) primary key,

姓名 nvarchar(50),not null,

性别 bit default 1

)

6. 将创建的表放在文件组中

例六: 创建新表并将其放在文件组中

创建一个新表,表结构与例五中的相同,并将新表放到"第二文件组"中.

create table 例六表 P213

(

编号 int identity(1,1) primary key,

姓名 nvarchar(50) not null,

性别 bit default 1

)

on 第二文件组

7. 使用Check约束

例七: 创建新表并使用Check约束

创建一个新表,表结构为"例七表(编号 int,姓名 nvarchar(50),性别 bit,年

纪 tinyint)". 其中,"编号"为主键和自动增长列,"姓名"为不能Null列,"性别"

的默认值为1,年纪为1到100之间.

create table 例七表

(

编号 int identity(1,1) primary key,

姓名 nvarchar(50) not null,

性别 bit default 1,

年纪 tinyint constraint ck_年纪 check(年纪>0 and 年纪<101)

)

8. 设置字段的排序规则

例八: 创建新表并设置字段的排序规则

创建一个新表,表结构与例七中表结构相同,并且按"姓名"字段排序.

create table 例八表

(

编号 int identity(1,1) primary key,

姓名 nvarchar(50) collate Chinese_PRC_CI_AS not null,

性别 bit default 1,

年纪 tinyint constraint ck_例八年纪 check(年纪>0 and 年纪<101)

)

9. 创建外键

例九: 创建两个新表并设置外键

创建两个新表,一个是部门表,表结构为"例九_部门表(部门编号 int,部门名称

nvarchar(50))".其中,"部门编号"为自动增长的主键,"部门名称"不能重复也不能

为空.另一个是员工表,表结构为"例九_员工表(员工编号 int,所属部门 int,员工

姓名 nvarchar(20))".其中,"员工编号",为自动增长的主键,"所属部门"为外键

指向"例九_部门表"的"部门编号"字段,"员工姓名"为不能为Null的字段.

create table 例九_部门表

(

部门编号 int identity(1,1) primary key,

部门名称 nvarchar(50) not null,

)

go

create table 例九_员工表

(

员工编号 int identity(1,1) primary key,

所属部门 int

constraint fk_员工表外键

foreign key

references 例九_部门表(部门编号),

员工姓名 nvarchar(20) not null

)

go

10. 设置外键的更新规则和删除规则

例十: 创建新表并设置外键规则

创建两个新表,表结构与例九中两个一样,并将外键约束的更新规则设置为"层叠",

删除规则设置为"设置空".

create table 例十_部门表

(

部门编号 int identity(1,1) primary key,

部门名称 nvarchar(50) not null

)

go

create table 例十_员工表

(

员工编号 int identity(1,1) primary key,

所属部门 int

constraint fk_例十_员工表外键

foreign key

references 例十_部门表(部门编号)

on update cascade

on delete set null,

员工姓名 nvarchar(20) not null

)

go

11. 创建Unique约束

例十一: 创建新表并同时创建Unique约束

创建一个新表,表结构与"例九_部门表"结构一样,并将"部门名称"设置为Unique约束

create table 例十一_部门表

(

部门编号 int identity(1,1) primary key,

部门名称 nvarchar(50) not null unique

)

12. 创建计算列

例十二: 创建新表并创建可计算的列

创建一个新表,表结构为"例十二表(编号 int,单价 money,数量 int,合计 money)"

其中,"编号"为主键和自动增长列,"单价"不能为空,"数量"不能空,且大于零,"合计"

为"单价"乘以"数量".

create table 例十二表

(

编号 int identity(1,1) primary key ,

单价 money not null ,

数量 int not null

constraint ck_例十二表 check (数量>0),

合计 as 单价*数量

)

13. 设置数据表的约束

数据表约束同时针对多个字段约束.下面我们来看看数据表约束与字段约束的不同之处

例十三: 创建新表并设置数据表的约束

创建一个新表,表结构为"例十三_用户注册表(编号 int,用户名nvarchar(50),密码

varchar(16),电话 varchar(50),地址nvarchar(200))", 其中,"编号"为主键和自动增长列,"用户名"和

"密码"不能为空,"电话"和"地址"至少有一个不为空.

create table 例十三_用户注册表

(

编号 int identity(1,1) primary key



本文转自 beyondhedefang 51CTO博客,原文链接:http://blog.51cto.com/beyondhdf/1154004 ,如需转载请自行联系原作者

相关文章
|
4月前
|
SQL 人工智能 JSON
Flink 2.1 SQL:解锁实时数据与AI集成,实现可扩展流处理
简介:本文整理自阿里云高级技术专家李麟在Flink Forward Asia 2025新加坡站的分享,介绍了Flink 2.1 SQL在实时数据处理与AI融合方面的关键进展,包括AI函数集成、Join优化及未来发展方向,助力构建高效实时AI管道。
832 43
|
4月前
|
SQL 机器学习/深度学习 人工智能
从“写SQL”到“聊数据”:NL2SQL如何用自然语言解锁数据库?
本文系统性地阐述了自然语言转SQL(NL2SQL) 技术如何让非技术背景的业务分析师实现数据自助查询,从而提升数据驱动决策的效率与准确性。
从“写SQL”到“聊数据”:NL2SQL如何用自然语言解锁数据库?
|
4月前
|
SQL 人工智能 JSON
Flink 2.1 SQL:解锁实时数据与AI集成,实现可扩展流处理
本文整理自阿里云的高级技术专家、Apache Flink PMC 成员李麟老师在 Flink Forward Asia 2025 新加坡[1]站 —— 实时 AI 专场中的分享。将带来关于 Flink 2.1 版本中 SQL 在实时数据处理和 AI 方面进展的话题。
305 0
Flink 2.1 SQL:解锁实时数据与AI集成,实现可扩展流处理
|
3月前
|
SQL 人工智能 Linux
SQL Server 2025 RC1 发布 - 从本地到云端的 AI 就绪企业数据库
SQL Server 2025 RC1 发布 - 从本地到云端的 AI 就绪企业数据库
406 5
SQL Server 2025 RC1 发布 - 从本地到云端的 AI 就绪企业数据库
|
2月前
|
SQL 存储 监控
SQL日志优化策略:提升数据库日志记录效率
通过以上方法结合起来运行调整方案, 可以显著地提升SQL环境下面向各种搜索引擎服务平台所需要满足标准条件下之数据库登记作业流程综合表现; 同时还能确保系统稳健运行并满越用户体验预期目标.
212 6
|
4月前
|
SQL 人工智能 Java
用 LangChain4j+Ollama 打造 Text-to-SQL AI Agent,数据库想问就问
本文介绍了如何利用AI技术简化SQL查询操作,让不懂技术的用户也能轻松从数据库中获取信息。通过本地部署PostgreSQL数据库和Ollama模型,结合Java代码,实现将自然语言问题自动转换为SQL查询,并将结果以易懂的方式呈现。整个流程简单直观,适合初学者动手实践,同时也展示了AI在数据查询中的潜力与局限。
499 8
|
4月前
|
SQL 人工智能 Linux
SQL Server 2025 RC0 发布 - 从本地到云端的 AI 就绪企业数据库
SQL Server 2025 RC0 发布 - 从本地到云端的 AI 就绪企业数据库
288 5
|
5月前
|
SQL 缓存 监控
SqlRest让SQL秒变Http API,还支持20+数据库(含国产数据库)
杭州奥零数据科技有限公司成立于2023年,专注于数据中台业务,维护开源项目AllData并提供商业版解决方案。AllData提供数据集成、存储、开发、治理及BI展示等一站式服务,支持AI大模型应用,助力企业高效利用数据价值。
|
3月前
|
缓存 关系型数据库 BI
使用MYSQL Report分析数据库性能(下)
使用MYSQL Report分析数据库性能
160 3
|
3月前
|
关系型数据库 MySQL 数据库
自建数据库如何迁移至RDS MySQL实例
数据库迁移是一项复杂且耗时的工程,需考虑数据安全、完整性及业务中断影响。使用阿里云数据传输服务DTS,可快速、平滑完成迁移任务,将应用停机时间降至分钟级。您还可通过全量备份自建数据库并恢复至RDS MySQL实例,实现间接迁移上云。