SQL中常见语句笔记:

--替换字段中的回车符和换行符
UPDATE [dbo].[MGoods_Test] SET GoodsName = REPLACE(GoodsName, CHAR(13) + CHAR(10), '') --删除表命令
DROP TABLE [dbo].[MGoods_Test] --删除表中数据命令
DELETE FROM [dbo].[MGoods_Test] --逐行删除 有日志记录
TRUNCATE TABLE [dbo].[MGoods_Test] --TRUNCATE TABLE 语句是一种快速、无日志记录的方法。 --删除数据库中所有表
DECLARE cs_cursor CURSOR FOR
SELECT name FROM sysobjects WHERE type = 'U' DECLARE @tablename VARCHAR(100)
DECLARE @sql VARCHAR(150)
OPEN cs_cursor FETCH NEXT FROM cs_cursor INTO @tablename
WHILE @@FETCH_STATUS = 0
BEGIN
SET @sql = 'DROP TABLE ' + @tablename
EXEC(@sql)
FETCH NEXT FROM cs_cursor INTO @tablename
END CLOSE cs_cursor
DEALLOCATE cs_cursor --数据库设置为单用户模式
--1、在对象资源管理器中,连接到 SQL Server 数据库引擎的实例,然后展开该实例。
--2、右键单击要更改的数据库,再单击“属性”。
--3、在“数据库属性”对话框中,单击“选项”页。
--4、在“限制访问”选项中,选择“单用户”。
--5、如果其他用户连接到数据库,将出现“打开的连接”消息。 若要更改属性并关闭所有其他连接,请单击“是”。
ALTER DATABASE [DaiGou.Log] SET SINGLE_USER --单用户
ALTER DATABASE [DaiGou.Log] SET MULTI_USER --多用户 --添加表字段
ALTER TABLE dbo.MOrderDetailByCreated
ADD ParentId INT NOT NULL DEFAULT 0 --修改表字段
ALTER TABLE MOrderDetailByCreated
ALTER COLUMN ParentId INT NOT NULL --修改默认值
--需要先删除约束
ALTER TABLE MOrderDetailByCreated
ADD DEFAULT (0) FOR ParentId WITH VALUES --修改字段长度
ALTER TABLE dbo.MOrderDetail
ALTER COLUMN GoodsReferrerUrl VARCHAR(200) --看谁在连接数据库
EXEC sys.sp_who2
--查看数据库信息
EXEC sys.sp_helpdb [DaiGou.Com_Backup] --将处理热备状态的数据库手动上线使用
RESTORE DATABASE [Log_shipping_test] WITH RECOVERY /*修复数据库孤立用户 开始*/
USE [DaiGou.Com_Backup]
SELECT * FROM sysusers WHERE name='m6go_user' USE master
SELECT * FROM syslogins WHERE name='m6go_user' --修复SQL数据库用户孤立问题,前提是此数据库要有读写权限。
--步骤1:
--列出当前数据库的孤立用户
USE [DaiGou.Com_Backup]
EXEC sp_change_users_login 'REPORT' --步骤2:
--可以自动将用户名所对应的同名登录添加到syslogins中。
USE [DaiGou.Com_Backup]
EXEC sp_change_users_login 'AUTO_FIX','USERNAME' --步骤3:
--将用户名映射为指定的登录名。
USE [DaiGou.Com_Backup]
EXEC sp_change_users_login 'UPDATE_ONE','USERNAME','DENG LU MING'
/*修复数据库孤立用户 结束*/ /*修复AlwaysOn孤立用户的问题 开始*/
--1、在主服务器上创建用户名;
--2、给相关库指定权限;
--3、从主服务器获取此用户的SID和密码;
SELECT * FROM sys.sql_Logins WHERE name='wangjunfu'
--SID:0x4391109F4189B34A9D9E4187236579A0
--PWD:0x020043EB733E16F085F0EE08283C4F18C6E0F85BF0220479C92840919FCE4371CC812DDF921FB163A33EE6E14B882E49F86225F184221471555A4F15C41ED90CE7E80700DBA8 --4、到辅助服务器执行下面语句进行创建用户。
CREATE LOGIN wangjialin WITH PASSWORD = 0x020043EB733E16F085F0EE08283C4F18C6E0F85BF0220479C92840919FCE4371CC812DDF921FB163A33EE6E14B882E49F86225F184221471555A4F15C41ED90CE7E80700DBA8
HASHED, SID = 0x4391109F4189B34A9D9E4187236579A0,
CHECK_POLICY = OFF, CHECK_EXPIRATION = OFF /*修复AlwaysOn孤立用户的问题 结束*/ --创建索引
CREATE INDEX Index_Country ON dbo.MBigDataClear
(
Country ASC
) --删除索引
DROP INDEX dbo.MBigDataClear.Index_PositionPageType --按时间查询
SELECT COUNT(DISTINCT SessionId)
FROM dbo.MBigDataCollect WITH ( NOLOCK )
WHERE EquipmentId = 0
AND PositionId = 0
AND CreateTime >= DATEADD(SECOND, -210, GETDATE())
AND CreateTime <= DATEADD(SECOND, -30, GETDATE()) --递归取出数据(有ParentId的情况下)
WITH cte AS
(
SELECT * FROM dbo.HBrand WHERE BrandId=1 AND IsStop=0 AND IsDel=0
UNION ALL
SELECT b.* FROM cte c INNER JOIN dbo.HBrand b ON c.BrandId = b.ParentId
)
SELECT * FROM cte WITH cte AS
(
SELECT CatalogId,ParentId,CatalogName FROM dbo.MCatalog WHERE CatalogId = 253
UNION ALL
SELECT b.CatalogId,b.ParentId,b.CatalogName FROM cte c INNER JOIN dbo.MCatalog b ON c.ParentId = b.CatalogId
)
SELECT * FROM cte --手动写分页
WITH t2 AS (
SELECT TOP 20
*
FROM MOrderCoupon WITH ( NOLOCK )
WHERE Id < ( SELECT MIN(Id) FROM ( SELECT TOP 100 Id FROM dbo.MOrderCoupon WITH ( NOLOCK ) ORDER BY Id DESC ) t1 )
ORDER BY Id DESC
)
SELECT * FROM t2; --扫描表信息
DBCC SHOWCONTIG (MBigDataClear) --查询表中有多少索引
EXEC sp_helpindex [MBigDataClear]
--重建表索引
ALTER INDEX PK_MBigDataClear ON [dbo].[MBigDataClear] REBUILD --获取短日期
DECLARE @dt VARCHAR(20)
SET @dt = CONVERT(VARCHAR(10),GETDATE(),120)
SELECT @dt --创建唯一约束
ALTER TABLE dbo.HCarsBills ADD CONSTRAINT UE_BookId UNIQUE (BookId) --将字符串转化成整数
SELECT id FROM [dbo].[HHotelCustom] WHERE ISNUMERIC(id)<=0

SQL中常见语句的更多相关文章

  1. sql 中常见的控制流语句

    控制流语句:1 begin .....end  2 if ...else  例如:if exists (select * from 表名称 ) begin selct * from  表名称 end  ...

  2. SQL 中 SELECT 语句的执行顺序

    好像自已在书写 SQL 语句时由于不清楚各个关键字的执行顺序, 往往组织的 SQL 语句缺少很好的逻辑, 凭感觉 "拼凑" ( 不好意思, 如果您的 SQL 语句也经常 " ...

  3. SQL 中常见的系统存储过程

    -- 来源于网络 -- 更详细的介结参考联机帮助文档 xp_cmdshell --*执行DOS各种命令,结果以文本行返回. xp_fixeddrives --*查询各磁盘/分区可用空间 xp_logi ...

  4. 【SQL】SQL 中Select语句完整的执行顺序

    SQL Select语句完整的执行顺序: 1.from子句组装来自不同数据源的数据: 2.where子句基于指定的条件对记录行进行筛选: 3.group by子句将数据划分为多个分组: 4.使用聚集函 ...

  5. SQL中查询语句的使用

    常用SQL查询语句 - myLittleGarden - 博客园 http://www.cnblogs.com/sunada2005/p/3411873.html 一.简单查询语句 1. 查看表结构 ...

  6. SQL中Like语句的语法

    在SQL结构化查询语言中,LIKE语句有着至关重要的作用. LIKE语句的语法格式是:select * from 表名 where 字段名 like 对应值(子串),它主要是针对字符型字段的,它的作用 ...

  7. 如何获取SQL中Print语句输出内容

    SqlConnection cn = new SqlConnection("server=my\\my2005;database=rdwhdata2005;user id=zjh;passw ...

  8. SQL中where语句不能使用直接跟在select后列的别名

    由于select语句的执行顺序为: 1. from语句 2. where语句(结合条件) 3. start with语句 4. connect by语句 5. where语句 6. group by语 ...

  9. sql中select语句的逻辑执行顺序

    下面是SELECT语句的逻辑执行顺序: FROMONJOINWHEREGROUP BYWITH CUBE or WITH ROLLUPHAVINGSELECTDISTINCTORDER BYTOP M ...

随机推荐

  1. GDI+ 和GDI

    GDI:Graphics Device Interface,即图形设备接口,是Windows API的一个重要组成部分.它是Windows图形显示程序与实际物理设备之间的桥梁,GDI使得用户无需关心具 ...

  2. NC 的简单使用

    netcat被誉为网络安全界的’瑞士军刀’,相信没有什么人不认识它吧……一个简单而有用的工具,透过使用TCP或UDP协议的网络连接去读写数据.它被设计成一个稳定的后门工具,能够直接由其它程序和脚本轻松 ...

  3. LeetCode 34 Search for a Range (有序数组中查找给定数字的起止下标)

    题目链接: https://leetcode.com/problems/search-for-a-range/?tab=Description   Problem: 在已知递减排序的数组中,查找到给定 ...

  4. 不同.NET Framework版本下ASP.NET FormsAuthentication的兼容性

    假设站点A加密使用.NET Framework 2.0,站点B解密使用.NET Framework 4.0,除了保持MachineKey相同外还需要进行如下设置: 1.Web.config的<a ...

  5. rpmdb: unable to join the environment的问题解决

    今天笔者在Centos 6.3上使用yum安装lsof软件时,报如下错误: [root@ ~]# yum install lsof -y rpmdb: unable to join the envir ...

  6. [工具] 各种主流 SQLServer 迁移到 MySQL 工具对比

    我之所以会写这篇对比文章,是因为公司新产品研发真实经历过这个痛苦过程(传统基于SQL Server开发的C/S产品转为MySQL云产品). 首次需要数据转换是测试环节,当时为了快速验证新研发云产品性能 ...

  7. git--指定不上传的文件夹

    在使用 vue-cli 脚手架的时候,有一个依赖模板文件夹是不希望被上传到git上的,因为里面文件太多了. 解决办法:手动创建git忽略push清单,node_module以及自身 1.文件夹内右键g ...

  8. ajax跨域获取返回值

    js代码 $.ajax({ async:false, url: 'https://***/api/prepareApi.getDanMu?sqlMapId=findBarrage', // 跨域URL ...

  9. Linux监控远程端口是否开启脚本

    #!/bin/bash #author Liuyueming #date 2017-07-29 #定时检测邦联收单及预付卡系统 pos_num=`nmap 远程IP地址 -p 端口号|sed -n & ...

  10. ubuntu16.04下笔记本电脑扩展双屏安装过程

    想给笔记本电脑外界一个显示屏,因为科研需要,我的笔记本是windows10加Ubuntu16.04双系统,主要使用Ubuntu系统. 首先是硬件 一个外置显示屏是必须的了,然后我的笔电上只有HDMI接 ...