Maison  >  Article  >  base de données  >  Comment modifier la clé primaire dans Oracle

Comment modifier la clé primaire dans Oracle

青灯夜游
青灯夜游original
2022-01-25 17:43:4920061parcourir

Comment modifier la clé primaire : 1. Utilisez l'instruction "ALTER TABLE table name DROP CONSTRAINT Primary key name ;" pour supprimer la clé primaire ; 2. Utilisez l'instruction "alter table table name addprimary key (field);" pour ajouter la clé primaire.

Comment modifier la clé primaire dans Oracle

L'environnement d'exploitation de ce tutoriel : système Windows 7, version Oracle 11g, ordinateur Dell G3.

Explication de la clé primaire :

Le mot-clé unique d'une table, comme une table étudiante, ne peut pas être répété et est unique. Le numéro d'étudiant est le mot-clé, c'est-à-dire la clé primaire.

Différence avec les clés étrangères :

Les clés étrangères sont des champs qui sont connectés à d'autres tables. Par exemple, il y a une table d'étudiant et une table de sélection de cours. A ce moment, vous devez modifier le numéro d'étudiant dans l'étudiant. table, et celui correspondant dans la table de sélection de cours est Il doit également être modifié, vous devez donc ajouter le numéro d'étudiant comme contrainte de clé étrangère à la table de sélection de cours, de sorte que lorsque vous modifiez le numéro d'étudiant, toutes les clés étrangères les associations seront modifiées

Ajout, suppression et autres opérations sur la clé primaire

1 .Avec la clé primaire nommée

1) Ajout de la clé primaire nommée

①Ajoutez la clé primaire lors de la création la table (yy est le nom de clé primaire de la clé primaire "ID")

CREATE TABLE table_test(
 
id INT NOT NULL,       --注意:主键必须非空
 
name VARCHAR(20) NOT NULL,
 
address VARCHAR(20),
 
constraint yy PRIMARY KEY(id)
 
);

②Ajoutez la clé primaire après avoir créé la table

alter table table_test add constraint yy primary key(id);

Formule : modifier le nom de la table ajouter une contrainte nom de clé primaire clé primaire (champ) ;alter table 表名 add constraint 主键名 primary key(字段);

2)有命名主键的删除

ALTER TABLE table_test DROP CONSTRAINT yy;

公式:ALTER TABLE 表名DROP CONSTRAINT 主键名;

3)有命名主键的修改

需先删除主键,再进行添加

2.无命名主键

1)无命名主键的创建

①建表时添加主键(主键“ID”的主键名称需要查询出来,下文有方法)

CREATE TABLE table_test(

id INT NOT NULL,       --注意:主键必须非空

name VARCHAR(20) NOT NULL,

address VARCHAR(20),

PRIMARY KEY(id)

);

②建表后添加主键

alter table table_test add primary key (id);

公式:alter table 表名 add primary key(主键字段1,主键字段2...);

2)无命名主键的删除

①先查出来主键名(constraint_name),user_cons_columns表会在文末给出解释

SELECT t.* from user_cons_columns t where t.table_name  = 'TABLE_TEST' and t.position is not null;

公式:SELECT t.* from user_cons_columns t where t.table_name  = '表名' and t.position is not null;   --表名必须大写,如:TABLE_TEST

②再执行删除的SQL

ALTER TABLE table_test DROP CONSTRAINT SYS_C0056038;

公式:ALTER TABLE 表名 DROP CONSTRAINT 主键名;

2) Supprimer avec la clé primaire nommée

需先删除主键,再进行添加

Formule : ALTER TABLE nom de la table DROP CONSTRAINT Nom de la clé primaire ;

3) Modification de la clé primaire nommée key🎜🎜🎜rrreee🎜🎜🎜2. Clé primaire sans nom🎜🎜🎜🎜🎜🎜1) Création d'une clé primaire sans nom🎜🎜🎜🎜① Créer une table Lors de l'ajout d'une clé primaire (le nom de clé primaire de la clé primaire "ID" doit être interrogé, il y a une méthode ci-dessous)🎜rrreee🎜②Ajoutez la clé primaire après avoir créé la table🎜rrreee🎜Formule : modifier le nom de la table ajouter la clé primaire (champ de clé primaire 1, champ de clé primaire 2... );🎜🎜🎜🎜2) Suppression de la clé primaire sans nom🎜🎜🎜🎜①Renseignez-vous d'abord sur le nom de la clé primaire (constraint_name), la table user_cons_columns donnera une explication à la fin de l'article🎜rrreee🎜Formule : SELECT t.* from user_cons_columns t où t.table_name = 'table name' et t.position n'est pas nul ; --Le nom de la table doit être en majuscules, par exemple : TABLE_TEST🎜🎜②Exécutez le SQL supprimé🎜rrreee🎜 Formule : ALTER TABLE nom de la table DROP CONSTRAINT nom de la clé primaire ;🎜🎜🎜🎜3) Modification des clés primaires sans nom🎜🎜🎜rrreee🎜Tutoriel recommandé : "🎜Tutoriel Oracle🎜"🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn