>>与软件开发有关的知识:操作系统,数据库,网络通信等 书籍支持  视频课程  卫琴专栏  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 13890 个阅读者 刷新本主题
 * 贴子主题:  SQL PRIMARY KEY 约束 回复文章 点赞(0)  收藏  
作者:sunshine    发表时间:2019-08-12 13:07:23     消息  查看  搜索  好友  邮件  复制  引用

  

SQL  PRIMARY KEY 约束

SQL PRIMARY KEY 约束

     PRIMARY KEY 约束唯一标识数据库表中的每条记录。

     主键必须包含唯一的值。

     主键列不能包含 NULL 值。

     每个表都应该有一个主键,并且每个表只能有一个主键。            

CREATE TABLE 时的 SQL PRIMARY KEY 约束

     下面的 SQL 在 "Persons" 表创建时在 "P_Id" 列上创建 PRIMARY KEY 约束:

                 MySQL:

    CREATE TABLE Persons
    (

    P_Id int NOT NULL,

    LastName varchar(255) NOT NULL,

    FirstName varchar(255),

    Address varchar(255),

    City varchar(255),

    PRIMARY KEY (P_Id)

    )

             SQL Server / Oracle / MS Access:

   CREATE TABLE Persons
    (

    P_Id int NOT NULL PRIMARY KEY,

    LastName varchar(255) NOT NULL,

    FirstName varchar(255),

    Address varchar(255),

    City varchar(255)

    )

    如需命名 PRIMARY KEY 约束,并定义多个列的 PRIMARY KEY 约束,请使用下面的 SQL 语法:

                 MySQL / SQL Server / Oracle / MS Access:

    CREATE TABLE Persons
    (

    P_Id int NOT NULL,

    LastName varchar(255) NOT NULL,

    FirstName varchar(255),

    Address varchar(255),

    City varchar(255),

    CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)

    )

   注释:在上面的范例中,只有一个主键 PRIMARY KEY(pk_PersonID)。然而,pk_PersonID 的值是由两个列(P_Id 和

LastName)组成的。                

ALTER TABLE 时的 SQL PRIMARY KEY 约束

     当表已被创建时,如需在 "P_Id" 列创建 PRIMARY KEY 约束,请使用下面的 SQL:

                 MySQL / SQL Server / Oracle / MS Access:

    ALTER TABLE Persons

    ADD PRIMARY KEY (P_Id)

    如需命名 PRIMARY KEY 约束,并定义多个列的 PRIMARY KEY 约束,请使用下面的 SQL 语法:

                 MySQL / SQL Server / Oracle / MS Access:

    ALTER TABLE Persons

    ADD CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)

                 注释:如果您使用 ALTER TABLE 语句添加主键,必须把主键列声明为不包含 NULL 值(在表首次创建时)。              

撤销 PRIMARY KEY 约束

     如需撤销 PRIMARY KEY 约束,请使用下面的 SQL:

                 MySQL:

    ALTER TABLE Persons

    DROP PRIMARY KEY

             SQL Server / Oracle / MS Access:

    ALTER TABLE Persons

    DROP CONSTRAINT pk_PersonID

    



程序猿的技术大观园:www.javathinker.net



[这个贴子最后由 flybird 在 2020-02-20 21:39:48 重新编辑]
  Java面向对象编程-->数据类型
  JavaWeb开发-->Web运作原理(Ⅲ)
  JSP与Hibernate开发-->持久化层的映射类型
  Java网络编程-->RMI框架
  精通Spring-->基于WebSocket的双向通信
  Vue3开发-->通过Axios访问服务器
  一文读懂非关系型数据库(NoSQL)
  mysql分区(partition)
  mysql 表分区、按时间函数分区、删除分区、自动添加表分区
  MySQL全面优化实战总结!
  谈谈网络通信中的 ACK、NACK 和 REX
  8种最坑的SQL错误用法,第一个就很坑?
  MySQL 序列使用
  MySQL 元数据
  MySQL 事务
  SQL CREATE VIEW、REPLACE VIEW、 DROP VIEW 语句
  SQL DEFAULT 约束
  SQL NOT NULL 约束
  从十年运维看“云”维趋势
  MySQL5.7慢查询日志时间与系统时间差8小时原因
  MySQL核心技术点——史上最全的select加锁分析
  更多...
 IPIP: 已设置保密
楼主      
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


中文版权所有: JavaThinker技术网站 Copyright 2016-2026 沪ICP备16029593号-2
荟萃Java程序员智慧的结晶,分享交流Java前沿技术。  联系我们
如有技术文章涉及侵权,请与本站管理员联系。