主键外键编程怎么写出来

时间:2025-03-05 02:21:10 明星趣事

创建主键和外键的SQL语句如下:

创建主键

单列主键

```sql

CREATE TABLE table_name (

column_name INT PRIMARY KEY

);

```

多列主键(联合主键)

```sql

CREATE TABLE table_name (

column1 INT,

column2 INT,

PRIMARY KEY (column1, column2)

);

```

自增长主键

```sql

CREATE TABLE table_name (

column_name INT PRIMARY KEY AUTO_INCREMENT

);

```

创建外键

单列外键

```sql

CREATE TABLE table_name1 (

column_name1 INT,

column_name2 VARCHAR(255),

FOREIGN KEY (column_name1) REFERENCES table_name2(primary_key_column_name)

);

```

多列外键(复合外键)

```sql

CREATE TABLE table_name1 (

column1 INT,

column2 VARCHAR(255),

column3 INT,

FOREIGN KEY (column1, column2) REFERENCES table_name2(primary_key_column1, primary_key_column2)

);

```

示例

假设我们有两个表:`students` 和 `courses`,其中 `students` 表有一个主键 `student_id`,`courses` 表有一个主键 `course_id`,并且 `courses` 表中的 `student_id` 是外键,引用 `students` 表的 `student_id`。

创建 `students` 表

```sql

CREATE TABLE students (

student_id INT PRIMARY KEY AUTO_INCREMENT,

student_name VARCHAR(255) NOT NULL

);

```

创建 `courses` 表

```sql

CREATE TABLE courses (

course_id INT PRIMARY KEY AUTO_INCREMENT,

course_name VARCHAR(255) NOT NULL,

student_id INT,

FOREIGN KEY (student_id) REFERENCES students(student_id)

);

```

注意事项

外键约束:在创建外键时,必须指定被引用的表和列。

级联操作:可以设置外键的级联更新和删除规则,例如 `ON DELETE CASCADE` 或 `ON UPDATE CASCADE`。

可空性:外键列可以设置为 `NULL`,表示该记录不与任何其他记录关联。

通过以上步骤,你可以成功地在数据库表中创建主键和外键,确保数据的完整性和一致性。