MySQL联合主键

DROP DATABASE ks;
CREATE DATABASE db1;
USE db1;
/***
 主键:primary key
 在一张表中唯一确定一组数据,因此一张表只有一个主键
 主键约束的字段默认具有unique约束,not unll;
 构成主键的可以是一个字段也可以是多个字段
***/

CREATE TABLE kecbiao (
 
 kcname VARCHAR(20) NOT NULL,
 keteach VARCHAR(20) ,
 kcstart DATE NOT NULL,
 kcend DATE NOT NULL COMMENT'结课时间',
 kctype ENUM ('必修','选修') NOT NULL,
 kcks TINYINT UNSIGNED NOT NULL COMMENT'总课时',
 kcxf TINYINT UNSIGNED NOT NULL COMMENT'学分'
)

/*
 1.添加主键
 直接字段后加约束primar key
 
*/

ALTER TABLE kecbiao ADD kc INT PRIMARY KEY;
/*
 给已有的表添加主键
*/
ALTER TABLE kecbiao DROP PRIMARY KEY;
ALTER TABLE kecbiao MODIFY kc INT PRIMARY KEY;
ALTER TABLE kecbiao ADD PRIMARY KEY('kcid');
ALTER TABLE kecbiao DROP

DROP TABLE kecbiao;

CREATE TABLE xubiao(
 xu_name VARCHAR(10),
 xu_xh ENUM('男','女'),
 xu_xh VARCHAR(10) PRIMARY KEY,
 xu_bj VARCHAR(10),
 xu_zy VARCHAR(15),
 xu_lx TINYINT UNSIGNED
);
USE DATABASE db1;
-- 联合主键: 复合主键。由两个的字段共同构成主键
CREATE TABLE xkb(
 kc_id INT UNSIGNED NOT NULL,
 stuid INT UNSIGNED NOT NULL,
 score DOUBLE UNSIGNED,
 PRIMARY KEY(kc_id,stuid)
);

猜你喜欢

转载自blog.csdn.net/zhouzibo178/article/details/126599728