SQL-Server使用点滴

前言

  SQL的语法比较简单,学起来相比界面UI控制要简单得多,但是SQL在企业级应用中又是如此的重要,以至于很多开发人员都把重点放在SQL上。

  SQL并没有面向对象的概念,最复杂的设计也不过是表值函数,以及基于ORM思维的表类型映射处理了,还包括一些通用的程序数据结构处理。当然,SQL真正的精华在我看来,是如何优化其执行效率。各类数据库范式的应用以及索引的构建让数据效率足够强大,同时又结合了数据库结构设计与现实工程中的联系。一般程序语言总会在程序可读性和代码效率性中间遇到矛盾,而SQL直观的代码表达和复杂的关系结构运算,让她变成效率处理中的王者。我们几乎不用考虑太多的代码可读性问题,只需要关注规范及效率即可。

  说这么,反回说来还是落在现在的这片文档上,本文着力收录一些基础通用的SQL语法点,并且包含一些巧妙的处理内容。举例力求少和精简,使之即可以作为一个文档手册,又可以作为SQL知识扩展使用。

一,基础的增删改查:

  SQL中大概可以分为三种操作的对象类型:数据库,数据表,记录。这三种对象都有其对应的操作语句。

  1,数据库操作

1>, 创建数据库

if exists(Select * from sys.databases where name=‘数据库名‘)                  --先判断要建立的数据库是否存在

Drop Database 数据库名                                                                        --删除数据库

Go

Create Database 数据库名

2>,删除数据库:参照1>

3>,备份数据库

--先创建备份数据的设备(Device)

use master          --当前库转到主库

Exec sp_addumpdevice ‘Disk‘, ‘Testbak‘, ‘路径\文件名.dat‘             --这里Disk为设备类型,还可以写Pipe(管道),tape(磁带机),不过都使用较少。

--Testbak是为当前设备起的别名

--开始备份

Backup Database 要备份的数据库名 to Testbak

4>数据库修改操作使用的比较少,一般即便要修改也是通过企业管理器来进行,具体的语句这里不写了。

2, 数据表及各类约束的操作

1>创建新表

a> 标准建表: Create Table TbName(Col1 Type1[not null] [ Primary key] Default(Value1), Col2 Type2[null],...)

b>利用查询建表: Select * into 目地表名 from 原表名

这种建表的方式,不能把原表中的约束复制到新表中,必须通过其他语句逐一复制。如果利用这样的语句建立一个空表结构,可以增加 Top 0 或者 Where 1=0即可。

还有一种查询建表的方式: Create Table TbName as Select Col1,Col2 From TbOldName [Definition only]

这里的Definition only 也是只建立表结构的意思,第二种查询建表只对Oracle数据库有效。

时间: 2024-10-12 01:29:32

SQL-Server使用点滴的相关文章

sql点滴38—SQL Server 2008和SQL Server 2008 R2导出数据的选项略有不同

原文:sql点滴38—SQL Server 2008和SQL Server 2008 R2导出数据的选项略有不同 说明: 以前要将一个表中的数据导出为脚本,只有用存储过程.现在在SQL Server 2008中增加了一个新特性,除了导出表的定义外,还支持将表中的数据导出为脚本. 步骤: 右击需要导出数据的数据库,在弹出式菜单中选择“任务”下的“生成脚本”选项 在第二步选择“高级选项”如果不是2008(R2)的选择 "编写数据的脚本"选择为TRUE,这里默认是为FALSE的 , 是200

SQL点滴15—在SQL Server 2008中调用C#程序

原文:SQL点滴15-在SQL Server 2008中调用C#程序 T-SQL的在执行普通的查询的时候是很高效的,但是在执行循环,判断这样的语句的时候效率就不那么的高了.这时可以借助CLR了,我们可以在SQL Server 2008中扩展C#程序来完成循环等过程式的查询,或者其他SQL不便实现的功能.这个随笔中将介绍在SQL Server中扩展C#程序实现正则表达式的替换功能. 新建一个类库程序命名为Regex,打开Visual Studio 2008,点击File,点击New,点击Proje

SQL点滴9—SQL Server中的事务处理以及SSIS中的内建事务

原文:SQL点滴9-SQL Server中的事务处理以及SSIS中的内建事务 我们可以把SSIS中的整个package包含在一个事务中,但是如果在package的执行过程中有一个表需要锁定应该怎么处理呢?SSIS内建的事务处理可以解决这个问题.在此之前首先来熟悉一下SQL Server中的事务的概念. 事务 SQL Server中的事务是单个的工作单元.如果某一事务成功,则在该事务中进行的所有数据修改均会提交,成为数据库中永久的组成部分.如果事务遇到错误且必须取消或回滚,则所有的数据修改均被清除

SQL点滴12—SQL Server备份还原数据库中的小把戏

原文:SQL点滴12-SQL Server备份还原数据库中的小把戏 备份数据库时出现一个不太了解的错误 ,错误信息“is formatted to support  1 media families, but 2 media families are expected according to the backup device specification”.如下图: 解决办法是首先选中击上一次备份的文件,点击Remove,去掉当前的备份文件,然后再点击OK备份.这样才能正确的备份.也在微软帮助

SQL点滴7—使用SQL Server的attach功能出现错误及解决方法

原文:SQL点滴7-使用SQL Server的attach功能出现错误及解决方法 今天用SQL Server 2008的attach功能附加一个数据库,出了点问题,提示的错误是: Unable to open physical file "D:\Documents\Dalt\XXXX.mdf" Operating system error 5: "5(error not found)" (Microsoft SQL Server: Error 5120)"

SQL Server 2008的MSSQLSERVER 请求失败或服务未及时响应

我的是SQL server 2008R2, 以前可以正常的启动SQL server(SQLEXPRESS).SQL server(MSSQLSERVER),有几天没有打开了,就在昨天 开机之后就无法启动MSSQLSERVER了,提示的信息如下图: 快速解决办法如下: 第一步:打开事件查看器,查看windows日志,点击应用程序,查看windows错误日志 http://product.pconline.com.cn/itbk/software/win8/1211/3060037.html 第二步

【Kettle】4、SQL SERVER到SQL SERVER数据转换抽取实例

1.系统版本信息 System:Windows旗舰版 Service Pack1 Kettle版本:6.1.0.1-196 JDK版本:1.8.0_72 2.连接数据库 本次实例连接数据库时使用全局变量. 2.1 创建新转换:spoon启动后,点击Ctrl+N创建新转换 2.2 在新转换界面中,右键点击DB连接,系统会弹出[数据库连接]界面. windows系统环境下,可用${}获取变量的内容. 说明: 连接名称:配置数据源使用名称.(必填) 主机名称:数据库主机IP地址,此处演示使用本地IP(

Bootstrap + AngularJS+ Ashx + SQL Server/MySQL

去年年底12月,为适应移动端浏览需求,花了1个月时间学习Bootstrap,并将公司ASP网站重构成ASP.NET. 当时采取的网站架构: Bootstrap + jQuery + Ashx + SQL Server 时间紧,没人带,只能硬着头皮,最后如期完成,但是也遗留了几个问题. 问题: 1.页面查询条件太复杂,太多的checkbox,jQuery操作DOM虽然方便,但是组合成json提交给后端还是比较麻烦,有没有天然支持json的前端框架或者脚本语言? html控件做的任何修改,都自动保存

numeric and int in sql server

类型映射 https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/sql-server-data-type-mappings C#关键字 decimal https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/decimal The decimal keyword indicates a 128-bit data type. Compa

Performance Monitor4:监控SQL Server的IO性能

SQL Server的IO性能受到物理Disk的IO延迟和SQL Server内部执行的IO操作的影响.在监控Disk性能时,最主要的度量值(metric)是IO延迟,IO延迟是指从Application创建IO请求,到Disk完成IO请求的时间延迟.如果物理Disk不能及时完成IO请求,跟不上请求负载的速度,那么SQL Server就容易出现性能问题.SQL Server内部在执行一些特定的操作时,会和Disk做读写交互,这也会影响物理硬盘响应SQL Server的IO请求的性能,使查询进程处