sql server 创建学生表和班级表自增序列
时间: 2023-09-12 19:12:59 浏览: 41
在 SQL Server 中,可以使用标识列(Identity)来实现自增序列。下面是创建班级表和学生表,并添加自增序列的示例代码:
```
-- 创建班级表
CREATE TABLE Class (
ClassID int IDENTITY(1,1) PRIMARY KEY,
ClassName varchar(50) NOT NULL
);
-- 创建学生表
CREATE TABLE Student (
StudentID int IDENTITY(1,1) PRIMARY KEY,
StudentName varchar(50) NOT NULL,
ClassID int NOT NULL,
CONSTRAINT FK_Student_Class FOREIGN KEY (ClassID)
REFERENCES Class(ClassID)
);
```
在上面的示例中,`IDENTITY(1,1)` 表示从 1 开始,每次自增 1。班级表和学生表的主键 `ClassID` 和 `StudentID` 都设置为标识列,并且都作为表的主键。这样,每次插入数据时,数据库会自动为这两个表的主键生成唯一的自增序列值。
相关问题
sql server 创建学生表和班级表自增序列 并各自插入五条数据
好的,以下是创建学生表和班级表自增序列的 SQL 语句:
```sql
-- 创建班级表
CREATE TABLE [dbo].[Class](
[id] [int] IDENTITY(1,1) NOT NULL,
[name] [nvarchar](50) NOT NULL,
CONSTRAINT [PK_Class] PRIMARY KEY CLUSTERED
(
[id] ASC
)
)
-- 创建学生表
CREATE TABLE [dbo].[Student](
[id] [int] IDENTITY(1,1) NOT NULL,
[name] [nvarchar](50) NOT NULL,
[class_id] [int] NOT NULL,
CONSTRAINT [PK_Student] PRIMARY KEY CLUSTERED
(
[id] ASC
)
)
-- 创建班级表自增序列
CREATE SEQUENCE [dbo].[ClassIdSeq] AS INT START WITH 1 INCREMENT BY 1 MINVALUE 1 MAXVALUE 2147483647 CACHE 50;
-- 创建学生表自增序列
CREATE SEQUENCE [dbo].[StudentIdSeq] AS INT START WITH 1 INCREMENT BY 1 MINVALUE 1 MAXVALUE 2147483647 CACHE 50;
```
然后,可以使用以下 SQL 语句向班级表和学生表插入五条数据:
```sql
-- 向班级表插入五条数据
INSERT INTO [dbo].[Class] ([name])
VALUES ('Class A'), ('Class B'), ('Class C'), ('Class D'), ('Class E')
-- 向学生表插入五条数据
INSERT INTO [dbo].[Student] ([name], [class_id])
VALUES ('Student A', 1), ('Student B', 2), ('Student C', 3), ('Student D', 4), ('Student E', 5)
```
这样就可以创建班级表和学生表的自增序列,并向两个表中插入五条数据了。
sql server 创建学生表和班级表自增序列 创好后插入五条数据
好的,以下是创建学生表和班级表自增序列以及插入五条数据的 SQL 语句:
```sql
-- 创建班级表
CREATE TABLE [dbo].[Class](
[id] [int] IDENTITY(1,1) NOT NULL,
[name] [nvarchar](50) NOT NULL,
CONSTRAINT [PK_Class] PRIMARY KEY CLUSTERED
(
[id] ASC
)
)
-- 创建学生表
CREATE TABLE [dbo].[Student](
[id] [int] IDENTITY(1,1) NOT NULL,
[name] [nvarchar](50) NOT NULL,
[class_id] [int] NOT NULL,
CONSTRAINT [PK_Student] PRIMARY KEY CLUSTERED
(
[id] ASC
)
)
-- 创建班级表自增序列
CREATE SEQUENCE [dbo].[ClassIdSeq] AS INT START WITH 1 INCREMENT BY 1 MINVALUE 1 MAXVALUE 2147483647 CACHE 50;
-- 创建学生表自增序列
CREATE SEQUENCE [dbo].[StudentIdSeq] AS INT START WITH 1 INCREMENT BY 1 MINVALUE 1 MAXVALUE 2147483647 CACHE 50;
-- 向班级表插入五条数据
INSERT INTO [dbo].[Class] ([name])
VALUES ('Class A'), ('Class B'), ('Class C'), ('Class D'), ('Class E')
-- 向学生表插入五条数据
INSERT INTO [dbo].[Student] ([name], [class_id])
VALUES ('Student A', 1), ('Student B', 2), ('Student C', 3), ('Student D', 4), ('Student E', 5)
```
这样就可以创建班级表和学生表的自增序列,并向两个表中插入五条数据了。