SQL server 表操作语句(原创)

CREATE TABLE [dbo].[test] (
[id11] int NOT NULL ,
[as] varchar(1) COLLATE Chinese_PRC_CI_AS NULL ,
[asd] varchar(1) COLLATE Chinese_PRC_CI_AS NULL ,
CONSTRAINT [PK__test__3213E83F753864A1] PRIMARY KEY ([id11])
)
ON [PRIMARY]
GO

--删除表
IF EXISTS(select * from sysobjects where id=object_id(‘[test]‘) and objectproperty(id,‘IsTable‘)=1)
drop TABLE test1111

ALTER TABLE [dbo].[test] DROP CONSTRAINT [PK__test__3213E83F753864A1]
GO

ALTER TABLE [dbo].[test] ALTER COLUMN [asdad] varchar(1) COLLATE Chinese_PRC_CI_AS NOT NULL
GO

--更名
EXEC sp_rename N‘[dbo].[test].[asdad]‘, N‘id11‘, ‘COLUMN‘
GO

--是否空
ALTER TABLE [dbo].[test] ALTER COLUMN [id11] int NOT NULL
GO

--主键
ALTER TABLE [dbo].[test] ADD CONSTRAINT [PK__test__3213E83F753864A1] PRIMARY KEY ([id11])
GO

alter table test drop constraint id11

--单主键改双主键
ALTER TABLE [dbo].[test] DROP CONSTRAINT [PK__test__3213E83F753864A1]
GO

ALTER TABLE [dbo].[test] ADD CONSTRAINT [PK__test__3213E83F753864A1] PRIMARY KEY ([id11], [asas])
GO

--字段类型
ALTER TABLE [dbo].[test] ALTER COLUMN [asas] tinyint
GO

--索引
CREATE INDEX [qw] ON [dbo].[test]
([id11] ASC)
GO

DROP INDEX [qw] ON [dbo].[test]
GO

--外键
ALTER TABLE [dbo].[test] ADD CONSTRAINT [we] FOREIGN KEY ([id11]) REFERENCES [dbo].[dt_article] ([id]) ON DELETE NO ACTION
GO

ALTER TABLE [dbo].[test] DROP CONSTRAINT [we]
GO

CREATE TRIGGER [dbo].[we]
ON [dbo].[test]
AFTER
AS
BEGIN
-- type your statements here
END
GO

--唯一键
ALTER TABLE [dbo].[test] ADD CONSTRAINT [wsas] UNIQUE ([id11])
GO

--检查
ALTER TABLE [dbo].[test] ADD CONSTRAINT [we] CHECK (we)
GO

--触发器 注释
IF ((SELECT COUNT(*) from fn_listextendedproperty(‘MS_Description‘,
‘SCHEMA‘, N‘dbo‘,
‘TABLE‘, N‘test‘,
NULL, NULL)) > 0)
EXEC sp_updateextendedproperty @name = N‘MS_Description‘, @value = N‘asasa‘
, @level0type = ‘SCHEMA‘, @level0name = N‘dbo‘
, @level1type = ‘TABLE‘, @level1name = N‘test‘
ELSE
EXEC sp_addextendedproperty @name = N‘MS_Description‘, @value = N‘asasa‘
, @level0type = ‘SCHEMA‘, @level0name = N‘dbo‘
, @level1type = ‘TABLE‘, @level1name = N‘test‘
GO

use demodtcms --等同 demodtcms..dt_express
go
--查询表的主键名
DECLARE @PKName VARCHAR(100)

select @PKName=name from sysobjects where parent_obj in (
select id from sysobjects where name=‘gggggggggg‘)
and xtype=‘pk‘

PRINT @PKName

if(@PKName <> ‘‘)
EXEC(‘ALTER TABLE [dbo].[gggggggggg] DROP CONSTRAINT [‘+ @PKName +‘]‘)
GO

--查询表的默认值名
DECLARE @DFName VARCHAR(100)

select @DFName=name from sysobjects where parent_obj in (
select id from sysobjects where name=‘gggggggggg‘)
and xtype=‘D‘and id in(SELECT e.id from syscolumns a inner join sysobjects d on a.id=d.id and d.xtype=‘U‘ and d.name =‘gggggggggg‘ left join syscomments e on a.cdefault=e.id WHERE a.name=‘asda11‘)
PRINT @DFName
if(@DFName <> ‘‘)
EXEC(‘ALTER TABLE [dbo].[gggggggggg] DROP CONSTRAINT [‘+ @DFName +‘]‘)
GO

时间: 2024-10-09 07:42:14

SQL server 表操作语句(原创)的相关文章

【转载】SQL Server - 使用 Merge 语句实现表数据之间的对比同步

原文地址:SQL Server - 使用 Merge 语句实现表数据之间的对比同步 表数据之间的同步有很多种实现方式,比如删除然后重新 INSERT,或者写一些其它的分支条件判断再加以 INSERT 或者 UPDATE 等.包括在 SSIS Package 中也可以通过 Lookup, Condition Split 等多种 Task 的组合来实现表数据之间的同步.在这里 "同步" 的意思是指每次执行一段代码的时候能够确保 A 表的数据和 B 表的数据始终相同. 可以通过 SQL Se

SQL Server - 使用 Merge 语句实现表数据之间的对比同步

原文:SQL Server - 使用 Merge 语句实现表数据之间的对比同步 表数据之间的同步有很多种实现方式,比如删除然后重新 INSERT,或者写一些其它的分支条件判断再加以 INSERT 或者 UPDATE 等.包括在 SSIS Package 中也可以通过 Lookup, Condition Split 等多种 Task 的组合来实现表数据之间的同步.在这里 "同步" 的意思是指每次执行一段代码的时候能够确保 A 表的数据和 B 表的数据始终相同. 可以通过 SQL Serv

Sql server的Merge语句,源表中如果有重复数据会导致执行报错

用过sql server的Merge语句的开发人员都应该很清楚Merge用来做表数据的插入/更新是非常方便的,但是其中有一个问题值得关注,那就是Merge语句中的源表中不能出现重复的数据,我们举例来说明这个问题. 现在我们有一张表叫T_Class_A,其建表语句如下: CREATE TABLE [dbo].[T_Class_A]( [ID] [int] IDENTITY(1,1) NOT NULL, [ClassName] [nvarchar](50) NULL, [StudentTotalCo

SQL Server 表的管理_关于表的操作增删查改的操作的详解(案例代码)

SQL Server 表的管理_关于表的操作增删查改的操作的详解(案例代码) 概述: 表由行和列组成,每个表都必须有个表名. SQL CREATE TABLE 语法 CREATE TABLE table_name ( column_name1 data_type(size), column_name2 data_type(size), column_name3 data_type(size), .... ); 1.查看表 exec sp_help table1; 2.创建表 create tab

SQL Server表分区详解

原文:SQL Server表分区详解 什么是表分区 一般情况下,我们建立数据库表时,表数据都存放在一个文件里. 但是如果是分区表的话,表数据就会按照你指定的规则分放到不同的文件里,把一个大的数据文件拆分为多个小文件,还可以把这些小文件放在不同的磁盘下由多个cpu进行处理.这样文件的大小随着拆分而减小,还得到硬件系统的加强,自然对我们操作数据是大大有利的. 所以大数据量的数据表,对分区的需要还是必要的,因为它可以提高select效率,还可以对历史数据经行区分存档等.但是数据量少的数据就不要凑这个热

SQL Server数据库操作

通过SQL Server建库语句等,采用纯代码方式创建数据库,创建数据表,以及进行相应数据库操作,包括检索,插入,删除,修改. 以下通过一个例题说明数据库操作. 某仓储超市采用POS(Point of Sale)收银机负责前台的销售收款,为及时掌握销售信息,并依此指导进货,拟建立商品进.销.存数据库信息管理系统.经过系统需求分析.概念结构设计和逻辑结构设计,可以简化得到如下一组关系模式(其中     表示主键,    表示外键): 积分卡(用户编号,用户名,累积消费金额,积分点) 销售详单(销售

sql server 表变量存储临时查询数据

对于使用sql server 编写存储过程或者类似的sql 查询的时候我们使用表变量进行临时数据的存储,可以方便我们进行下来的数据处理 表变量的使用类似如下: declare @userinfo table(id nvarchar(50),name nvarchar(50)); insert into @userinfo(id,name) select classid,classname from classfirstselect * from @userinfo 以上的操作就是进行查询clas

SQL Server中DML语句要申请的锁

对于select语句: 1.当采用表扫描时,会直接锁定page,而不是锁定具体的某条记录,所以会有这些锁: A.数据库S锁 B.表的IS锁 C.页的S锁 2.当采用索引来查找数据时,会锁定具体的记录,所以会有这些锁: A.数据库S锁 B.索引中page的IS锁 C.索引中page中的key的S锁 D.表的IS锁 E.页的IS锁 F.RID的S锁 3.对于读过的页面,会加一个IS锁. 对于使用的索引,会对key加上S锁,对索引key所在的页面会加上IS锁. 在查询过程中,会对每一条读到的记录或ke

[转]如何将SQL Server表驻留内存和检测

注意这个功能在SQL2005后已经废弃,因为SQL2005会自动管理哪些表常驻内存. 将SQL Server数据表驻留内存是SQL Server提供的一项功能,在一般小型系统的开发过程中估计很少会涉及到.这里整理了相关文档资料,演示如何把SQL Server中一个表的所有数据都放入内存中,实现内存数据库,提高实时性. 1, DBCC PINTABLE Marks a table to be pinned, which means Microsoft SQL Server does not flu