sqlserver

在已有值的列上自动增加

获取列最大的值
declare @Field int
select @Field = ISNULL(Max(Field),0) from SupCsBill

根据序号增加

select @Field+(ROW_NUMBER() OVER (ORDER BY a.Uid ASC)) from SupCsBill

sql server多个相同的数据删除

1:自己添加一个区别字段,判断区别字段进行删除

delete from (select ROW_NUMBER() over(partition by 代码 order by 时间 desc) as rows a,代码,时间 from 表) where a > 2

2:查询出表中多于1的数据,查询出区别,根据区别进行删除

select 区别字段 from 表 a right join (select 代码,MIN(时间) 最小时间 from 表 group by sddm having COUNT(代码)>1) b on a.代码= b.代码 and a.时间= b.时间 order by a.代码

3:sql查询指定表外键约束

引用地址:https://www.cnblogs.com/sishahu/p/5806930.html
select
a.name as 约束名,
object_name(b.parent_object_id) as 外键表,
d.name as 外键列,
object_name(b.referenced_object_id) as 主健表,
c.name as 主键列
from sys.foreign_keys A
inner join sys.foreign_key_columns B on A.object_id=b.constraint_object_id
inner join sys.columns C on B.parent_object_id=C.object_id and B.parent_column_id=C.column_id
inner join sys.columns D on B.referenced_object_id=d.object_id and B.referenced_column_id=D.column_id
where object_name(B.referenced_object_id)='xxx';

4:根据值查询表与列

引用地址:https://blog.csdn.net/zengcong2013/article/details/55264202

Declare @value VARCHAR(1024)
--要查询的值
set @value = 'Medical'

SET NOCOUNT ON;
DECLARE @sql VARCHAR(1024)
DECLARE @table VARCHAR(64)
DECLARE @column VARCHAR(64)
CREATE TABLE #t (
tablename VARCHAR(64),
columnname VARCHAR(64)
)
DECLARE TABLES CURSOR FOR
SELECT o.name, c.name FROM syscolumns c
INNER JOIN sysobjects o ON c.id = o.id
WHERE o.type = 'U' AND c.xtype IN (167, 175, 231, 239)
ORDER BY o.name, c.name
OPEN TABLES
FETCH NEXT FROM TABLES
INTO @table, @column
WHILE @@FETCH_STATUS = 0
BEGIN
SET @sql = 'IF EXISTS(SELECT NULL FROM [' + @table + '] '
SET @sql = @sql + 'WHERE RTRIM(LTRIM([' + @column + '])) LIKE ''%' + @value + '%'') '
SET @sql = @sql + 'INSERT INTO #t VALUES (''' + @table + ''', '''
SET @sql = @sql + @column + ''')'
EXEC(@sql)
FETCH NEXT FROM TABLES
INTO @table, @column
END
CLOSE TABLES
DEALLOCATE TABLES
SELECT * FROM #t
DROP TABLE #t

5:查询数据库特定字段,修改字段类型

declare @index int,@name varchar(100),@sql varchar(100)
set @index=1
while @index <=50 --查询出50张表有特定字段

begin
select @name=TABLE_NAME from (
SELECT COLUMN_NAME,TABLE_NAME,ROW_NUMBER() OVER (ORDER BY a.COLUMN_NAME ASC) AS seq FROM INFORMATION_SCHEMA.columns a WHERE COLUMN_NAME='特定字段' --查询出有多少表有特定字段
) b
where b.seq=@index
set @sql=' alter table '+@name+' alter column 特定字段 float null '
--select @sql
exec(@sql)
set @index=@index+1

end

6:查找一个外键被引用的所有表

SELECT oSub.name AS [子表名称] ,
fk.name AS [外键名称] ,
SubCol.name AS [子表列名] ,
oMain.name AS [主表名称] ,
MainCol.name AS [主表列名]
FROM sys.foreign_keys fk
JOIN sys.all_objects oSub ON ( fk.parent_object_id = oSub.object_id )
JOIN sys.all_objects oMain ON ( fk.referenced_object_id = oMain.object_id )
JOIN sys.foreign_key_columns fkCols ON ( fk.object_id = fkCols.constraint_object_id )
JOIN sys.columns SubCol ON ( oSub.object_id = SubCol.object_id
AND fkCols.parent_column_id = SubCol.column_id
)
JOIN sys.columns MainCol ON ( oMain.object_id = MainCol.object_id
AND fkCols.referenced_column_id = MainCol.column_id
)
WHERE oMain.name LIKE ‘% [主表名称]%’ ;

7.根据排序获取最小的唯一值

UPDATE A_REDIS_DETAIL SET A_SYS_ID = A.SYS_ID FROM
(SELECT A.*,B.SYS_ID SYS_ID_B FROM
(SELECT A.*,B.SYS_ID FROM
(SELECT A_CODE,MIN(SEQ_NO) SEQ_NO FROM A_REDIS WHERE BATCH_SYS_ID = @BATCH_SYS_ID GROUP BY A_CODE) A
INNER JOIN A_REDIS B ON A.A_CODE = B.A_CODE AND A.SEQ_NO = B.SEQ_NO) A
INNER JOIN A_REDIS B ON A.A_CODE = B.A_CODE) A
WHERE A_REDIS_DETAIL.A_SYS_ID = A.SYS_ID_B

8.多行数据合并为一个字符串

SELECT STUFF((SELECT '、' + A+'-'+B FROM TAB WHERE SYS_ID = T.SYS_ID FOR XML PATH('')),1,1,'') FROM TAB2 T

ORACLE

执行update,delete的时候还要点击提交语句才算是执行了

select * from all_tables WHERE owner='STM' ;或者
SELECT * FROM DBA_TABLES WHERE OWNER='STM';

表和列
DBA_TABLES、ALL_TABLES和USER_TABLES显示了有关数据库表的一般信息。
DBA_TAB_COLUMNS、ALL_TAB_COLUMNS和USER_TAB_COLUMNS显示了每个数据库表的列的信息。
注意:DBA_OBJECTS、ALL_OBJECTS和USER_OBJECTS显示了模式对象的信息,包括表。

sql常用记录的更多相关文章

  1. Sql常用语法以及名词解释

    Sql常用语法以及名词解释 SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) D ...

  2. sql 常用语法汇总

    Sql常用语法 SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL—数据控 ...

  3. SQL常用命令

    SQL常用命令使用方法: (1) 数据记录筛选: sql="select * from 数据表 where 字段名=字段值 order by 字段名 [desc]" sql=&qu ...

  4. Sql 常用的语句实例与代码

    在学习SQL的时候,本来预计花三天的时候掌握MS SQL这些基础,现在争取提前一天看完.总结沉底下来,其实也没有多少东西: 1.程序初始化前,先连接数据库 MFC程序中添加记录的代码: [cpp] v ...

  5. 【SQL Server】SQL常用系统函数

    SQL常用系统函数 函数类型 函数表达式 功能 应用举例 字符串函数 SubString(表达式,起始,长度) 取子串 SubString('ABCDEFG',3,4) Right(表达式,长度) 右 ...

  6. 数据库基本查询语句(SQL常用增删改查语句 简单复习 mark)

    SQL常用增删改查语句 1增 1.1[插入单行]insert [into] <表名> (列名) values (列值)例:insert into Strdents (姓名,性别,出生日期) ...

  7. ylb:SQL 常用函数

    ylbtech-SQL Server: SQL Server-SQL 常用函数 1,数学函数 2,日期和时间函数 3,字符串函数 4,转换函数 1,ylb:SQL 常用函数返回顶部 1,数学函数 2, ...

  8. sql常用的星期方法

    sql常用的星期方法: SELECT convert(varchar(10),DATEADD(wk, DATEDIFF(wk,0,getdate()), 0),120) --本周开始周一SELECT ...

  9. <转>详解DNS的常用记录(下):DNS系列之三

    在上篇博文中我们介绍了DNS服务器中几种不可或缺的记录,包括A记录,NS记录和SOA记录.本篇博文中我们将继续为大家介绍DNS的另外几种常用记录,希望能对大家了解DNS有所帮助. 四 MX记录 MX记 ...

  10. <转>详解DNS的常用记录(上):DNS系列之二

    详解DNS的常用记录(上) 在上篇博文中,我们介绍了DNS服务器的体系结构,从中我们了解到如果我们希望注册一个域名,那么必须经过顶级域名服务器或其下级的域名服务器为我们申请的域名进行委派,把解析权委派 ...

随机推荐

  1. 3D数字孪生场景编辑器介绍

    1.背景 数字孪生的建设流程涉及建模.美术.程序.仿真等多种人才的协同作业,人力要求高,实施成本高,建设周期长.如何让小型团队甚至一个人就可以完成数字孪生的开发,是数字孪生工具链要解决的重要问题.目前 ...

  2. Mybatis 实体类驼峰命名与数据库字段之间映射

    数据库的命名规则和 Java 的命名规则不一致,导致实体类与数据库字段不能完美映射. 一.可以在 mapper.xml 中通过 resultMap 来解决: <resultMap id=&quo ...

  3. LeetCode-1705 吃苹果的最大数目

    来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/maximum-number-of-eaten-apples 题目描述 有一棵特殊的苹果树,一连 ...

  4. 【python学习】PyQt基础学习以及一个信息论与编码课设实例

    这学期的信息论与编码的课设需要用编程语言实现霍夫曼.费诺以及香农编码,要具备在windows下的可视化操作界面,因此就选用PyQt作为开发工具,本篇博客记录一下PyQt的基础以及课设的实例 参考: & ...

  5. 快速构建用户xlwings环境

    一.安装python python-3.8.3-amd64.exe 二.准备文件requirements.txt 内容如下 安装失败需要切换国内镜像源 numpy==1.22.1 openpyxl== ...

  6. ant design vue datePicker 日期时间范围设置默认为当天0点-23点59

    <template> <a-card :bordered="false"> <a-range-picker show-time :default-va ...

  7. virtualbox装配fedora时,安装增强功能包时会报错解决

    virtualbox安装fedora时,安装增强功能包时会报错解决 Building the main GuestAdditions module [失败]安装前需要先安装下面几个包才可以避免这个问题 ...

  8. leetcode 30. 串联所有单词的子串 【时间击败 90.28%】 【内存击败 97.44%】

    这道题让我从早做到晚-3--- 设len=words[0].length(). 一开始我按照words的顺序扩大区间,发现这样就依赖words的顺序.之后改成遍历s的所有长度为len*words.le ...

  9. 【随手记】Burp Suite 设置HTTP2

    Burp Suite 设置HTTP2

  10. 清除Linux登录记录

    CentOS cat /dev/null > /var/log/wtmp cat /dev/null > /var/log/btmp cat /dev/null > /var/log ...