SQL Server 使用笔记

本文详细介绍了SQL Server的功能,包括表删除、远程访问数据库和作业(JOB)的使用,特别提到了作业中遇到的问题及解决。同时,概述了SQL的语法,如insert into select、like和通配符、in和between and、alias别名、join以及union,并解释了SQL与T-SQL的区别,以及DML和DDL的概念。

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

功能

表删除

  1. drop table table_name 删除整个表,包括表结构和内容
  2. truncate table table_name 删除表内容,保留结构
  3. delete from table_name where col1 = val 按行删除表内容,保留结构,运行速度比truncate

远程访问数据库

EXEC sp_addlinkedserver
@ server='xxxx', --链接服务器别名
@ srvproduct='',
@ provider='SQLOLEDB',
@ datasrc='xxxx' --要访问的的数据库所在的服务器的ip
GO
EXEC sp_addlinkedsrvlogin
'xxxx', --链接服务器别名
'false',
NULL,
'xxxx', --要访问的数据库的用户名
'xxxx' --要访问的数据库的密码
GO

运行结束后会在本地数据库的「服务器对象」-「连接服务器」中显示:
在这里插入图片描述

作业(JOB)

遇到的问题 1 :步骤顺序/成功或失败时执行的操作(2019.1.21)

报错:使用当前作业步骤流逻辑无法到达下列作业步骤,是否故意如此
原因:新建了一个步骤后将它移到第一位却没有改变开始步骤和成功时执行的步骤
在这里插入图片描述

语法

insert into select 和 select into

区别:

  • insert into select 的 table2_name (新表) 存在
INSERT INTO table2_name(col2_1, col2_2...) 
	SELECT col1_1, col1_2... FROM table1_name
  • select into 的 table2_name (新表) 不存在
SELECT col1_1, col1_2... 
	INTO table2_name 
	FROM table1_name

like 和 通配符

  1. like 用于where中,指定模式,%用作通配符
SELECT * FROM table_name
WHERE col1 LIKE 'p%'
  1. 通配符
    必须和like一起使用
  • %:替代一个或多个字符
  • _:替代一个字符
  • [charlist]:字符列中的任何单一字符
  • [^charlist] [!charlist]:不在字符列中的任何单一字符

in 和 between and

(not) in用于where中规定多个值
(not) between and用于where中规定值范围(数值、文本或者日期)

SELECT col1
FROM table_name
WHERE col1 IN (val1,val2,...)

SELECT col1
FROM table_name
WHERE col1
BETWEEN val1 AND val2

alias 别名

--- 表的别名
SELECT col
FROM table_name AS alias_name
--- 列的别名
SELECT col AS ali
FROM table_name

join

根据两个以上的表之中的列的关系,查询

SELECT table1_name.col1, table2_name.col1
FROM table1_name
INNER JOIN Orders
ON table1_name.col1 = Orders.col2
  • JOIN(INNER JOIN): 如果表中有至少一个匹配,则返回行
  • LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行
  • RIGHT JOIN(RIGHT OUTER JOIN): 即使左表中没有匹配,也从右表返回所有的行
  • FULL JOIN: 只要其中一个表中存在匹配,就返回行

union

合并select的结果集

SELECT coln FROM table1_name
UNION
SELECT coln FROM table2_name

概念

SQL 和T-SQL

SQL

  • Structured Query Language 结构化查询语句
  • 大多数主要的关系数据库管理系统(如MySQL,Oracle,SQL Server,PostgreSQL等)都以某种方式支持SQL
  • 它允许数据库供应商添加自己的扩展,如T-SQL

T-SQL

  • Transact-SQL是Microsoft和Sybase的SQL专有扩展,它扩展了SQL标准,包括SQL标准中未包含的额外功能
  • SQL Server中的大多数操作都是使用T-SQL完成的

SQL 数据操作语言 (DML) 和 数据定义语言 (DDL)

DML :

  • SELECT - 从数据库表中获取数据
  • UPDATE - 更新数据库表中的数据
  • DELETE - 从数据库表中删除数据
  • INSERT INTO - 向数据库表中插入数据

DDL :

  • CREATE DATABASE/TABLE/INDEX - 创建新数据库/新表/索引(搜索键)
  • ALTER DATABASE/TABLE - 修改数据库/新表
  • DROP TABLE/INDEX - 删除表/索引

参考

  1. insert into select 和 select into 的区别 http://www.cnblogs.com/freshman0216/archive/2008/08/15/1268316.html
  2. SQL Server 创建定时任务JOB https://blog.youkuaiyun.com/sinat_16998945/article/details/52586687
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值