精华内容
下载资源
问答
  • 前几天碰到一个需求,要用所有用户表中查出某个表中是否含有某个(不是字段。。。。),琢磨了一个上午,听起来需求有点变态,Oracle是非关系型数据库不考虑性能场景下唯一能做就是全库遍历,假设字段为...

           前几天碰到一个需求,要用在所有用户表中查出某个表中是否含有某个值(不是字段。。。。),琢磨了一个上午,听起来

    需求有点变态,Oracle是非关系型数据库,在不考虑性能场景下唯一能做的就是全库遍历,假设字段为varchar类型。

    废话不多说,直接上存储过程:

    CREATE OR REPLACE procedure QUERY_KEY
    (
        keyword in varchar2
    )
    as
         v_SQLStatement varchar2(300);
         v_startRecord Number;
    begin
         FOR reInfo IN (select table_name from user_tables)  LOOP
              FOR colInfo IN (SELECT column_name, DATA_TYPE FROM all_tab_cols WHERE table_name=reInfo.table_name) LOOP
                   IF (colInfo.DATA_TYPE='VARCHAR2') THEN
                      v_SQLStatement := 'select count(*) from '|| reInfo.table_name || ' where ' || colInfo.column_name || '= ' ||keyword;
                      execute immediate v_SQLStatement into v_startRecord;  
                      IF(v_startRecord > 0) THEN
                          insert into TMPTABLE values (reInfo.table_name);
                          commit;
                      END IF;
                   END IF;
              END LOOP;
         END LOOP;
    END QUERY_KEY;




    展开全文
  • Laravel 5中是否有任何方法可以检查某些是否与数据库中的值相等?这是我尝试做:我有用户,在表用户中我有额外列admin_id.验证中,我需要检查admin_id表单数据库是否等于1.这是我目前代码:$inputs = ...

    在Laravel 5中是否有任何方法可以检查某些值是否与数据库中的值相等?

    这是我尝试做的:我有表用户,在表用户中我有额外的列admin_id.在验证中,我需要检查admin_id表单数据库是否等于1.

    这是我目前的代码:

    $inputs = array(

    'projects' => Input::get('project'),

    'users' => Input::get('workers')

    );

    $rules = array(

    'projects' => 'required',

    'users' => 'required'

    );

    $validator = Validator::make($inputs,$rules);

    if($validator->fails()){

    return false;

    }else{

    return true;

    }

    解决方法:

    我不知道这里的用户输入是什么 – 是否来自用户表?如果是,您可以这样创建规则:

    $rules = array(

    'projects' => 'required',

    'users' => ['required', 'exists:users,id,admin_id,1']

    );

    所以现在将验证用户是否匹配admin_id等于1的users表中的user_id.

    您还应该考虑使用Laravel 5 Requests对象来验证输入.它比在Controller / Model / Repository中放置代码要干净得多. More about Requst Validation.

    标签:php,mysql,laravel-5

    来源: https://codeday.me/bug/20190519/1137961.html

    展开全文
  • 通过在数据库创建存储过程,只需要传入一个想要查找的值,即可查询出这个值所在的表和字段名。 CREATE PROCEDURE [dbo].[SP_FindValueInDB] ( @value VARCHAR(1024) ) AS BEGIN -- SET NOCOUNT ON added to prevent ...

    通过在数据库创建存储过程,只需要传入一个想要查找的值,即可查询出这个值所在的表和字段名。

    CREATE PROCEDURE [dbo].[SP_FindValueInDB]
    (
    @value VARCHAR(1024)
    )        
    AS
    BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    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 
    En
    

    使用方法:

    EXEC [SP_FindValueInDB] '值'
    
    展开全文
  • 这个是一个csdn上有人问的一个题目,具体题目如下:数据库 1id name1 DB-235-aa-fc2 DB-275-ag-fw3 DB-235-ajj-fj4 DB-4444444-ss-fq5 DB-2222-kkk-fh6 DB-997-ii-fw. .. .里面几千,几万条在数据库中查询...

    这个是一个csdn上有人问的一个题目,具体的题目如下:

    数据库表 表1

    id name

    1 DB-235-aa-fc

    2 DB-275-ag-fw

    3 DB-235-ajj-fj

    4 DB-4444444-ss-fq

    5 DB-2222-kkk-fh

    6 DB-997-ii-fw

    . .

    . .

    里面几千,几万条

    在数据库中写查询语句,查询name字段,第一个‘-’和第二个‘-’之间的最大的那个数!

    也就是把第4条数据查询出来!

    这里给出了两种解法:(1)是利用游标(在利用游标之前,会先过滤一下数据集,让数据集的记录变小,这样可以大大的缩小游标所花的时间)具体的Sql代码如下:

    create table #t

    (

    id int not null identity(1,1) primary key,

    name varchar(100) not null

    )

    insert #t(name)

    values

    ('DB-235-aa-fc'),

    ('DB-275-ag-fw'),

    ('DB-235-ajj-fj'),

    ('DB-4444444-ss-fq'),

    ('DB-2222-kkk-fh'),

    ('DB-997-ii-fw')

    --下面的select就是缩小了结果集

    select *

    into #lists

    from #t

    where len(SUBSTRING(name,1,CHARINDEX('-',name,4)-1))

    in(

    select max(len(SUBSTRING(name,1,CHARINDEX('-',name,4)-1))) from #t)

    declare @name varchar(100)

    declare @id int

    declare @max int

    set @max=-1

    declare c cursor for

    select * from #lists

    open c

    fetch next from c into @id,@name

    while @@FETCH_STATUS=0

    begin

    set @name=SUBSTRING(@name,1,CHARINDEX('-',@name,4)-1)

    set @name=SUBSTRING(@name,4,LEN(@name)-3)

    if(CAST(@name as int)>@max)

    begin

    set @max=CAST(@name as int)

    set @id=@id

    end

    fetch next from c into @id,@name

    end

    close c

    deallocate c

    select * from #lists

    where id=@id

    drop table #lists

    drop table #t

    方法2:直接的操作,利用MAX(int),Sql代码如下:

    create table #t

    (

    id int not null identity(1,1) primary key,

    name varchar(100) not null

    )

    insert #t(name)

    values

    ('DB-235-aa-fc'),

    ('DB-275-ag-fw'),

    ('DB-235-ajj-fj'),

    ('DB-4444444-ss-fq'),

    ('DB-2222-kkk-fh'),

    ('DB-997-ii-fw')

    select * from #t

    where SUBSTRING(SUBSTRING(name,1,CHARINDEX('-',name,4)-1),4,LEN(SUBSTRING(name,1,CHARINDEX('-',name,4)-1))-3)

    in(

    select max(CAST(SUBSTRING(SUBSTRING(name,1,CHARINDEX('-',name,4)-1),4,LEN(SUBSTRING(name,1,CHARINDEX('-',name,4)-1))-3) AS int))

    from #t

    )

    drop table #t

    结果都是相同的:4    DB-4444444-ss-fq

    展开全文
  • 你是要查询数据库中所有,而且每一长表的某一列还是所有表的列只要一列,列是统计还是行。1。如果你有闲心话做大视图吧,呵呵,不过之间联系看自己需求哈,但是扩展应用不好。2。把数据库内部所有...
  • sql2000系统表的应用 --1:获取当前数据库中的所有用户 select name from sysobjects where xtype=u and status>... --2:获取某一个表的所有字段 select name from syscolumns ...
  • MYSQL数据库中一个数据库里面有十几张表,我想通过前端页面做个搜索功能,用标签例如sign_tfsys_hoursign_tfsys_daysign_tfsys_week通过选择相应,可以直接查询数据库中的一张,并可以显示前端页面中。...
  • 索引是帮助MySQL高效获取...数据库查询性能优化涉及到技术面非常广,一般建议用以下几手段实行:1、减少数据访问相关技术就是建立合适索引,将全扫描、索引扫描(scan)等耗时操作转化为索引查找(se...
  • 前几天碰到一个需求,要用所有用户表中查出某个表中是否含有某个(不是字段。。。。),琢磨了一个上午,听起来需求有点变态,Oracle是非关系型数据库不考虑性能场景下唯一能做就是全库遍历,假设字段为...
  • 有时候我们想通过一个值知道这个值来自数据库的哪个表以及哪个字段,网上搜了一下,找到一个比较好的方法,通过一个存储过程实现的。只需要传入一个想要查找的值,即可查询出这个值所在的表和字段名。 前提是要...
  • 有时候我们想通过一个值知道这个值来自数据库的哪个表以及哪个字段,网上搜了一下,找到一个比较好的方法,通过一个存储过程实现的。只需要传入一个想要查找的值,即可查询出这个值所在的表和字段名。 前提是要将...
  • 有时当数据库表中的某一个字段为空时,返回map不会映射成键值对。 直接上代码: 1.mapper接口层 @Repository public interface UserMapper {    List<Map> selectUser(); } 2.mapper.xml映射...
  • 有时候我们想通过一个值知道这个值来自数据库的哪个表以及哪个字段,网上搜了一下,找到一个比较好的方法,通过一个存储过程实现的。只需要传入一个想要查找的值,即可查询出这个值所在的表和字段名。 前提是要将...
  • 数据库中个表之间关联查询

    千次阅读 2004-05-19 13:38:00
    在数据库操作,有很多时候不是对某一个表进行数据库操作,通常还会把其他表的字段的值也传递过来。不过这连个不是没有关系。通常通过索引或者健关联起来 如下为一个例子。 一。名称tb1.其中studentID为...
  • 一个JavaWeb程序,要从MySQL数据库mydb的某数据mytable获取该表的字段所有信息(即结构),并且返回结果集(ResultSet)。代码类似于下面格式:——————————...我一个Java Web程序,要从...
  • 比如,有这样一个枚举:public enum MyChoice{MyFirstChoice = 0,MySecondChoice =1,MyThirdChoice = 2}数据库中某表某字段保存为"0,1,2",显示时候,我们希望是"第一个选择,第二个选择,第三个选择"。...
  • 指定一个经纬度,给定一个范围(单位:千米),查出经纬度周围这个范围内数据。  经度:113.914619  纬度:22.50128  范围:2km  longitude为数据经度字段  latitude为数据纬度字段  SQLmysql下...
  • 今天做项目的时候,遇到一个数据库正则查找数据和跨查找的需求,故查找了一下这两个知识点 1 数据库使用正则 我的需求是,一张表中,查找 code 带有字母的数据,这里使用到...1 另外一张表中查找 id = 某值的
  • select * from test#查询表中全部数据select * from voip.test #查询全部还可以这么写,voip表示为数据库名select u_id,u_name from test#查询表中某一个或多个字段数据select u_name as name from test#查询出...
  • 在数据库中的应用

    2017-09-22 08:53:29
    1、索引在数据库中的作用   最基本的查询算法是顺序查找,遍历表然后逐行匹配行是否等于待查找关键字,时间复杂度为O(n),   不适合数据量大时候。在数据之外,数据库还维护着满足特定查找算法数据...
  • 需求说明:查询数据库中某表数据一个数量,这里数据库只有一个创建时间,需要根据创建时间来获取 首先将月查询出来 select DATE_FORMAT(ZZBFRQ, '%m') as month FROM `zz` 然后将月进行分组计数 SELECT ...
  • 需求:我要查询数据库中某一个表的最大,最小值,平均,累加和,mybatis中应当怎么返回 解决方法,写一个实体类,xml中返回这个实体类,将查询的每一项与实体类属性相对应 代码如下: //实体类 public ...
  • 数据库引擎-分区的查询和维护

    千次阅读 2009-06-20 11:48:00
    分区表是将一个很大的表按照列的分成若干个部分进行存储。举例来说,证券交易所需要保存每天的交易记录,估计每天交易量需要1G的存储量,而数据库只保存最近90天的数据,其余数据保存磁带上。这样我们就可以将...
  • 免费学习推荐:一、索引的概念1、索引是一个排序的列表,这个列表存储着索引的值和包含这个值的数据所在行的物理地址 (类似于C语言的链表通过指针指向数据记录的内存地址) 。2、使用索引后可以不用扫描全来...
  • 开发项目时,有些时候会把置顶、首页显示、今日推荐等直接用竖线分割(如:“1|1|1|”)存储于数据库表的某一个字段。这时,我们要查询置顶信息应该如何查询呢?请看以下信息:举例表中的某字段为News_State,为 ...
  • 在数据库表中,某些字段用数字或字母代替实际含义,如某表中一个是否锁定字段,如下图所示,在查询结果是要展示为是或否,1:是,0:否,直接用SQLCASE WHEN语句实现 SELECT a.字段1,b.字段2,b.字段3, ...
  • 数据库中索引理解

    2018-10-28 19:40:50
    索引能够加快查询速度的原理:数据库在执行一条SQL语句时,会默认根据搜索条件进行全搜索,表中数据过多时就会很耗时间,但对某一字段加了索引之后,查询时就会先到索引列表一次定位到特定值的行数,大量...
  • 、关联查询1、概念在查询数据...2、笛卡尔积做关联查询时,数据库会使用一张表中的条记录都与另外一张表的所有记录进行组合。比如A有x条记录,B有y条记录,最终组合数为x*y,这个值就是笛卡尔积,通常...
  • 比如说某一个表,包含32个bit类型列,为0或1。 设计该时,是用32个bit类型好,还是一个varchar(32)好? 该需要比较频繁的查询查询条件为32个位中的某些为1或者为0

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 637
精华内容 254
关键字:

在数据库中查询某一个值的表