文章目录
功能
表删除
drop table table_name
删除整个表,包括表结构和内容truncate table table_name
删除表内容,保留结构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 和 通配符
like
用于where
中,指定模式,%
用作通配符
SELECT * FROM table_name
WHERE col1 LIKE 'p%'
- 通配符
必须和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 - 删除表/索引
参考
- insert into select 和 select into 的区别 http://www.cnblogs.com/freshman0216/archive/2008/08/15/1268316.html
- SQL Server 创建定时任务JOB https://blog.youkuaiyun.com/sinat_16998945/article/details/52586687