T-Sql常用语句
1.用bcp导出txt数据
DECLARE
@bcp VARCHAR(100),
@date VARCHAR(10) BEGIN
SET @date = REPLACE(CONVERT(VARCHAR, GETDATE() - 2, 111), '/', '-'); SET @bcp = 'bcp WebStat.dbo.[PV_HIS_' + @date + '] out \pvtxt\PV_HIS_' + @date + '.txt -c -T'; --PRINT @bcp;
-- 执行bcp命令
EXEC xp_cmdshell @bcp; END;
2.动态执行sql
declare @sql varchar(4000) set @sql='select name' select @sql=@sql+',isnull(sum(case subject when '''+subject+''' then result end),0)['+subject+']' from (select distinct subject from CJ) as a select @sql=@sql+' from CJ group by Name' print @sql -- 打印 declare @test varchar(300) set @test = 'select getdate()' print @test exec(@test) --执行sql语句
3. 系统sql语句
--0.查询数据库中所有对象 select * from yourdb.sys.all_objects --查询数据库中所有的表 select * from yourdb.sys.tables select * from yourdb.sys.databases
--1 查询所有的数据库名称
select Name FROM Master.dbo.SysDatabases order BY Name
--2 获取所有表名
--XType='U':表示所有用户表;
--XType='S':表示所有系统表;
select name from sysobjects where xtype='U' order by name
--注意:一般情况只需要type = 'U',但有时候会有系统表混在其中
--不知道什么原因,加上后面一句后就能删除这些系统表了
SELECT name FROM sysobjects WHERE type = 'U' AND sysstat = '83'
select * from sysobjects where [type]='u' and xtype='u';
select * from systypes where xusertype=56
--3 获取所有字段名:
select name from syscolumns where id=OBJECT_ID('city') –表或视图名
SELECT syscolumns.name,systypes.name,syscolumns.isnullable,syscolumns.length
FROM syscolumns, systypes
WHERE syscolumns.xusertype = systypes.xusertype
AND syscolumns.id = object_id('tableName')
4.常用DDL语句
--创建数据库
Create database Users --创建表,添加主、外键 Create table T_Students( Id int IDENTITY(1,1) NOT NUL, StudentNo char(4), CourseNo char(4), Score int, Primary key(Id), Foreign key(CourseNo) References T_Course(CourseNo) ); --修改表结构,添加字段
Alter table T_Person add NickName nvarchar(50) null; --修改表结构,删除字段
Alter table T_Person Drop column NickName; --删除数据表
Drop table T_Person; --创建索引
Create [Unique] Index <索引名> on <基本表名>(<列明序列>);
1、group by 功能:分组统计 2、having子句,功能:指定组合或者聚合的搜索条件,通常与group by子句一起使用,完成分组查询后在进行筛选 3、联合查询 union: 功能:将两个以上的查询结果集组合成一个单个的结果集,该集中包括所有集中的全部行数据 4、连接查询,功能:将多个表中的数据查询出来放在一起 1)内连接:使用 = < > 等进行表间某些数据库的比较操作,并列出这些表中与连接条件相匹配的数据行 如:select * from TableA inner join TableB where A.aid = B.aid 2)自然连接:指明要查询的列,并排序 3)外连接:与内连接不同的是,内连接至少要有一个同属于两个表的行符合连接条件时才会返回行, 外连接会返回符合任意条件的行,它的表有主从之分,用主表中的每行去匹配从表中的行, 与内连接不同的是,外连接不会丢弃没有匹配的行,而是填充null给结果集。 5、创建一个表的SQL语句 create table tempTable( id int priamry key identity(1,1) not null, fieldA nvarchar(20), FK_ID int references OtherTable(id) ) 6、子查询:一个sql语句中嵌套另一个sql语句就叫嵌套查询,而被嵌入的这个语句就叫做子查询。 子查询也称内部查询,而包含子查询的select语句被称为外部查询,子查询自身可以包含一个或多个子查询,也可以嵌套任意数量的子查询。 7、创建视图:视图就是一个虚表 create View view.tempView select app.AppManageID,app.CompanyName, app.Passport, app.WebURL, app.ShopType,app.CreateTime from AppManage as app inner join PackageInfo as p on app.AppManageID=p.AppManageID
4.表复制
方法1:语句形式为:SELECT vale1, value2 into Table2 from Table1
Table2可以不存在。
方法2:语句形式为:Insert into Table2(field1,field2,...) select value1,value2,... from Table1
Table2必须存在。
update 2014-10-10 21:13:25
可以直接用语句查 select char(9) ,char(10), char(13)
查出来全是空白~
那就查ASCII表吧~
char(9) 水平制表符
char(10)换行键
char(13)回车键
char(9) :tab
char(10) :换行
char(13):回车
一般char(10)char(13)连着用,表示0x0A0x0D,即一个完整的回车换行。
--1.
--前期准备
DUMP TRANSACTION webstat WITH NO_LOG
bACKUP LOG webstat WITH TRUNCATE_ONLY --2.
webstat :文件名称
——收缩数据库
DBCC SHRINKFILE(N'webstat',916000) --3.
——查看收缩进度
use master
go
select * from sysprocesses
--cmd='DbccFilesCompact' (查session_id ) SELECT session_id,percent_complete
FROM sys.dm_exec_requests t WHERE session_id=59
go DUMP TRANSACTION webstat WITH NO_LOG
bACKUP LOG webstat WITH TRUNCATE_ONLY DBCC SHRINKFILE(N'web',916000) use master
go SELECT session_id,percent_complete
FROM sys.dm_exec_requests t WHERE session_id=53 select * from sysprocesses
CREATE procedure [dbo].[pr_state]
as
begin
DECLARE @SQLString NVARCHAR(500)
DECLARE @datetime NVARCHAR(20)
set @datetime =CONVERT(varchar(10), getdate()-1 ,120);
SET @SQLString =N'
insert into PV_HIS_JifenWall_Report(recorddate,type,count,usercount)
select '''+@datetime+''' , PageQueryString,count(1) cnt,count(distinct UserAccount) cntuseraccount
from [dbo].[PV_HIS_'+ @datetime+ '] a with(nolock) where PageQueryString in
(''CPAList'',''CPADownload'',''CPAInstall'',''CPAOpen'')
group by PageQueryString'
--print @SQLString
EXEC sp_executesql @SQLString
end
T-Sql常用语句的更多相关文章
- 【数据库】 SQL 常用语句
[数据库] SQL 常用语句 1.批量导入 INSERT INTO Table2(field1,field2,...) SELECT value1,value2,... FROMTable1 要求目标 ...
- 【数据库】 SQL 常用语句之系统语法
[数据库] SQL 常用语句之系统语法 1. 获取取数据库服务器上所有数据库的名字 SELECT name FROM master.dbo.sysdatabases 2. 获取取数据库服务器上所有非系 ...
- SQL常用语句之数据库的创建、删除以及属性的修改-篇幅1
本篇文章主要总结了SQL Server 语句的使用和一些基础知识,因为目前我也正在学习,所以总结一下. 要使用数据库语句,首先就要知道数据库对象的结构: 通常情况下,如果不会引起混淆,可以直接使用对象 ...
- SQL常用语句,随时用随时更新
更多详细说明文档查询 http://www.postgres.cn/docs/9.5/infoschema-columns.html 1.1通过表名查询表的属性 SELECT * FROM sys.s ...
- SQL常用语句(二)
--语 句 功 能--数据操作SELECT --从数据库表中检索数据行和列INSERT --向数据库表添加新数据行DELETE --从数据库表中删除数据行UPDATE --更新数据库表中的数据 --数 ...
- ORACLE数据库 常用命令和Sql常用语句
ORACLE 账号相关 如何获取表及权限 1.COPY表空间backup scottexp登录管理员账号system2.创建用户 create user han identified(认证) by m ...
- SQL常用语句整理
有次笔试最后一页的三个数据库连接查询,没有写出来,被考官暗讽了下.现在想来,实习初,确实很LOW.现公司刚入职的时候,负责过ETL方面,所以和数据库打了不少交道,五十行的联合查询.上百行的存储过程很常 ...
- mysql sql常用语句大全
SQL执行一次INSERT INTO查询,插入多行记录 insert into test.person(number,name,birthday) values(5,'cxx5',now()),(6, ...
- sql常用语句--转载
一.基础 .说明:创建数据库 CREATE DATABASE database-name .说明:删除数据库 drop database dbname .说明:备份sql server --- 创建 ...
- sql常用语句汇总
--创建数据库 USE yuju CREATE database YuJu on primary ( name='YuJu', filename='B:\ceshi数据库\YuJu.mdf', max ...
随机推荐
- spring 配置文件 获取变量(PropertyPlaceholderConfigurer)
转自:https://hbiao68.iteye.com/blog/2031006 1.Spring的框架中,org.springframework.beans.factory.config.Prop ...
- [转]Chart.js入门教程
Chart.js是一个简单.面向对象.为设计者和开发者准备的图表绘制工具库. 相信大部分人都一样,看到一大筐用文本或者表格形式呈现的数据就头疼.因为这种呈现方式也太无聊了吧...而且这对于我们处理原始 ...
- Oracle数据库将varchar类型的字段改为clob类型
alter table pwlp_accuse_info modify INSTRUCTION_STYLE long; alter table pwlp_accuse_info modify INST ...
- 八一八android开发规范(一种建议)
开发规范重不重要了,不言而喻.这里就给大家说一故事把——据<圣经·旧约·创世记>第11章记载,是当时人类联合起来兴建,希望能通往天堂的高塔.为了阻止人类的计划,上帝让人类说不同的语言,使人 ...
- 我们为何放弃Eclipse,投奔IntelliJ IDEA
本文来源于我在InfoQ中文站原创的文章,原文地址是:http://www.infoq.com/cn/news/2013/11/why-drop-eclipse-use-intellij Nikita ...
- SQL多表连接查询(详细实例)(转)
http://www.xker.com/page/e2012/0708/117368.html select * from student,course where student.ID=course ...
- offsetof与container_of宏[总结]
1.前言 今天在看代码时,遇到offsetof和container_of两个宏,觉得很有意思,功能很强大.offsetof是用来判断结构体中成员的偏移位置,container_of宏用来根据成员的地址 ...
- 3分钟搞定Linux系统正则表达式
正则表达式是一种字符模式,用于在查找过程中匹配制定的字符. 元字符通常在Linux中分为两类:Shell元字符,由Linux Shell进行解析:正则表达式元字符,由vi/grep/sed/awk等文 ...
- [转]shell脚本每行的执行顺序是怎样
原文:https://blog.csdn.net/weixin_42609121/article/details/83028000 ---------------------------------- ...
- window下配置Apache2服务器
1:去Apache.org下载安装包 http://httpd.apache.org/ 2:解压到某一个目录 3:修改httpd.conf(Apache的解压目录和端口号) 4:管理员方式启动cmd执 ...