对表的字段设置主键的sql
1、进入MySQLWorkbench,输入密码,点击登录

2、今天写一下设置主键约束:设置单字段的主键,分为两种,
第一种:创建表的时候设置主键,sql语句的结构是:
Create table table_name(
Col_name1 data_type primary key,
Col_name2 data_type
......
Col_namN data_type );
举个例子:创建一个book表,其中ISBN为主键,sql语句为
use library; /*选择数据库 */
create table book(
ISBN char(17) primary key,
book_name varchar(50),
book_author varchar(50),
book_price decimal(3,1),
press_id char(3),
book_copy int,
book_inventory int);
刷新数据库后,左边library数据库中就有book表,接着查看一下表结构,ISBN是否为主键,语句为:describe book;如图所示:

3、第二种:对已创建的表设置主键,sql语句的结构是:
Alter table table_name add primary key(col_name);
举个例子:将reader表的reader_id设置为主键,sql语句为
alter table reader add primary key(reader_id);
接着查看一下表结构,查询一下reader_id是否为主键,语句为:describe reader;如图所示:

4、如何设置多个主键,也是分为两种,
第一种:创建表的时候设置主键,sql语句的结构是:
Create table table_name(
Col_name1 data_type,
Col_name2 data_type
......
Col_namN data_type,
Primary key(Col_name1,Col_name2,.....Col_nameN));
举个例子:创建一个book表,其中ISBN和book_name为主键,sql语句为
use library; /*选择数据库 */
create table book(
ISBN char(17),
book_name varchar(50),
book_author varchar(50),
book_price decimal(3,1),
press_id char(3),
book_copy int,
book_inventory int,
primary key(ISBN,book_name));
刷新数据库后,左边library数据库中就有book表,接着查看一下表结构,ISBN和book_id是否为主键,语句为:describe book;如图所示:

5、第二种:对已创建的表设置主键,sql语句的结构是:
Alter table table_name add primary key(col_name1,col_name2,....col_nameN);
举个例子:由于第一种方法已经将ISBN和book_id的设置主键,我们先把ISBN和book_id的主键删除,接着用第二种方法,sql语句为
alter table book add primary key(ISBN,book_name);
接着查看一下表结构,查询一下ISBN和book_id是否为主键,语句为:describe book;如图所示:

6、删除设置的主键,用到的sql语句的结构是:
Alter table table_name drop primary key;
举个例子:将library数据库中的book表中的主键删除,sql语句为
alter table book drop primary key;
接着查看一下表结构,查询一下ISBN和book_id的主键是否被删除,语句为:describe book;如图所示:
