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 ...
随机推荐
- Mongodb的windows服务安装和卸载
不用 InstallUtil.exe,直接用mongod.exe做就可以: 安装:mongod --dbpath "C:\mongodb\db" --logpath "C ...
- laravel 开启sql调试
打开app\Providers\AppServiceProvider.PHP,在boot方法中添加如下内容 public function boot() { //sql调试 $sql_debug = ...
- Android -- ADT变化&aar&Lint
Switch Case switch case 常用的使用方法: switch(v.getId()){ case R.id.btn1: doClick1(); break; } 在ADT中的改变 在正 ...
- nodejs pipe实现大文件拷贝
原文: http://nqdeng.github.io/7-days-nodejs/ --------------------------------------------------------- ...
- Sphinx + Coreseek 实现中文分词搜索
Sphinx + Coreseek 实现中文分词搜索 Sphinx Coreseek 实现中文分词搜索 全文检索 1 全文检索 vs 数据库 2 中文检索 vs 汉化检索 3 自建全文搜索与使用Goo ...
- cocos2d-x 手游源代码站
尊重开发人员的劳动成果,转载的时候请务必注明出处:http://blog.csdn.net/haomengzhu/article/details/37829061 1.魔幻方块 链接:魔幻方块源代码 ...
- C#.NET常见问题(FAQ)-如何把定义存放类实例的数组
数组存放的可以是普通的int,double,string类型,也可以是自定义的类的实例 如果数组长度未知,可以用list对象存放 更多教学视频和资料下载,欢迎关注以下信息: 我的优酷空间: h ...
- Discuz常见小问题-如何取消登陆发帖验证码
1 正常情况下,用户点击登录之后,需要填写验证码 2 进入后台,点击防灌水,验证设置,然后下面的各个选项可以设置是否启用验证码.
- URAL 1224. Spiral (规律)
1224. Spiral Time limit: 1.0 second Memory limit: 64 MB A brand new sapper robot is able to neutrali ...
- Selenium2(webdriver)_定位不到元素常见原因及解决办法
在做web应用的自动化测试时,定位元素是必不可少的,这个过程经常会碰到定位不到元素的情况,一般可以从以下几个方面着手解决: 1.Frame/Iframe原因定位不到元素: 这个是最常见的原因,首先要理 ...