sql知识的小结(一)

本文总结了SQL Server与Access数据库的特点和适用场景,指出Access适合小型应用,而SQL Server适用于大型数据应用,具备更好的管理、扩展性和效率。此外,分享了一个SQL插入数据的语句,并提到SQL Server支持存储过程,数据库大小无限制。
摘要由CSDN通过智能技术生成
1.数据库的备份
1)新建数据库操作
对于操作的数据库——》右击“编写数据库脚本”--->"create 到(c)"——》“新建查询编辑器窗口”

2)在创建新的数据库后,"任务"-》“生成脚本”,这一步操作是为了在已生成的数据库中创建新的表、导入存储过程,注意导入的只是数据库的结构

3)导入数据到表中
在源数据库上右击任务-》导入数据


2.将表1的数据放到表2
--允许将显式值插入表的标识列中 ON-允许  OFF-不允许
set identity_insert 表2 ON--打开
insert  into  [表2所在的数据库].dbo.表2(表2中需要加数据的字段) 
select 表1中的字段 from  [表1所在的数据库].dbo.表1
set identity_insert 表2 OFF--关闭


3.sql复制表结构,但是不复制数据
select *  into 数据库名.dbo.新表名   from  数据库名.dbo.原表名 where 1=0


4.复制表结构和表数据
1)如果新表不存在

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


2)如果新表存在

insert into 数据库名.dbo.新表名 select * from 数据库名.dbo.原表名  ---表结构一致


insert into 新表名(列名1,列名2,.....) select 列名1,列名2....from 旧表名 --表结构不一致



5.数据库原有ID字段,是自增列的,后来把数据全删除后,想让ID自增列从1开始算起
dbcc checkident('表名',reseed,0)---ID自增列从1开始算起


6.备份表的一部分列(不写*而写出列的列表)
select 列名1,列名2,列名3 into 数据库名.dbo.新表名 from 数据库名.dbo.原表名


7.备份表的一部分行(加WHERE条件)

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


8.在存储过程中,如果某个字段出错了,可以采用“新建查询”,打印出当前的变量
eg.DECLARE @tbGetFields nvarchar(max) = N'*';
   print @tbGetFields;


9.从项目表中读出开发人员
eg.
SELECT     TOP (200) 项目_编号, 项目_名称,
(select Top 1 负责人= stuff((select  ',' + (select top 1 姓名 from 员工表 where 员工编号= 任务_负责人)  from 任务表 t 
where t.负责人 = 负责人 and 
charindex(','+ltrim(项目编号)+',',','+convert( nvarchar(50),项目_编号)+',')>0 
 for xml path('')) 
 , 1 , 1 , '')  
from 任务表 ) as aaaaa 
FROM         项目表
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值