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