项目

SqlServer 数据库常用 SQL 语句

表格

-- 清空表
TRUNCATE TABLE [TableName];

-- 表格新增列
ALTER TABLE [TableName] ADD [ColumnName] NVARCHAR(255);

-- 新增列 Order 并设置默认值为 0
ALTER TABLE [TableName] ADD [Order] int NOT NULL CONSTRAINT DF_TableName_Order DEFAULT 0;

-- 删除列
ALTER TABLE [TableName] DROP COLUMN [ColumnName];

外键约束

-- 查询指定表格外键约束
SELECT * FROM (
	SELECT
		f.name AS ForeignKeyName,
		OBJECT_NAME(f.parent_object_id) AS TableName,
		COL_NAME(fc.parent_object_id, fc.parent_column_id) AS ColumnName,
		OBJECT_NAME(f.referenced_object_id) AS ReferencedTableName,
		COL_NAME(fc.referenced_object_id, fc.referenced_column_id) AS ReferencedColumnName
	FROM
		sys.foreign_keys AS f
	INNER JOIN
		sys.foreign_key_columns AS fc
	ON
		f.OBJECT_ID = fc.constraint_object_id
) AS t
WHERE
	t.TableName='TableName' -- 表名
;

-- 移除表格外键约束, FK_name 为外键约束名称
ALTER TABLE [TableName] DROP CONSTRAINT FK_name;

-- 添加外键约束
ALTER TABLE [TableName] ADD CONSTRAINT FK_name
    -- 外键列名称
	FOREIGN KEY ([DocumentId])
    -- 主表与列名
	REFERENCES [Documents]([Id])
	;

索引

-- 新建索引
CREATE INDEX [IndexName] ON [TableName]([ColumnName], [ColumnName2]);

-- 删除索引
DROP INDEX [IndexName] ON [TableName];
在本文档中