SQL笔记 [长期更新] (-2015.4)

本文分享了SQL的实用技巧,包括如何复制表结构和数据,查询数据库中的所有表名,以及如何设置数据的千分位显示。涵盖了从创建表到数据展示的全过程,适合SQL初学者和日常使用者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【遍历所有表,复制表结构,复制表数据】

--插入语句
SELECT * INTO A FROM B 是在还没有A表的情况下,直接通过B表创建并把B表数据复制到A表里面,之后A,B表的结构和数据完全一样。
insert into A select * from B 是在已经创建了A表的情况下,将B表数据复制到A表,此前A表的结构要和B表相同,不然插入的时候报错。

--复制表结构到新的库中
SELECT * INTO table1 FROM DBTest.dbo.table1



--查询库中的所有表名
SELECT * FROM sysobjects WHERE xtype='U'
--SELECT * FROM sys.objects WHERE type='U'



--遍历库中的所有表,对所有表批量执行指定sql
declare @tb_name nvarchar(100)
declare @i int
declare @tb table(id int identity(1,1),name nvarchar(1000))

set @i = 1
set @tb_name = 'cx' --以这个值开头的所有表

insert into @tb(name)
select t.name
from sysobjects t
where xtype='u' and t.name like @tb_name+'%'

while @i <= (select COUNT(*) from @tb)
begin
select @tb_name = name from @tb where id = @i;

exec('select * from '+@tb_name);

set @i = @i + 1
end
 
SQL设置千分位:
select convert(varchar,cast(asst_depreciation_money AS MONEY),1) AS asst_depreciation_money -----带小数点的
select reverse(stuff(reverse(convert(varchar,convert(money,123000),1)),1,3,'')) ----不带小数点的

posted on 2015-04-15 21:07  v.e.n.u.s 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/jx270/p/4430198.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值