SQL Server 创建表 添加主键 添加列常用SQL语句

--删除主键
 alter table 表名 drop constraint 主键名
 --添加主键
 alter table 表名 add constraint 主键名 primary key(字段名1,字段名2……)
 --添加非聚集索引的主键
 alter table 表名 add constraint 主键名 primary key NONCLUSTERED(字段名1,字段名2……)

新建表: 
 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 [表名]

删除所有表:

DECLARE curItems CURSOR
 FOR select [name] from sysobjects where xtype='U'
 FOR READ ONLY
 OPEN curItems
 DECLARE @n  NVARCHAR(100),@m NVARCHAR(100)
 FETCH FROM curItems INTO @n
 WHILE @@FETCH_STATUS=0
 BEGIN
  set @m=@n
     exec('Drop Table ' + @m)
 FETCH NEXT FROM curItems INTO 
 @n
 END
 CLOSE  curItems
 DEALLOCATE  curItems


插入数据: 
 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 SCHEMA dbo TRANSFER prename.tablename;
如果表2已经存在,把表1中的记录加到表2中的语句: 
 insert   into   表2   (字段1,字段2,...)   select   字段1,字段2,..   from   表2   where   ... 

 如果表2不存在,则用下面的语句会自动生成表2,字段的类型和表1一样: 
         select   字段1,字段2,..   INTO   表2   from   表1   where   ... 
原文地址:https://www.cnblogs.com/sunxuchu/p/5578057.html