SQL SERVER基础语句

1、增加字段名

ALTER TABLE  [表名] ADD  [列名] VARCHAR(20) NULL

VARCHAR(20)是新加字段的类型和长度
NUll:表示允许NULL值

 

3、修改字段类型

Alter table [表名] Alter column [列名] [列类型]

 

3、清除表数据

truncate table [表名]      ---tablename为表名。   删除内容、释放空间

delete from [表名]     ----删除表数据,不释放空间,效率比truncate低

delete from [表名] where ···

drop table [表名]     ---删除整个表

4、对特殊的列的值用其他表示:

select case [status] when '1' then '启用' when '2' then '禁止' else '其他' end from dbo.Kh

如下图:

 5、对日期进行格式的转化, 这里的GETDATE()是可以用表中的某个字段代替

select (DATENAME(MONTH,GETDATE())+'/'+DATENAME(DAY,GETDATE())+' '+DATENAME(HOUR,GETDATE())+':'+
DATENAME(MINUTE,GETDATE()))

如下图:

6、SQL Server 将一个表数据拷贝到另一个表

  insert into dbo.T_Person_1(Name,Age,Sex)  select Name,Age,Sex from dbo.T_Person

  insert into 目标表 select * from 原表;

  SQL Server中,,如果目标表不存在:

  select Name,Age into dbo.aa from dbo.T_Person;
  select * into 目标表 from 原表;

7、用Select生成自增Id

SELECT ROW_NUMBER() OVER (order by [Age] ) AS Id,  [Name],[Age] FROM [dbo].[Per]

8、计算一个表有多少个列

select count(1) from syscolumns where id = object_id('表名')

select * from syscolumns where id = object_id('表名')

SELECT MAX(colid) FROM syscolumns WHERE id=OBJECT_ID('表名')

9、数据库备份

BACKUP DATABASE [数据库名] TO  DISK = N'D:2016121164852数据库名' WITH NOFORMAT, NOINIT,  NAME = N'数据库名-完整 数据库 备份', SKIP, NOREWIND, NOUNLOAD,  STATS = 10

10、获取数据库表集合

SELECT ROW_NUMBER() OVER (order by  TABLE_NAME) AS Id,  TABLE_NAME  As tablename FROM INFORMATION_SCHEMA.TABLES   WHERE TABLE_TYPE = 'BASE TABLE'

11、获取不重复的记录数

SELECT COUNT(DISTINCT ('列名')) FROM '表名'

12、根据一个表的字段更新另一个表的字段

  update a set field1=b.field1, field2=b.field2 from b where a.id=b.id

原文地址:https://www.cnblogs.com/haibing0107/p/5475731.html