对表的字段设置主键的sql

2025-11-03 09:37:51

1、进入MySQLWorkbench,输入密码,点击登录

对表的字段设置主键的sql

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;如图所示:

对表的字段设置主键的sql

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;如图所示:

对表的字段设置主键的sql

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;如图所示:

对表的字段设置主键的sql

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;如图所示:

对表的字段设置主键的sql

6、删除设置的主键,用到的sql语句的结构是:

   Alter table table_name drop primary key;

举个例子:将library数据库中的book表中的主键删除,sql语句为

alter table book drop primary key;

接着查看一下表结构,查询一下ISBN和book_id的主键是否被删除,语句为:describe book;如图所示:

对表的字段设置主键的sql

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢