⑴ 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);
前提是原来表中没有设置主键,若原先已有主键则会报错。
⑵ 用SQL脚本修改表的的主键问题
不知道你什么数据库.
假如是
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
⑶ sql数据库中,当表中有多个列同时作为表的主键时,应该怎么设置呢
可以用如下方法进行设置:
第一,如果是用SQL语句建表,如下:(假设要让a和c组合作为主码)
create table t1(
a int,
b varchar(20),
c int,
primary key(a,c)
)
第二,如果用图形化界面做,按住ctrl键,然后选择a和c两个列,接着右键菜单选择“设置为主键”即可。
一个表中最多只能有一个主键,也可以没有。一个主键既可以是单一的字段构成,也可以是多个字段联合构成,如果是单一字段,只需在该字段后面标记primary key即可,如果是多个字段联合构成,则需要采用最开始介绍的那种方式设置。
⑷ 怎么用sql语句在已有表上设置复合主键
例如:x0dx0a已有一个表test_key,其中a1列为主键。x0dx0acreate table TEST_KEYx0dx0a(x0dx0a a1 VARCHAR2(3) not null,x0dx0a a2 VARCHAR2(3),x0dx0a b1 VARCHAR2(3),x0dx0a b2 VARCHAR2(3)x0dx0a);x0dx0a x0dx0aalter table TEST_KEYx0dx0a add constraint PK_TEST_KEY primary key (A1)x0dx0a using index;x0dx0a x0dx0a现在要将a2,b1也增加到主键中与原有的a1一起组成复合主键。语句如下:x0dx0aalter table TEST_KEYx0dx0a drop constraint PK_TEST_KEY cascade;x0dx0aalter table TEST_KEYx0dx0a add constraint PK_TEST_KEY primary key (A1, A2, B1)x0dx0a using index;x0dx0a x0dx0a这样就可以了。
⑸ 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)如果表存在主键,需要先删除原主键。
⑹ 如何通过PL/SQL修改某一个表的结构(主键
方法/步骤
登录PL/SQL Developer
找到要修改数据的表,右击该表,选择“编辑数据”
出现下图这样的窗口,注意方框中的信息。
小锁此时打开了,说明可以编辑数据了,后面的加减号表示增加、删除记录。
最后一列的rowid不能修改,这是物理标识列。
修改了数据后,可以看到对号变成绿色了,此时要提交的话需要点击这个对号。
点击对号之后并没有真正保存,还需要提交事务,这样才算是真正修改了。
点击对号之后,还要点击提交事务按钮。
弹出确认提示框,点击是即可。
我们还可以在sql窗口中输入‘select t.*,t.rowid from表 t’,按执行键,然后再点击那个锁,即可开始修改表数据。
如果输入的是‘select t.* from 表 t’,这条语句和上面的那个语句查询结果是相同的,但因为多查了个rowid,所以才能修改数据。
⑺ SQL怎样用命令设置主键
我现在发现使用较少的语句也可以啦,比如:alter
tabler
badd
primary
key(id)将表b中的字段id设为主键这个方法和你的视觉上的效果是一样的,就是不晓得内部是否一样的。
⑻ t sql 建好表后如何定义主键
tsql建好表后如何定义主键的方法。
如下参考:
1、打开管理工具,SQLServerManagementStudio连接到数据库。
⑼ sql用命令创建主键与外键,怎么操作
用命令创建主键与外键方法如下: