SQL SERVER基础语句
2016-05-09 22:30
260 查看
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
如下图:
![](https://images2015.cnblogs.com/blog/826232/201608/826232-20160819151055562-823302219.png)
5、对日期进行格式的转化,
![](https://images2015.cnblogs.com/blog/826232/201608/826232-20160819152158625-40630196.png)
这里的GETDATE()是可以用表中的某个字段代替
select (DATENAME(MONTH,GETDATE())+'/'+DATENAME(DAY,GETDATE())+' '+DATENAME(HOUR,GETDATE())+':'+
DATENAME(MINUTE,GETDATE()))
如下图:
![](https://images2015.cnblogs.com/blog/826232/201608/826232-20160819152302218-1162410039.png)
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]
![](https://images2015.cnblogs.com/blog/826232/201610/826232-20161019143514435-276871388.png)
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
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
如下图:
![](https://images2015.cnblogs.com/blog/826232/201608/826232-20160819151055562-823302219.png)
5、对日期进行格式的转化,
![](https://images2015.cnblogs.com/blog/826232/201608/826232-20160819152158625-40630196.png)
这里的GETDATE()是可以用表中的某个字段代替
select (DATENAME(MONTH,GETDATE())+'/'+DATENAME(DAY,GETDATE())+' '+DATENAME(HOUR,GETDATE())+':'+
DATENAME(MINUTE,GETDATE()))
如下图:
![](https://images2015.cnblogs.com/blog/826232/201608/826232-20160819152302218-1162410039.png)
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]
![](https://images2015.cnblogs.com/blog/826232/201610/826232-20161019143514435-276871388.png)
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
相关文章推荐
- 数据库的......
- system.Data.SqlClient.SqlError:因为数据库正在使用,所以无法获得对数据库的独占访问权
- mysql主从复制
- mysql bin-log日志与mysqldump备份与恢复
- C#将图片保存到数据库字段并反向读取
- 有关Mysql分库分表,读写分离数据库水平拆分
- sqlnet.ora
- mysql授权
- Can't connect to MySQL server on localhost (10061)解决方法
- mysql源码安装
- ContentProvider 之 短信数据库和表结构
- redis学习笔记(12)---server基本流程
- oracle笔记
- Redis 防缓存雪崩锁方法实现
- 2016-5-9oracle测试面试
- SQL优化--发现问题
- 使用html2canvas截屏,利用itextpdf转为pdf保存到数据库
- 商品超市管理系统作业
- mysql的多表连接
- MySQL 数据导入