如何用transact_SQL 语句为表创建主键索引
时间: 2024-10-24 19:16:22 浏览: 16
在SQL中,创建主键索引通常涉及到ALTER TABLE语句,特别是当你需要添加一个新的主键约束时。这里是一个基本的Transact-SQL(T-SQL,用于Microsoft SQL Server)示例:
```sql
CREATE TABLE YourTable
(
Column1 INT PRIMARY KEY,
Column2 VARCHAR(50),
-- 其他列...
);
-- 如果表已存在并且你想将现有某列设为主键
ALTER TABLE YourTable
ADD CONSTRAINT PK_YourTable PRIMARY KEY (Column1);
-- 或者如果新表并不存在,直接指定主键
CREATE TABLE YourNewTable
(
ID INT NOT NULL,
Name VARCHAR(50),
PRIMARY KEY (ID)
);
```
在这个例子中,`Column1`被设置为主键,这意味着它不允许有重复值,并且在`ID`列的情况下,它是自动递增的。如果你想要删除现有的主键并添加新的,可以使用`DROP CONSTRAINT`先删除旧的约束,然后再添加新的。
相关问题
(1)使用Transact-SQL语句为studentsdb数据库的student_info表和curriculum表创建主键索引。 (3)使用Transact-SQL语句为studentsdb数据库的grade表的“分数”字段创建一个非聚集索引,命名为grade_index。 (7)使用Transact-SQL语句Drop index删除索引grade_index。 (9)在studentsdb数据库中,使用Transact-SQL语句CREATE VIEW建立一个名为v_stu_c的视图,显示学生的学号、姓名、所学课程的课程编号,并利用视图查询学号为0003的学生情况。
(1)为student_info表创建主键索引:
```
ALTER TABLE student_info ADD CONSTRAINT PK_student_info PRIMARY KEY (student_id);
```
为curriculum表创建主键索引:
```
ALTER TABLE curriculum ADD CONSTRAINT PK_curriculum PRIMARY KEY (course_id);
```
(3)为grade表的“分数”字段创建一个非聚集索引:
```
CREATE NONCLUSTERED INDEX grade_index ON grade (score);
```
(7)删除索引grade_index:
```
DROP INDEX grade_index ON grade;
```
(9)创建视图v_stu_c并查询学号为0003的学生情况:
```
CREATE VIEW v_stu_c
AS
SELECT student_info.student_id, student_info.student_name, curriculum.course_id
FROM student_info
INNER JOIN grade
ON student_info.student_id = grade.student_id
INNER JOIN curriculum
ON grade.course_id = curriculum.course_id;
SELECT *
FROM v_stu_c
WHERE student_id = '0003';
```
阅读全文