sql-----主键

原创 2007年09月24日 10:58:00

主键 (Primary Key) 中的每一笔资料都是表格中的唯一值。换言之,它是用来独一无二地确认一个表格中的每一行资料。主键可以是原本资料内的一个栏位,或是一个人造栏位 (与原本资料没有关系的栏位)。主键可以包含一或多个栏位。当主键包含多个栏位时,称为组合键 (Composite Key)。

主键可以在建置新表格时设定 (运用 CREATE TABLE 语句),或是以改变现有的表格架构方式设定 (运用 ALTER TABLE)。

以下举几个在建置新表格时设定主键的方式:

MySQL:
CREATE TABLE Customer
(SID integer,
Last_Name varchar(30),
First_Name varchar(30),
PRIMARY KEY (SID));

Oracle:
CREATE TABLE Customer
(SID integer PRIMARY KEY,
Last_Name varchar(30),
First_Name varchar(30));

SQL Server:
CREATE TABLE Customer
(SID integer PRIMARY KEY,
Last_Name varchar(30),
First_Name varchar(30));

以下则是以改变现有表格架构来设定主键的方式:

MySQL:
ALTER TABLE Customer ADD PRIMARY KEY (SID);

Oracle:
ALTER TABLE Customer ADD PRIMARY KEY (SID);

SQL Server:
ALTER TABLE Customer ADD PRIMARY KEY (SID);

请注意,在用ALTER TABLE语句来添加主键之前,我们需要确认被用来当做主键的栏位是设定为 『NOT NULL』 ;也就是说,那个栏位一定不能没有资料。

 

Mybatis的动态sql-----注解

►MyBatis的强大特性之一便是它的动态SQL。如果你有使用JDBC 或其他类似框架的经验,你就能体会到根据不同条件拼接SQL 语句有多么痛苦。拼接的时候要确保不能忘了必要的空格,还要注意省掉列名列...
  • panhaigang123
  • panhaigang123
  • 2017年11月26日 20:04
  • 87

Mybatis 自动生成主键

介绍像MySql、Sql Server有自动生成主键(递增),Oracle只能用序列生成,或者UUID 那么在MyBatis怎么处理呢,有两个处理方式,那么我们接下来看看怎么处理编码useGener...
  • u010475041
  • u010475041
  • 2016年08月26日 11:01
  • 5253

mongoDB(3) 设置主键

通过注释【@Id】设置主键 import org.springframework.data.annotation.Id; public static class OrderComsumeDTO{ ...
  • qq5132834
  • qq5132834
  • 2017年03月13日 16:48
  • 3446

业务主键和逻辑主键

业务主键(自然主键):与表中的内容有关,有实际意义。 逻辑主键(代理主键):与表中的内容无关,没有任何意义,只是为了对表中的行内容进行区分。如:1、2、3、4... 复合主键(联合主键):通过两个...
  • ljxqsqmoliwei
  • ljxqsqmoliwei
  • 2013年06月06日 17:30
  • 920

SQL中的主键

一、什么是主键   数据库主键是指表中一个列或者列的组合,其值能够唯一的标识表中的每一个行。这样的一列或者多列成为表的主键,通过它可以强制表的实体完整性。当创建或者更改表时可以通过定义PR...
  • BloodyDmusic
  • BloodyDmusic
  • 2016年08月03日 14:36
  • 1300

删除主键并重建主键

在我们发布产品过程中,有的时候需要修改某些表的主键,但是又不能在企业管理器中直接修改,必需写sql语句, 这改如何处理呢?   可以先删除主键,再新建主键 ,  下面举一个详细的例子:  ...
  • cuo9958
  • cuo9958
  • 2013年12月27日 15:36
  • 1137

ORACLE中添加删除主键

1、创建表的同时创建主键约束(1)无命名create table student ( studentid int primary key not null, studentname varchar(8...
  • mustbelove
  • mustbelove
  • 2007年06月01日 16:41
  • 73607

oracle添加主键的四种方法:

oracle添加主键的四种方法: 列级,表级建立主键 drop table constraint_test; 1.create table constraint_test ( name...
  • seeyouc
  • seeyouc
  • 2016年11月09日 17:19
  • 12801

分区表尽量不要建主键

原地址:http://blog.itpub.net/16396821/viewspace-679681/    今天有个项目要做升级,此项目用的是公司新产品,处于研发阶段,数据库设计文档不全,因为需...
  • ningfuxuan
  • ningfuxuan
  • 2017年03月31日 16:27
  • 1329

逻辑主键还是业务主键?

今天在javaeye上看了一篇关于数据库设计的文章,各位高手就自己的项目经验对数据库设计中到底使用逻辑主键还是业务主键发表了一下意见,虽然最后没有什么结论,但收获还是蛮大的。主张业务主键的人举了业务主...
  • eman
  • eman
  • 2004年11月07日 23:54
  • 942
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:sql-----主键
举报原因:
原因补充:

(最多只允许输入30个字)