1. 树(sql2005以上版本)
--通过子节点查询父节点 WITH TREE AS( SELECT * FROM tstructure WHERE id = 6 -- 要查询的子 id UNION ALL SELECT tstructure.* FROM tstructure, TREE WHERE TREE.parent = tstructure.id ) SELECT * FROM TREE --通过父节点查询子节点 WITH TREE AS ( SELECT t.*, 0 level FROM t_sys_menu t WHERE t.menu_id = 1 -- 要查询的父 id UNION ALL SELECT m.*, Tree.level + 1 FROM t_sys_menu m, TREE WHERE m.up_menu_id = TREE.menu_id ) SELECT * FROM TREE
2. 从结果集更新表
update t_health_gps set latitude = b.lat, longitude = b.lng from t_health_gps a , (select x.aged_id, y.community, y.detailed, z.area_name,z.position, u.gps_id, u.latitude,u.longitude, SUBSTRING(z.position, 0, CHARINDEX(',', z.position)) as lng, SUBSTRING(z.position, CHARINDEX(',', z.position) + 1, LEN(z.position)) as lat from t_aged x, t_aged_address y, t_area_dict z, t_health_gps u where x.aged_id = y.aged_id and y.community = z.area_id and u.aged_id = x.aged_id ) as b where a.gps_id = b.gps_id
3. 注释
EXECUTE sp_addextendedproperty N'MS_Description', '服务商信息表', N'user', N'dbo', N'table', N't_sp_company', NULL, NULL; EXECUTE sp_addextendedproperty N'MS_Description', '服务商ID', N'user', N'dbo', N'table', N't_sp_company', N'COLUMN', N'sp_id';
4. 修改字段
alter table t_member alter column face_url varchar(500);
5. 分页查询
-- sqlserver 2000不支持ROW_NUMBER() SELECT * FROM t_table as t1 , ( SELECT TOP 20 ROW_NUMBER() OVER (ORDER BY t1.id DESC) as n, t1.id FROM t_table as t1 ) t2 WHERE t1.id = t2.id and t2.n > 10 ; -- 通用 SELECT * FROM t_table as t1 WHERE t1.id in ( SELECT TOP 10 t1.id FROM ( SELECT TOP 20 t1.id FROM t_table as t1 ORDER BY t1.id DESC ) as t1 ORDER BY t1.id ASC ) ORDER BY t1.id DESC;
6. 强制清空数据库所有表的数据
-- 强制清空数据库所有表的数据 CREATE PROCEDURE sp_DeleteAllData AS -- sp_MSForEachTable !!注意:微软官方文档对此存储过程没有详细描述 -- 禁用约束 EXEC sp_MSForEachTable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL' -- 禁用触发器 EXEC sp_MSForEachTable 'ALTER TABLE ? DISABLE TRIGGER ALL' -- 删除所有表的数据 EXEC sp_MSForEachTable 'DELETE FROM ?' -- 启用约束 EXEC sp_MSForEachTable 'ALTER TABLE ? CHECK CONSTRAINT ALL' -- 启用触发器 EXEC sp_MSForEachTable 'ALTER TABLE ? ENABLE TRIGGER ALL' -- 执行检查, 可省略 EXEC sp_MSFOREACHTABLE 'SELECT * FROM ?' GO -- 执行存储过程 EXEC sp_DeleteAllData;
7. 删除所有表
--/第1步**********删除所有表的外键约束*************************/ DECLARE c1 cursor for select 'alter table ['+ object_name(parent_obj) + '] drop constraint ['+name+']; ' from sysobjects where xtype = 'F' open c1 declare @c1 varchar(8000) fetch next from c1 into @c1 while(@@fetch_status=0) begin exec(@c1) fetch next from c1 into @c1 end close c1 deallocate c1 --/第2步**********删除所有表*************************/ GO declare @sql varchar(8000) while (select count(*) from sysobjects where type='U')>0 begin SELECT @sql='drop table ' + name FROM sysobjects WHERE (type = 'U') ORDER BY 'drop table ' + name exec(@sql) end
8. 表|列|索引-重命名
-- 基本语法: -- sp_rename [ @objname = ] 'object_name' , [ @newname = ] 'new_name' [ , [ @objtype = ] 'object_type' ] --eg: -- 1. table EXEC sp_rename 'Sales.SalesTerritory', 'SalesTerr'; -- 2. column EXEC sp_rename 'Sales.SalesTerritory.TerritoryID', 'TerrID', 'COLUMN'; -- 3. index GO EXEC sp_rename N'Purchasing.ProductVendor.IX_ProductVendor_VendorID', N'IX_VendorID', N'INDEX';
9. 查找外键信息
-- 外键约束名称, 子表, 子表列, 父表 select fk.name fkname , ftable.name ftablename, cn.name fkcol, rtable.name ftablename from sysforeignkeys join sysobjects fk on sysforeignkeys.constid = fk.id join sysobjects ftable on sysforeignkeys.fkeyid = ftable.id join sysobjects rtable on sysforeignkeys.rkeyid = rtable.id join syscolumns cn on sysforeignkeys.fkeyid = cn.id and sysforeignkeys.fkey = cn.colid
相关推荐
* 关系型数据库是指使用关系模型来组织和存储数据的数据库,例如 MySQL、Oracle、MS SQL Server 等。 * 关系型数据库的特点是使用表来存储数据,每个表都有行和列,行表示记录,列表示字段。 MySQL 数据库的安装和...
### MS SQL SERVER 学习笔记知识点汇总 #### 数据库技术简介 **基本概念** - **数据库**: 计算机存储器中用于存储数据的仓库,是数据管理的基础。 - **数据库系统**: 包括数据库、数据库管理系统(DBMS)、应用...
数据库 SQL备份和还原 , 数据库资料, MS SQL SERVER数据库置疑后恢复步骤 MSSQL中如何用SQL清除所有表的数据,SQL优化,配置SQL内存,利用触发器实现标识列连续,清理过大的日志文件
《jForum与MS SQLServer整合学习笔记》 jForum是一款基于Java的开源论坛系统,它以其高度可定制性、灵活性和强大的功能深受开发者喜爱。在本文中,我们将深入探讨如何将jForum与Microsoft SQL Server(简称MS SQL...
"SQL 数据库管理与开发教程与实训" 试卷笔记 本试卷涵盖了 SQL 数据库管理与开发的基本概念、SQL 语言基础、数据库设计、数据查询、数据操纵、数据库安全等方面的知识点。 一、单项选择题 1. 数据库特点不包括...
MS.SQL.Server.2008.学习笔记:日常维护、深入管理、性能优化.part2.rar; SQLServer; 2008; 维护; 管理; 优化; 第二部分(共两部分)
数据库(DataBase,简称DB):数据库是一个按数据结构来存储和管理数据的计算机软件系统。 存储和管理数据的仓库. 操作数据库:CRUD 数据库管理系统(DataBase Management System:DBMS)...SQL Server MS ,收费. DB2 IBM
Java笔记--Oracle中SQL不能用Limit的处理 在Java开发中,我们经常需要对数据库进行分页查询,但是Oracle数据库不支持Limit关键字,那么如何在Oracle中实现分页查询呢?下面,我们将详细介绍Oracle中SQL不能用Limit...
除了oracle数据库,sybase、mysql、mssqlserver、MS Access等数据库也可以访问和查看数据。同一个界面可以登录多个数据库,方便多个数据库之间的操作。 优点是由于占用更多的内存,执行几十个或者几百个sql的效率...
### MySQL数据库索引设计原理与实践 #### 一、理论基础 ##### 1.1、一个例子 在MySQL中,合理的索引设计对于提高查询效率至关重要。为了更好地理解这一点,我们可以通过一个具体的例子来深入探讨。 假设有一个...
常见的数据库管理系统有MySQL、Oracle、MS SqlServer、DB2、sybase等。 SQL是结构化查询语言,程序员需要学习SQL语句,程序员通过编写SQL语句,然后DBMS负责执行SQL语句,最终来完成数据库中数据的增删改查操作。...
- Millisecond (ms) - DayOfWeek (dw) **3. 字符串函数** - **位置查询** ```sql CHARINDEX(子字符串, 字符串); ``` 返回子字符串在字符串中的起始位置。 - **长度** ```sql LEN(字符串); ``` 返回字符...
- 注意大小写敏感性,某些数据库对大小写敏感,如MS Access。 - 使用表的主键进行关联,可提高查询速度。 - 对于大型数据库,合理建立索引,有助于加快查询速度。 在准备全国计算机等级考试二级ACCESS数据库程序...
【MSSQL 学习笔记】中涵盖了多个关键知识点,主要涉及SQL Server的查询操作、存储过程、日期处理以及数据库的连接与管理。以下是对这些知识点的详细解释: 1. **DISTINCT**: 在SQL中,DISTINCT关键字用于去除查询...
1. **MS-DOS方式**:即命令行方式,通过输入特定命令来执行数据库操作。 2. **可视化操作方式**:如使用**phpMyAdmin**等工具,用户可以通过图形界面直观地管理和操作数据库。 #### 数据库操作流程 1. 客户端连接...
- 对于SQL Server数据库: ``` "Provider=SQLOLEDB;DataSource=serverName;InitialCatalog=databaseName;UserID=MyUserID;Password=MyPassword;" ``` #### 关闭连接 - **Close方法**:关闭当前的数据库连接。 ...
JDBC.doc: JDBC(Java Database Connectivity)是Java访问数据库的标准API,笔记可能讲解如何连接数据库、执行SQL语句、处理结果集以及事务管理等。 EJB笔记.doc: EJB(Enterprise JavaBeans)是Java EE平台的一...
### SAP ERP 6.0 安装指南:MS SQL Server 版本 #### 概述 本文档旨在为系统管理员和技术顾问提供安装 SAP ERP 6.0 (EHP4 准备就绪版 ABAP) 在 Windows 系统上配合 MS SQL Server 的详细指导。该文档基于 SAP ...
- MS SQL Server - IBM DB2/Informix - MySQL - Sybase ASE - **环境变量配置示例:** - `$PATH` 包含 `/oracle/data/oracle/product/9.2.0/bin` 表示 Oracle 安装路径。 - `$ORACLE_SID` 用于指定当前数据库...