数据库中添加主键约束的SQL语句是什么样的,请高手帮忙!!! 是在修改表格的时候,用SQL语句... 30

 我来答
雪域寒风
2012-04-06 · 贡献了超过185个回答
知道答主
回答量:185
采纳率:100%
帮助的人:47.5万
展开全部
新建表:
create table [表名]
(
[自动编号字段] int IDENTITY (1,1) PRIMARY KEY ,
[字段1] nVarChar(50) default \'默认值\' null ,
[字段2] ntext null ,
[字段3] datetime,
[字段4] money null ,
[字段5] int default 0,
[字段6] Decimal (12,4) default 0,
[字段7] image null ,
)

删除表:
Drop table [表名]

插入数据:
INSERT INTO [表名] (字段1,字段2) VALUES (100,\'51WINDOWS.NET\')

删除数据:
DELETE FROM [表名] WHERE [字段名]>100

更新数据:
UPDATE [表名] SET [字段1] = 200,[字段2] = \'51WINDOWS.NET\' WHERE [字段三] = \'HAIWA\'

新增字段:
ALTER TABLE [表名] ADD [字段名] NVARCHAR (50) NULL

删除字段:
ALTER TABLE [表名] DROP COLUMN [字段名]

修改字段:
ALTER TABLE [表名] ALTER COLUMN [字段名] NVARCHAR (50) NULL

重命名表:(Access 重命名表,请参考文章:在Access数据库中重命名表)
sp_rename \'表名\', \'新表名\', \'OBJECT\'

新建约束:
ALTER TABLE [表名] ADD CONSTRAINT 约束名 CHECK ([约束字段] <= \'2000-1-1\')

删除约束:
ALTER TABLE [表名] DROP CONSTRAINT 约束名

新建默认值
ALTER TABLE [表名] ADD CONSTRAINT 默认值名 DEFAULT \'51WINDOWS.NET\' FOR [字段名]

删除默认值
ALTER TABLE [表名] DROP CONSTRAINT 默认值名

删除Sql Server 中的日志,减小数据库文件大小
dump transaction 数据库名 with no_log
backup log 数据库名 with no_log
dbcc shrinkdatabase(数据库名)
exec sp_dboption \'数据库名\', \'autoshrink\', \'true\'

\\\'添加字段通用函数
Sub AddColumn(TableName,ColumnName,ColumnType)
Conn.Execute(\"Alter Table \"&TableName&\" Add \"&ColumnName&\" \"&ColumnType&\"\")
End Sub

\\\'更改字段通用函数
Sub ModColumn(TableName,ColumnName,ColumnType)
Conn.Execute(\"Alter Table \"&TableName&\" Alter Column \"&ColumnName&\" \"&ColumnType&\"\")
End Sub

\\\'检查表是否存在

sql=\"select count(*) as dida from sysobjects where id = object_id(N\'[所有者].[表名]\') and OBJECTPROPERTY(id, N\'IsUserTable\') = 1\"

set rs=conn.execute(sql)

response.write rs(\"dida\")\'返回一个数值,0代表没有,1代表存在

判断表的存在:
select * from sysobjects where id = object_id(N\'[dbo].[tablename]\') and OBJECTPROPERTY(id, N\'IsUserTable\') = 1

某个表的结构
select * from syscolumns where id = object_id(N\'[dbo].[你的表名]\') and OBJECTPROPERTY(id, N\'IsUserTable\') = 1
追问
这里面好像没有alter  table 添加 主键约束吧!!!
追答
添加主键
  Alter table tabname add primary key(col)   
删除主键:
Alter table tabname drop primary key(col)
绿子与我
2018-03-30 · TA获得超过1.3万个赞
知道小有建树答主
回答量:94
采纳率:0%
帮助的人:1.9万
展开全部

首先需要保证需要改为主键的列的已存在的值不能有空或者重复的,比如修改sno表的stu为主键的代码为:

  1. Alter  table sno alter column stu char(6) not null;

  2. Alter table sno add constraint pk_stu  primary key (stu)。

sql 语句就是对数据库进行操作的一种语言,结构化查询语言(Structured Query Language)简称SQL,结构化查询语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
老师小乔
2012-04-06 · TA获得超过3680个赞
知道大有可为答主
回答量:1985
采纳率:66%
帮助的人:690万
展开全部
一种是在列级定义主码:如id int PRIMARY KEY;一种是在表级定义主码,如CREATE TABLE STUDENT(SNO INT,SNAME CHAR(20) NOT MULL,PRIMARY KEY(SNO)),应该先这样:定义表级主码时这样定义:CREATE TABLE STUDENT(SNO INT ,CONSTRAINT STUDENTKEY PRIMARY KEY (SNO)),修改时先丢弃约束,ALTER TABLE STUDENT DROP CONSTRAINT STUDENTKEY,然后再将要修改的主键用ALTER和ADD CONSTRAINT PRIMARY KEY加上
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
x403879785
推荐于2017-11-25 · TA获得超过3838个赞
知道大有可为答主
回答量:1299
采纳率:100%
帮助的人:1168万
展开全部
要保证需要改为主键的列的已存在的值不能有空或者重复的、
比如修改stu表的sno为主键
Alter table stu
alter column sno char(6) not null

Alter table stu
add constraint pk_sno primary key (sno)
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
画新子F
2012-04-07 · TA获得超过1189个赞
知道小有建树答主
回答量:390
采纳率:50%
帮助的人:410万
展开全部
alter table student_tb add constraint id_pk primary key(id)

student_tb : 表名
id_pk : 约束名称(每个约束都对应一个名称,自己定义,也可系统生成)
id:你的字段名
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式