) set @TableName = 'Agency' -- 表名 declare @querySql nvarchar(max) set @querySql = 'select ' ) declare My_Cursor cursor for(select name from syscolumns where id = (select max(id) from sysobjects where xtype = 'u' and name = '' + @TableName + '' ) ) op…
) set @TableName = 'Agency' -- 表名 declare @querySql nvarchar(max) set @querySql = 'select ' ) declare My_Cursor cursor for(select name from syscolumns where id = (select max(id) from sysobjects where xtype = 'u' and name = '' + @TableName + '' ) ) op…
select b.name,a.name,c.name,a.xprec,a.xscalefrom  syscolumns aleft outer join sysobjects b ON a.id=b.id left outer join systypes c ON c.xusertype=a.xusertype where b.xtype='U' AND b.name LIKE '%CRM_PS%' AND (select systypes.name+'('+cast(a.length/2 …
MySQL 按照数据库表字段动态排序 查询列表信息 背景描述 项目中数据列表分页展示的时候,前端使用的Table组件,每列自带对当前页的数据进行升序或者降序的排序. 但是客户期望:随机点击某一列的时候,对查询到的所有数据进行排序. 举例说明: 查询到的有100条数据,每页10条,共10页.前端Table组件,可以对当前页的10条数据,进行排序,其他的9页并不参与排序. 但是,实际期望是对查询到的10页数据均参与排序. 并且不是特定列,而是每列均可以按照升序或者降序,将查询到的结果进行再次排序.…
前两天在开发中遇到一个坑,本来我在快乐的做着增删改查,然后悲剧发生了,在查询数据库的过程中,报了java.sql.SQLSyntaxErrorException: 经过排查,是因为数据库表字段中存在关键字: 下面重点来了,我用的是mybatis-plus,我的解决方案如下: 在这个字段上增加@TableField(value="`key`")注解即可,用``将字段包起来,是英文半角状态下的数字1前面的那个符号. 再运行起来就没问题啦 one more thing: 1.如果你用的是jp…
在实际工作中会遇到通过SQL查询数据库是否存在的情况,下面一些语句可以提供一些帮助,本文的语句是在SQL08R2中测试的 1,查询当前数据库服务器所有数据库 select *  From master.dbo.sysdatabases 2,查询数据库是否存在 select count(*) From master.dbo.sysdatabases where name='数据库名' 3,查询某数据库中所有用户表 select * from sysobjects where xtype='U' ‘…
SQL查询数据库信息, 数据库表名, 数据库表信息 ---------------------------------------------- -- 以下例子, 在sql_server 中可以直接运行, 默认数据库为master -- 获取数据库的所有用户名 ' -- 1. 获取所有的数据库名 select name from master..sysdatabases order by name -- 2. 获取指定数据库所有的表名 -- 2.1. 其中 xtype ='u' 表示所有用户表…
今天在公司的项目开发中,遇到一个问题: 后端对象实体类中写入字段顺序与数据库中的存储顺序不一致. 仔细观察到数据库中的表字段的排序方式是按照拼音字母的顺序abcdef......来存储的 而我的实体类中的表结构顺序却不是这样的 经过查阅资料,总结到了解决这个问题的方法: 一.在application.yml配置中添加数据库根据实体类自动创建数据库表的配置(这里数据库采用MySQL数据库) 二.实体类字段顺序与数据库不一致解决办法 在org.hibernate.cfg包下的PropertyCont…
一.问题 业务需要把TB_Delete_KYSubProject表数据恢复到TB_KYSubProject,但提示错误,错误原因是两表字段类型存在不一致 insert into [TB_KYSubProject] SELECT * from [TB_Delete_KYSubProject] WHERE [TB_Delete_KYSubProject].id = 'A49CFC7B-8F9D-476F-B853-CA62C18E2D03' 二.方法 一个个字段比对很麻烦,所以用以下sql 查询出两…
项目中的几个需要支持Emoji表情符号,手机自带的表情,其实添加也很简单: 1 修改数据库 配置my.cnf  init-connect='SET NAMES utf8mb4'                                       character-set-server=utf8mb4 2 修改表字段字符集为utf8mb4 ALTER TABLE post_replay  MODIFY  replay_content   TEXT CHARACTER SET utf8mb…
表字段的信息咱们可以称之为元数据,今天有人问怎么把表字段的信息导出来,说实话我还不会用plsql develper把表的结构导出来,像下图所示: 在写数据库设计说明书的时候,想要把这个表格拷贝出来,这样就事半功倍,不用一个个复制粘贴了,而且减少出错的概率,但遗憾的是,这个界面似乎不支持全选和多选,无法整体复制,或许plsql develper具有这个功能,只是现在我还不知道,但oralce作为最强大的数据存储机制,元数据方面肯定做得非常好,所以这个问题肯定可以有替代办法.进过一段时间的实验,可以…
<!-- desc是MySQL数据库的关键字,作为字段名直接使用会报错 --><sql id="Base_Column"> id,mol,ip,port,name,t.desc,maxAc,maxI,minI,maxW,status</sql> <!-- 查询列表 --> <select id="getTht" resultMap="BaseResultMap" parameterType=&…
查询数据库里所有表名和字段名的语句SQL 查询所有表名:SELECT NAME FROM SYSOBJECTS WHERE TYPE='U'SELECT * FROM INFORMATION_SCHEMA.TABLES查询表的所有字段名:SELECT NAME FROM SYSCOLUMNS WHERE ID=OBJECT_ID(' 表名' )SELECT * FROM INFORMATION_SCHEMA.TABLESSELECT * FROM INFORMATION_SCHEMA.VIEWS…
--查询数据库中所有指定类型的字段名称和所在的表名 --eg: 下面查的是当前数据库中 所有字段类型为 nvarchar(max) 的字段名和表名 SELECT cols.object_id , cols.column_id , cols.name AS ColumnName , TYPE_NAME(cols.system_type_id) AS ColumnType , cols.max_length , obj.name AS TableName FROM sys.columns cols…
1.查询数据库中的所有数据库名: SELECT Name FROM Master..SysDatabases ORDER BY Name 2.查询某个数据库中所有的表名: SELECT Name FROM SysObjects Where XType='U' ORDER BY Name ==表中字段 1.方法一 SELECT * FROM INFORMATION_SCHEMA.columns WHERE TABLE_NAME='表名' 2.方法二 select a.name tablename,…
问题的因素: 调试了一上午,我要判断数据库表的name字段是否为空,使用了TextUtils.isEmpty(nameStr):来判断name字段是否为空,明明数据库是没有值,却一直显示有值,然后还去质疑TextUtils.isEmpty(nameStr):,最后才发现是我存入数据的时候有问题 不能 name + "" TextUtils.isEmpty(nameStr)没有问题, 是存入的时候 name + ""    会导致数据库表字段是null 以下代码的解释…
select b.name,a.colid,a.name ,())+')' from systypes where a.xusertype=systypes.xusertype ) type fromsyscolumns a left outer join sysobjects b on a.id=b.id where b.xtype='U'and b.name = 'hq_hotel' order by b.name,a.colid…
经常遇到统计报表中,子表记录合并为一个字段的情况.例如:省表中各省经济水平前五的城市统计. 有如下两表:dbo.省 和 dbo.市 (好吧,你可能会吐槽为什么用中文表名,其实我是为了方便查找替换) 这里暂时不考虑经济水平前五这种外部条件,期望将所有城市使用中文逗号拼接起来,如图: 具体做法如下: --基于子表查询 SELECT P.Name AS '省', ,,'') AS '市' FROM dbo.市 C LEFT JOIN dbo.省 P ON C.Parent = P.Code GROUP…
前几天,同事问我怎样把字段值转换成字段列,就写了一个最简单的Demo分享一下. 代码如下: -- 创建测试表以及添加测试数据create table #temp(a money,b varchar(10)) /*insert into #temp(a,b) values(10,'1点')insert into #temp(a,b) values(20,'2点')insert into #temp(a,b) values(20,'3点')insert into #temp(a,b) values(…
上次写了个比较简单的只有两个字段的例子,经要求在写个  3 个字段的示例 ,贴上来与大家共勉一下   如果你们有更好的方法,提供一下, 感激不尽. 示例如下: /*--drop table temp_TestCol_ValueToName;-- 创建测试表 (前提 每天每个会员只有一条记录)create table temp_TestCol_ValueToName( userName nvarchar(50), -- 会员名 myMoney money, -- 金额 addTime dateti…
在计算收益率时候,  收益率 = 收益 / 成本 一.如果成本为0,NULL,此时无法计算收益率: 方法: 1.将成本为0的数据 运算 (case when  cost =0 or cost is null then 0  else  income/cost end) as yeild; else amount1 END) as total,init_date from data_stock1 GROUP BY account,init_date; SELECT account, CASE TH…
use UserCentergo select * from AccountDetails1.判断一个字段是否为null值,进行查询:update AccountDetails set ProjectCode ='w88' where ProjectCode is null 2.这一种写法是错误的 update AccountDetails set ProjectCode ='w88' where ProjectCode = null…
if exists(SELECT  1             FROM    sys.tables t                     INNER JOIN sys.columns c ON t.object_id = c.object_id                     INNER JOIN sys.default_constraints dc ON c.default_object_id = dc.object_id             WHERE   t.name …
实体类通常需要和数据库表进行了ORM映射,当你需要添加新的属性时,往往同时也需要在数据库中添加相应的字段并配置好映射关系,同时可能还需对数据访问组件进行重新编译和部署才能有效.而当你开始设计一个通用数据访问组件后,因为项目需求的不同和需求的不断变化演变,很难不能保证不会再添加额外的属性和字段.特别是项目部署运行后,添加一个属性和字段带来的额外维护的工作量可能要远远超过对代码进行调整的工作量.本文提供了属性字段扩展的一种思路,在满足核心字段可通过实体类强类型进行访问的同时,还可通过C# 4.0提供…
删除数据库表中的字段时,使用了 :alter table 表名 drop column 列名 服务器返回的错误为:Server: Msg 5074, Level 16, State 1, Line 1The object 约束名 is dependent on column 列名.Server: Msg 4922, Level 16, State 1, Line 1ALTER TABLE DROP COLUMN 列名 failed because one or more objects acce…
1.查询数据表的属性(名称.说明.是否主键.数据类型.是否自增) SELECT t1.name columnName,case when t4.id is null then 'false' else 'true' end as pkColumn, case when COLUMNPROPERTY( t1.id,t1.name,'IsIdentity') = 1 then 'true' else 'false' end as autoAdd ,t5.name jdbcType ,cast(isn…
平时开发系统时偶尔会遇到数据超长导致往数据库中保存时出错. 使用下边的脚本可以方便的找出超长的字段. 1.通过正式表创建临时表,修改临时表中varchar.nvarchar的长度为max ); ); declare @sql varchar(max); set @table_name='TableName';--正式表表名:此处需要修改 set @temp_table_name = @table_name+'_temp';--临时表表名:此处需要修改 --根据正式表创建临时表 set @sql…
需求: 现在mysql中有一张表,表名是info,我想通过报案号4201820330114401021497在这张表里查询出它对应的id. sql = "select claim_id from info where claim_no = '4201820330114401021497'" #需要先执行sql语句 if cursor.execute(sql): #得到返回值jilu,jilu是一个元组 jilu = cursor.fetchone() #通过下标取出值即可 print(…
1.  两个字段的类型或者大小不严格匹配.例如,如果一个是int(10),那么外键也必须设置成int(10),而不是int(11),也不能是tinyint.另外,你还必须确定两个字段是否一个为 signed,而另一个又是unsigned(即:无符号),这两字段必须严格地一致匹配,更多关于signed和unsigned的信息,请参阅:http://www.verysimple.com/blog/?p=57 2. 试图设置外键的字段没有建立起索引,或者不是一个primary key(主键).如果其中…
1.查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 代码如下: select * from people where peopleId in (select peopleId from people group by peopleId having count (peopleId) ) 2.删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记录 代码如下: delete from people where peopleId…