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

如题所述

新建表:
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)

温馨提示:内容为网友见解,仅供参考
第1个回答  2018-03-30

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

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

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

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

本回答被网友采纳
第2个回答  2012-04-06
一种是在列级定义主码:如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加上
第3个回答  推荐于2017-11-25
要保证需要改为主键的列的已存在的值不能有空或者重复的、
比如修改stu表的sno为主键
Alter table stu
alter column sno char(6) not null

Alter table stu
add constraint pk_sno primary key (sno)本回答被网友采纳
第4个回答  2012-04-07
alter table student_tb add constraint id_pk primary key(id)

student_tb : 表名
id_pk : 约束名称(每个约束都对应一个名称,自己定义,也可系统生成)
id:你的字段名
相似回答