SQL Server 使用筆記

功能

表刪除

  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.csdn.net/sinat_16998945/article/details/52586687
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章