>>与软件开发有关的知识:操作系统,数据库,网络通信等 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 27068 个阅读者 刷新本主题
 * 贴子主题:  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面向对象编程-->Java常用类(上)
  JavaWeb开发-->使用Session(Ⅰ)
  JSP与Hibernate开发-->JPA API的高级用法
  Java网络编程-->基于MVC和RMI的分布式应用
  精通Spring-->创建综合购物网站应用
  Vue3开发-->计算属性和数据监听
  SaltStack 自动化运维实战
  构建高大上的MySQL监控平台
  centos7.4安装配置使用简介Kubernetes (k8s)
  没有宫廷内斗,数据库界的延禧攻略
  Linux下网络流量实时监控工具大全
  MySQL——mmm(Master-Master replication managerfor Mysql)...
  打开黑盒:从 MySQL架构设计出发,看它是如何执行一条SQL语句...
  老生常谈!数据库如何存储时间?你真的知道吗?
  MySQL 连接
  SQL CHECK 约束
  SQL的创建表(CREATE TABLE) 语句的用法
  SQL INSERT INTO SELECT 语句
  CentOS7.5使用mysql_multi方式安装MySQL5.7.28多实例
  Mysql提升效率的神器: 索引
  程序员必须掌握的核心算法有哪些?
  更多...
 IPIP: 已设置保密
树形列表:   
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


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