二、SQLSERVER数据表格

1、创建表格

语法:CREATE TABLE 表名称(字段)

示例:

-- 引用数据库
USE microdb
--存在则删除表
IF EXISTS(SELECT * FROM sysobjects WHERE name= 'microdt' AND type='U')
BEGIN
	DROP TABLE microdt
END
--创建表格
CREATE TABLE microdt(
	--字段ID为主键和标识规范,标识增量为1,标识种子为1
	id INT IDENTITY(1,1) PRIMARY KEY,
	--字段TITLE为不可空
	title NVARCHAR(50) NOT NULL
)

  

2、删除表格

语法:DROP TABLE TabName

示例:

DROP TABLE microdt

  

3、修改数据库表结构

ALTER TABLE tableName ALTER COLUMN columnName BIT

  

4、SQLSERVER复制表操作

1:复制表结构及数据到新表

select * into 目的数据库名.dbo.目的表名 from 原表名

 

2:备份表的一部分列(不写*而写出列的列表)

select 列名1,列名2,列名3 into 目的数据库名.dbo.目的表名 from 原表名

 

3:备份表的一部分行(加WHERE条件)

select * into 目的数据库名.dbo.目的表名 from 原表名 where id<10

 

4:备份表的一部分列(不写*而写出列的列表)和一部分行(加WHERE条件)

select 列名1,列名2,列名3 into 目的数据库名.dbo.目的表名 from 原表名 where  id<10

 

6:查询结果来源于多个表:如:

select 列名1,列名2,列名3 into 目的数据库名.dbo.目的表名 from 原表名 INNER JOIN 连表名 原表名.id=连表名.id ON where  id<10

 

7、创建零时表格

DECLARE @TempUser TABLE(ID VARCHAR(20),UserName NVARCHAR(50))
INSERT INTO @TempUser(ID,UserName)
SELECT 
	su.ID,su.UserName
FROM dbo.SYS_Users su WITH (NOLOCK)
WHERE ISNULL(su.UserName,'') <> ''
IF @@ROWCOUNT > 0
BEGIN
    T-SQL
END

 8、sqlserver 判断是否存在指定的数据表格

1. 使用 sys.objects 视图
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[YourSchemaName].[YourTableName]') AND type in (N'U'))
BEGIN
    PRINT 'Table exists'
END
ELSE
    BEGIN
        PRINT 'Table does not exist'
    END
2. 使用 INFORMATION_SCHEMA.TABLES
IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'YourTableName' AND TABLE_SCHEMA = 'YourSchemaName')
BEGIN
    PRINT 'Table exists'
END
ELSE
    BEGIN
        PRINT 'Table does not exist'
    END

  

posted @ 2021-11-20 10:23  microsoft-zhcn  阅读(182)  评论(0)    收藏  举报