> 唯美句子 > 如何定义SQL主键

如何定义SQL主键

如何定义SQL主键

在SQL数据库中,如何定义SQL主键是经常要遇到的问题,下面将为您介绍两种定义SQL主键的方法,供您参考,希望对那您有所帮助。

SQL主键是数据库表的一个重要属性,建立主键可以避免表中存在完全相同的记录,也就是说SQL主键在一张表中的记录值是唯一的。

建立SQL主键有两种方法:一种是在数据库提供的GUI环境中建立,另一种是通过SQL语句执行建立,下面分别介绍。

1.在数据库提供的GUI环境中建立(以SQL7为例)。

输入表信息后按Ctrl键同时选中多行,然后点上面的主键按钮就行了。

2.通过SQL语句执行建立。又分两种,一是在建表语句中直接写,二是建表之后更改表结构。

在建表语句中直接写:

Create Table 表名 (字段名1 Int Not Null,

字段名2 nvarchar(13) Not Null Primary Key (字段名1, 字段名2),

字段名3…………

字段名N………… )

建表之后更改表结构:

CREATE TABLE 表名 (字段名1 Int Not Null,

字段名2 nvarchar(13) Not Null

字段名3…………

字段名N…………)

GO

ALTER TABLE 表名 WITH NOCHECK ADD

CONSTRAINT [PK_表名] PRIMARY KEY NONCLUSTERED

(

[字段名1],

[字段名2] )

GO

【】

2.使用SQL语句创建主键约束

使用SQL语句创建主键约束可以在创建表(Create Table)或修改表(Alter Table)时进行 创建。

在修改表中创建主键约束语法:

ALTER TABLE table_name

ADD

CONSTRAINT constraint_name

PRIMARY KEY [CLUSTERED | NONCLUSTERED]

{(Column[,…n])}

参数说明:

CONSTRAINT:创建约束的关键字。

constraint_name:创建约束的名称。

PRIMARY KEY:表示所创建约束的类型为主键约束。

CLUSTERED | NONCLUSTERED:是表示为PRIMARY KEY或UNIQUE约束创建聚集或非聚集索引的关键字。PRIMARY KEY约束默认为CLUSTERED,UNIQUE约束默认为 NONCLUSTERED。

下面在指定的数据库中创建一个名为mytable的数据表,并在该数据表中将“userid”列设置为主键。

操作步骤:

(1)在操作系统中选择“开始”→“所有程序”→“Microsoft SQL Server”→“查询分析器”命令,打开查询分析器。

(2)在查询分析器的工具栏中选择要连接的数据库。

(3)在代码编辑区中编写如下代码。

SQL语句如下:

USE 销售管理系统 --引入数据库

GO

CREATE TABLE mytable --创建表

(

USERID int CONSTRAINT pk_id PRIMARY KEY, --创建主键约束

USERNAME char (20), --数据列

USERPASS char (20), --数据列

USERPHONE char (20), --数据列

USERADDRESS varchar (50), --数据列

USERLEVEL char(2) --...更多唯美的句子:www.weimeidejuzi.cn

SQL怎样用命令设置主键

*

建表的时候,可以直接在列名后面增加主键约束,比如:  ID char(5) primary key。

*

对已经建表的列增加主键约束:

alter table 表名 add constraint 约束名 primary key (ID)

sql中的主键是什么意思?

主关键字(primary key)是表中的一个或多个字段,它的值用于惟一地标识表中的某一条记录。在两个表的关系中,主关键字用来在一个表中引用来自于另一个表中的特定记录。主关键字是一种唯一关键字,表定义的一部分。一个表不能有多个主关键字,并且主关键字的列不能包含空值。主关键字是可选的,并且可在 CREATE TABLE 或 ALTER TABLE 语句中定义。

来自百度百科

主键我个人的理解就是拿来做唯一标示的字段

一般是ID

t sql 建好表后如何定义主键

可用alter table来定义主键。

步骤:

1、创建测试表:

create table test

(id int,

name varchar(10))

2、如要以id为主键,可用如下语句:

如原来id允许为空,则多加一步,设置主键列不为空。

alter table test alter column id int not null

如原来id不允许为空则跳过上一步,直接执行:

alter table test add primary key(id)

3、再查此表,主键已创建:

SQL中主键和外键的定义是什么???

通俗的说吧

先说说主键(primary key)吧:一张表(关系)的一个列(属性)或多个列可以作为主键,但是前提是让这个列作主键,这个列就能保证该列下的各个行(元组)的值不能相同,比如说你用姓名属性作主键的话,那么这个主键就不一定可以,如果有两个人是同样的名字的话,就不能做到该属性下的各个元组数据的值不同,如果用阿拉伯数字作主键就是一个很好的选择。

再说说外键(foreign key):一张表(关系)的列(属性)它同时存在表1和表2中,它不是表1的主键,而是表2的主键,就可以说他是表1的外键。

那么什么是候选键(Candidate Key)呢:能唯一标识表(关系)中行(元组)的列(属性),则称该属性为候选键,也称 候选关键字 或 候选码;由此来看候选键可以不只一个,还看一看得出的就是主键同时它也是候选键

sql语句如何修改主键,请举个小例子.

如果表之前有主键则先删除:

alter table 表名 drop constraint 主键名

修改主键:

alter table 表名 add constraint 主键名 primary key (column1,column2,....,column)

注意:这里的主键名是自己定义的一个字符串,可以不是表中字段名(习惯写成:PK_表名 的格式),不过要牢记啊,删除的时候用到的也是这个名!括号中的才是表中存在的字段。

主键的值也可以改变,级联更新是有用的

sql用命令创建主键与外键。

用命令创建主键与外键方法如下:

--用命令创建主键与外键.

--使用SQL语句创建主键约束可以在创建表(Create Table)或修改表(Alter Table)时进行  创建。

--例创建表时

create table tablename

(

id int (CONSTRAINT pk_id) PRIMARY KEY

)

--例修改表时

ALTER TABLE tablename     --修改表

ADD

CONSTRAINT tb_PRIMARY

PRIMARY KEY CLUSTERED (列名) /*将你要设置为主键约束的列*/

怎么用sql语句建立以两个字段为主键的表

create table t1(pk1 int,pk2 nvarchar(10),name nvarchar(10),val int, primary key(pk1,pk2))

数据库如何设置主键(ID)自动增长啊(SQL语句)?

在创建表的时候可以设置,方法如下,用一下sql语句。

create table tableName(

id int identity(1,1) primary key,

data varchar(50))

解释:其中identity(1,1)代表自增,第一个1代表从1开始计数,第二个1代表每次增长1。

在sql中怎样设置主键语法

创建表

--------------------------------------------------------------------------------

CREATE TABLE TABLE_NAME(

column1 DATATYPE [NOT NULL] [PRIMARY KEY],

column2 DATATYPE [NOT NULL],

...

[constraint 约束类型 (要约束的字段名)... ]

);

说明:

TABLE_NAME --表名.

column1,column2 --列的名称 不能取关键字

DATATYPE --是Oracle的数据类型,可以查看附录.

NOT NULL /NULL --不可以/可以允许资料有空的.NULL一般省略.

PRIMARY KEY --是本表的主键。

CONSTRAINT --是对表里的字段添加约束.(约束类型有 Check,Unique,Primary key,not null,Foreign key)。

示例:

CREATE TABLE student(

s_id number(8) PRIMARY KEY,

s_name varchar2(20) NOT NULL,

s_sex varchar2(8) ,

clsid number(8) ,

CONSTRAINT u_1 UNIQUE(s_name),

CONSTRAINT c_1 CHECK (s_sex in ('MALE','FEMALE'))

);

表级约束

如 设置 两列不能同时为空

ALTER TABLE tablename ADD CONSTRAINT check_name CHECK (col1 is not null or col2 is not null) ;

复制表

--------------------------------------------------------------------------------

CREATE TABLE TABLE as

(需注意的是复制表不能复制表的约束);

示例:

CREATE TABLE test AS SELECT * FROM emp;

会将表emp的数据一并复制到test中,但约束没有复制.

如果只复制表的结构不复制表的数据则:

CREATE TABLE test as (SELECT * FROM emp WHERE 1=2);

或者

CREATE TABLE test as (SELECT * FROM emp WHERE FALSE);

如何定义SQL主键:等您坐沙发呢!

发表评论

您必须 [ 登录 ] 才能发表留言!