设置主键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) --
Ⅱ sql怎么设置主键
1.主键语法
①创建时:create table sc (
studentno int,
courseid int,
score int,
primary key (studentno) );
②修改时:ALTER TABLE table_name ADD CONSTRAINT pk_name PRIMARY KEY(列名);
前提是原先没有设置主键。
2.外键语法
①创建时:create table sc (
studentno int,
courseid int,
score int,
foreign key (courseid) );
②修改时:
ALTER TABLE news_info[子表名] ADD CONSTRAINT FK_news_info_news_type[约束名] FOREIGN KEY (info_id)[子表列] REFERENCES news_type[主表名] (id)[主表列] ;
3.使用组合主键
如果一列不能唯一区分一个表里的记录时,可以考虑多个列组合起来达到区分表记录的唯一性,形式
①创建时:create table sc (
studentno int,
courseid int,
score int,
primary key (studentno,courseid) );
②修改时:alter table tb_name add primary key (字段1,字段2,字段3);
前提是原来表中没有设置主键,若原先已有主键则会报错。
Ⅲ 数据库如何设置主键(ID)自动增长啊(SQL语句)
在创建表的时候可以设置,方法如下,用一下sql语句。
create table tableName(
id int identity(1,1) primary key,
data varchar(50))
解释:其中identity(1,1)代表自增,第一个1代表从1开始计数,第二个1代表每次增长1。
(3)设置主键sql扩展阅读:
SQL 全名是结构化查询语言[1](Structured
Query
Language),是用于数据库中的标准数据查询语言,IBM 公司最早使用在其开发的数据库系统中。1986年10月,美国国家标准学会(ANSI)
对
SQL
进行规范后,以此作为关系式数据库管理系统的标准语言
(ANSI
X3.
135-1986),1987年得到国际标准组织的支持下成为国际标准。不过各种通行的数据库系统在其实践过程中都对
SQL
规范作了某些编改和扩充。所以,实际上不同数据库系统之间的SQL不能完全相互通用。
参考资料:
网络-SQL语言
Ⅳ sql怎么设置两个主键
sql数据库中只能有一个主键!你说的应该是主外键的关系吧!假如:你建了一个user表
里面有一个[age],你在useradmin表里也建一个[age]并设置成主键,然后user表和useradmin表建立好主外键约束就可以应用到了
Ⅳ 如何用sql 添加主键
Oracle:
SQL>
CREATE
TABLE
test_tab
(
2
id
INT,
3
name
VARCHAR(10),
4
age
INT,
5
val
VARCHAR(10)
6
);
Table
created.
SQL>
ALTER
TABLE
test_tab
2
ADD
CONSTRAINT
pk_test_tab
PRIMARY
KEY(id);
Table
altered.
SQL
Server
麻烦一点
1>
CREATE
TABLE
test_tab
(
2>
id
INT,
3>
name
VARCHAR(10),
4>
age
INT,
5>
val
VARCHAR(10)
6>
);
7>
go
1>
ALTER
TABLE
test_tab
2>
ADD
CONSTRAINT
pk_test_tab
PRIMARY
KEY(id);
3>
go
消息
8111,级别
16,状态
1,服务器
HOME-BED592453C\SQLEXPRESS,第
1
行
无法在表
'test_tab'
中可为空的列上定义
PRIMARY
KEY
约束。
消息
1750,级别
16,状态
1,服务器
HOME-BED592453C\SQLEXPRESS,第
1
行
无法创建约束。请参阅前面的错误消息。
首先对
id
这个列,增加一个
NOT
NULL
约束,然后再设置为主键。
1>
ALTER
TABLE
test_tab
2>
ALTER
COLUMN
id
INT
NOT
NULL;
3>
go
1>
ALTER
TABLE
test_tab
2>
ADD
CONSTRAINT
pk_test_tab
PRIMARY
KEY(id);
3>
go
MySQL
mysql>
CREATE
TABLE
test_tab
(
->
id
INT,
->
name
VARCHAR(10),
->
age
INT,
->
val
VARCHAR(10)
->
);
->
//
Query
OK,
0
rows
affected
(0.08
sec)
mysql>
ALTER
TABLE
test_tab
->
ADD
CONSTRAINT
pk_test_tab
PRIMARY
KEY(id);
->
//
Query
OK,
0
rows
affected
(0.14
sec)
Records:
0
Duplicates:
0
Warnings:
0
Ⅵ SQL怎样用命令设置主键
可以参考下面的方法:
建表的时候,可以直接在列名后面增加主键约束,比如:
IDchar(5)primarykey。
对已经建表的列增加主键约束:
alter table 表名addconstraint约束名 primary key (ID)
(6)设置主键sql扩展阅读:
sql语句
添加主键
Alter table tabname add primary key(col)
删除主键
Alter table tabname drop primary key(col)
创建索引
create [unique] index idxname on tabname(col….)
删除索引
drop index idxname
Ⅶ t sql 建好表后如何定义主键
tsql建好表后如何定义主键的方法。
如下参考:
1、打开管理工具,SQLServerManagementStudio连接到数据库。
Ⅷ sql的键值类型的主属性怎么设置
sql的键值类型的主属性怎么设置?sql要怎么设置主键呢?本文以sql server数据库为例,讲解几种设置方式:
1)新建表时设置主键
2)修改表主键
3)sql语句删除主键
4)sql语句添加主键
5)sql语句修改主键
方法/步骤分步阅读
1
/8
打开【SQL Server Management Studio】管理工具,连接数据库
2
/8
【新建表时设置主键】- 打开新建表界面
1)展开要新建表的数据库
2)右键【表】菜单,依次选择【新建】->【表】
3
/8
【新建表时设置主键】- 设置主键
1)在“新建表界面”,加入两个测试列的行
2)选择任何一行,右键选择【设置主键】
3)联合主键设置:按住ctrl键,配合鼠标左键,可以多选几行,然后右键选择【设置主键】
4)添加列后,点击【保存】按钮,在弹出框中输入“表名称”,点击确定按钮即可
4
/8
【修改表主键】- 打开设计表界面
右键选择要修改的表,选择【设计】菜单,即可打开此表的设计界面,此时,可以修改列名、列类型、长度等等
5
/8
【修改表主键】- 修改主键
1)在“表设计”界面,右键任何一行,选择“设置主键”
2)调整好表属性后,点击“保存”按钮即可
3)联合主键设置:按住ctrl键,配合鼠标左键,可以多选几行,然后右键选择【设置主键】
4)对于有数据的表,如果修改后的主键存在数据重复行,则会提示修改失败,此时,需要视具体业务场景删除重复记录或者更改另外的列作为主键
6
/8
【sql语句删除主键】
1)点击sql server管理工具的菜单【新建查询】,打开查询窗口
2)在查询窗口中输入截图的命令删除主键
ALTER TABLE 表名 DROP CONSTRAINT [键名];
7
/8
【sql语句添加主键】
1)点击sql server管理工具的菜单【新建查询】,打开查询窗口
2)在查询窗口中输入截图的命令添加主键
ALTER TABLE 表名 ADD CONSTRAINT 键名 PRIMARY KEY ( 列名,多个列名用逗号分隔 );
3)添加主键之前,如果该表原来有主键,需要先删除主键,再添加,就等同于修改主键了
8
/8
【sql语句修改主键】
1)点击sql server管理工具的菜单【新建查询】,打开查询窗口
2)在查询窗口中输入截图的命令修改主键
3)如果表存在主键,需要先删除原主键。
Ⅸ sql用命令创建主键与外键。
1、为了方便大家理解,使用一个例子来帮助大家理解。意思大概就是通过引用表二中的字段完成对表一字段的约束。方法: