精华内容
下载资源
问答
  • 数据库关联查询

    千次阅读 2019-03-16 10:54:17
    给用户的权限设计三对象: 用户名、密码、主机 用户名 密码 主机 root 1234 localhost root 1234 10.10.65.250 laowang 1234 192.168.1.2 (一)创建用户 1.创建用户:...

    一、创建用户

    给用户的权限设计三个对象:

               用户名、密码、主机

            

    用户名密码主机
    root1234localhost
    root123410.10.65.250
    laowang1234192.168.1.2

    (一)创建用户

    1.创建用户:create user  laobian@localhost;

    2.创建用户并添加密码:create user laobian@localhost indetified by "123";

    3.创建用户允许远端登录:create user laobian@10.10.65.250 indetified by "123" ;

     允许10.10.65.250以laobian登录mysql

    4.create user laobian@10.10.65.% indentified by "123",;

     允许10.10.65.0--10.10.65.255 可以laobian登录mysql

    注意:

    1.  : :  代表IPV6

    2.未授权库,不能展示

     

    3.  %代表0-255,%需要用引号引起来

    4. ——下划线代表0-9

    (二)删除用户

      drop user laobian@10.10.65,250;

    要删除的用户名要和主机号对应起来

    二、授权

          授权后可以展示自定义的库

         grant command ondatabase.table to user@host;

     常规权限:

    1.select 查询权限

    给laobian2数据库中的person表查询权限授权给 10.10.65.%登录laobian2 用户

     

    2. insert 插入权限

    grant insert on laobian2.person to "laobian2"@"10.10.65,%"

    3. update 更新权限

    grant update on laobian2.person to "laobian2"@"10.10.65,%"

    4. delete 删除权限

    grant delete on laobian2.person to "laobian2"@"10.10.65,%"

    5.create 创建权限

    grant create on laobian2.person to "laobian2"@"10.10.65,%"

    三、主外键关系

            建模两大任务:创建业务主体,创建主体间的联系

            1.业务主体之间的关系:

                       1.一对一

                        2.一对多

                        3.多对多

           2. 主键和外键的关系

                 主键(primary key):是表里的唯一的标识,假如一个表没有主键,查询是遍历查询,若有主键,会以平衡树数据格式去找

                 外键:就是一表唯一字段为内容的关联字段,约束定义的时候创建外键

                   

         3.关联查询

            (1)inner join   内查询

                    取左右表交集  

                    查询出包括两表所有数据项的数据

            (2)left join      左查询

           取所有学生对应的宿舍

         

     

            (3)right join    右查询

            (4)模糊查询   like

    展开全文
  • 张表通过 内连接 select * from 表1 inner join 表2 course on 表1.ID= 表2.ID 显示 共有的 ID name address 1 123 2333 2 456 111233 我现在我想通过表2的ID 1 查询 表1 的 name 值 sql 语句应该...
  • laravel完美实现跨数据库关联查询

    千次阅读 2019-03-25 10:16:06
    关联查询也可以作为强大的查询构造器使用,提供了强大的链式调用和查询功能。在laravel中使用model,有几种关联: 一对一 一对多 一对多(反向) 多对多 远层一对多 多态关联 多对多多态关联 因为某些需求,...

    关联查询也可以作为强大的查询构造器使用,提供了强大的链式调用和查询功能。在laravel中使用model,有几种关联:

    因为某些需求,我们需要使用到跨库关联查询.一开始以为model的$connection属性能起到作用。但是其实比没有起到作用

    我们正常的关联代码是(无法跨库):

    public function templates() { 
        return $this->belongsTo('App\Models\Power\Organization\Template', 'store_id');
    }

    跨数据库关联查询:

    public function templates() 
    { 
        $instance = new StoreTemplate; // new 实例
        $instance->setTable('store_power.store_template'); // 设置该实例的表。store_power是我的另一个数据库
        $query =$instance->newQuery(); 
        return new BelongsTo($query,$this,'id','store_id',null); // BelongsTo是laravel自带类
    }

     

    展开全文
  • 本地数据库分别访问服务器上的两个数据库,对两个数据库的数据分别进行比较。 命令创建 create database link 随便起个名字 connect to 用户名 identified by 密码 using ‘(DESCRIPTION = (ADDRESS_LIST = (ADDRESS...

    本地数据库分别访问服务器上的两个数据库,对两个数据库的数据分别进行比较。

    命令创建

    create database link 随便起个名字
    connect to 用户名 identified by 密码
    using ‘(DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 域名)(PORT = 端口号))
    )
    (CONNECT_DATA =
    (SERVICE_NAME = 数据库实例名称)
    )
    )’;

    实例填写

    将A库和B库两个库之间的数据表进行关联进行对比,

    create database link zlhis
      connect to zlhis identified by his
      using '(DESCRIPTION =                       
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = IP)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = zlhis)
        )
      )';
    

    查询使用

     select * from 病案主页@zlhis
    
    展开全文
  • tp5实现跨数据库关联查询

    千次阅读 2020-01-13 01:08:41
    因某些需求,需跨库查询,一开始以为tp5关联模型支持跨库查询,结果是不支持。 官方的解决方案是使用 join 连接,但实现效果不是很好,经过一些尝试后,终于可以通过 关联 的方式解决跨库查询问题。 代码示例 控制器...

    因某些需求,需跨库查询,一开始以为tp5关联模型支持跨库查询,结果是不支持。
    官方的解决方案是使用 join 连接,但实现效果不是很好,经过一些尝试后,终于可以通过 关联 的方式解决跨库查询问题。

    代码示例

    控制器

    application/index/controller/Demo.php

    <?php
    namespace app\index\controller;
    
    use app\common\model\res\Res;
    use app\common\model\user\UserDownlist;
    
    class Demo
    {
        /**
         * 跨库关联查询
         * @throws \think\db\exception\DataNotFoundException
         * @throws \think\db\exception\ModelNotFoundException
         * @throws \think\exception\DbException
         */
        public function relation()
        {
            $model = new UserDownlist();
            $model
                ->useRelationQuery(new Res(), null, 'UserDownlist.ll_id=Res.ll_id')
                ->field('UserDownlist.*,Res.ll_id')
                ->where('Res.renderer_version', 1)
                ->where('UserDownlist.user_id', 20582258)
                ->select();
            die($model->getLastSql());
        }
    }
    

    模型

    application/common/model/user/UserDownlist.php

    <?php
    namespace app\common\model\user;
    
    use app\common\model\res\Res;
    use app\common\traits\model\RelationHelpers;
    
    class UserDownlist extends BaseModel
    {
        use RelationHelpers;
    }
    

    模型辅助类

    application/common/traits/model/RelationHelpers.php

    <?php
    namespace app\common\traits\model;
    
    use think\db\Query;
    use think\Model;
    
    trait RelationHelpers
    {
        /**
         * 使用关联查询(别名,Model对象调用)
         * @param mixed  $relation  子模型对象
         * @param null   $alias     子模型别名(单个关联时有效)
         * @param null   $condition 关联条件
         * @param string $joinType  JOIN类型
         * @return Query
         */
        public function useRelationQuery(
            $relation,
            $alias = null,
            $condition = null,
            $joinType = 'INNER'
        ) {
            return $this->handldRelationQuery($this, $relation, $alias, $condition, $joinType);
        }
    
        /**
         * 使用关联查询(别名,Query对象调用)
         * @param Query  $parent    父Query对象
         * @param null   $relation  子模型对象
         * @param null   $alias     子模型别名(单个关联时有效)
         * @param null   $condition 关联条件
         * @param string $joinType  JOIN类型
         * @return Query
         */
        public function scopeUseRelationQuery(
            Query $parent,
            $relation,
            $alias = null,
            $condition = null,
            $joinType = 'INNER'
        ) {
            return $this->handldRelationQuery($parent->getModel(), $relation, $alias, $condition, $joinType);
        }
    
        /**
         * 使用关联查询(支持跨库查询)
         * @param Model  $parent        父模型对象
         * @param mixed  $relation      子模型对象
         * @param null   $relationAlias 子模型别名(单个关联时有效)
         * @param null   $condition     关联条件
         * @param string $joinType      JOIN类型
         * @return Query
         *
         * 参数说明
         * parent
         *   父模型对象
         * relation
         *   关联的子模型对象。多个模型关联时,可传入一个数组
         *   数组格式:[Model relation, string|null relationAlias, mixed condition, string joinType]
         * relationAlias
         *   子模型别名。单个关联时有效,如果参数值为 null 时,默认以模型类名作为别名
         * condition
         *   关联条件。可以为字符串或数组, 为数组时每一个元素都是一个关联条件
         * joinType
         *   关联类型。可以为:INNER、LEFT、RIGHT、FULL,不区分大小写,默认为INNER
         *
         * Example
         *   单个关联:(new TestA())->useRelationQuery(new TestB(), null, 'TestA.id=Test.id');
         *   多个关联:(new TestA())->useRelationQuery([[new TestB(), null, 'TestA.id=Test.id']]);
         */
        public function handldRelationQuery(
            Model $parent,
            $relation,
            $relationAlias = null,
            $condition = null,
            $joinType = 'INNER'
        ) {
            list($parentTable, $parentTableAlias) = $this->getJoinTable($parent);
            $aliass = $parent->getOptions('alias');
            $parentTableAlias = empty($alias = $aliass[$parent->getTable()]) ? $parentTableAlias : $alias;
            $this->setTable($parentTable)->alias($parentTableAlias);
    
            if (empty($condition)) {
                // 如果为组数,则循环调用join
                foreach ($relation as $_join) {
                    list($model, $alias, $condition, $joinType) = array_pad($_join, 4, null);
                    list($childTable, $tableAlias) = $this->getJoinTable($model);
                    $childTableAlias = $alias ?: $tableAlias;
                    $this->join(
                        [$childTable => $childTableAlias],
                        $condition,
                        $joinType ?: 'INNER'
                    );
                }
            } else {
                list($childTable, $tableAlias) = $this->getJoinTable($relation);
                $childTableAlias = $relationAlias ?: $tableAlias;
                $this->join(
                    [$childTable => $childTableAlias],
                    $condition,
                    $joinType
                );
            }
            return $this;
        }
    
        /**
         * 获取JOIN表名及别名
         * @param Model $query
         * @return array
         */
        protected function getJoinTable(Model $query)
        {
            $table = $query->getConfig('database') . '.' . $query->getTable();
            $tableAlias = basename(str_replace('\\', '/', get_class($query)));
            return [$table, $tableAlias];
        }
    }
    

    生成的SQL语句

    SELECT `UserDownlist`.*,`Res`.`ll_id` FROM `za_user`.`za_user_downlist` `UserDownlist` INNER JOIN `za_res`.`za_res` `Res` ON `UserDownlist`.`ll_id`=`Res`.`ll_id` WHERE `Res`.`renderer_version` = 1 AND `UserDownlist`.`user_id` = 20582258;
    

    实现原理很简单,通过传入对应的模型对象,自动加上库名,构造 join 连接。当没指定表别名时,默认以模型类名作为表别名。

    展开全文
  • 存在两个数据库DB1,DB2 在DB1中有表Table1(ID,Name),在DB2中有表Table1(ID,IID,AllInfo) ,现在想把Table1,Table1两表关联起来查询一些数据: 查询语句如下: SELECT * FROM DB1.dbo.Table1 INNER JOIN 
  • 背景:在一个mysql服务器上(注意:两个数据库必须在同一个mysql服务器上)有两个数据库: memory (存储常规数据表) 中有一个 user 表(记录用户信息) memory_stat (存储统计数据表) 中有一个 user_stat (记录...
  • 跨多个数据库操作,同时连接两个一上的数据库,用事物关联起来,JTA,两个一上数据库连接,连接两个数据库两个数据库可以同时操作,同时回滚。。。。同时提交。。
  • 分布式数据库从过去成为NoSQL的数据库发展开始,底层的数据存储结构变得多样化,包括KV、文档、列式等结构。各自有自己擅长的业务应用场景,例如操作型和分析型就是最简单的区分。 然而SQL的支持成为了业界的共识。...
  • 数据库关联查询

    万次阅读 2019-03-17 21:37:58
    首先我们创建三表(老师 课程 老师_课程) 其中老师的字段有 work_num name gender age project 课程的字段有 class_num label description 老师_课程的字段有 class_num work_num delete_flag False 老师...
  •  实现结果:在一个数据库中某个用户下编写一个存储过程,在存储过程中使用DBLINK连接另一个数据库,从此数据库中的一个用户下取数,然后插入当前的数据库中的一个表中。   二. 实现方法步骤:  1. 创建存储...
  • ![图片说明]...B表有两个字段 id,bName. 问现在如何才查训条件中输入bName的时候能将与a相关的结果都带出来,并且只能使用单表查询,不能使用外键 *B表的name,是可以出现重复的数据的
  • 比如服务器A部署了数据库A,里面储存的是用户的信息记录user,服务器B部署了数据库B,里面存储的是订单信息记录order,两个表可以通过user_id进行关联,如果是这样,用thinkPHP5该如何进行关联查询
  • 在不同的sqlserver数据库中,需要进行不同数据库中的表在同一sql语句中进行关联查询,可以事先在服务器上的SqlServer数据库中先执行以下sql语句:  (1)exec sp_addlinkedserver @server= 'WLSQL', @srvproduct= ''...
  • 第一是表输入取出字段 在第二表里把第一表的字段做一个关联 注意:这里是?传参的而不是原来的${param}
  • 数据库多表关联查询

    千次阅读 2017-06-05 10:08:50
    (此时这样建表只是为了演示连接SQL语句,当然实际开发中我们不会这样建表,实际开发中这两个表会有自己不同的主键。)一、外连接外连接可分为:左连接、右连接、完全外连接。1、左连接 left join 或 left outer ...
  • 大家好,今天遇到了在db2中 两个数据库之间的两个表的联合查询 我知道oracle中有dblink,可是不知到db2的两个数据库联合查询怎么处理 我找了类似于 比如两个数据库: db1,db2 用户名 密码 select * from db1....
  • 两个表分别位于不同的数据库下,如何进行这两个库间的关联查询??? 来自:chinargb, 时间:2003-12-14 16:39:00, ID:2353262请大侠赐教! 来自:yq4000, 时间:2003-12-14 16:42:00, ID:2353270select 数据库1....
  • 第一反应能不能跨库查询,连接两个数据库查询。 说干就干!!! 代码如下: 用最原始的方法链接数据库 $mysqli = new mysqli('localhost', '用户名', '数据库密码', '数据库名称'); (第一个数据库) $mysq...
  • Yii 跨数据库关联关系

    千次阅读 2015-07-31 18:54:52
    要在两个数据库实例(同一个server)上进行关联数据查询,纯SQL语句如下:select a.*,b.* from db1.user as a,db2.log as b where a.id=b.user_id;要在Yii1 Model中支持这个,需要修改下user模型类的getDbConnection...
  • 使用SQL进行两个关联查询(inner)

    千次阅读 2019-07-25 23:37:53
    使用SQL进行两个关联查询
  • 数据库多表查询关联查询SQL语句

    千次阅读 2019-09-11 20:15:09
    意思就是向左关联某个表记录,以左边的那个表的记录为基准,通过关联条件,将关联表的相关符合要求的记录一起找出来,找出来的记录条数就是左边表的记录数 具体用法如下: SELECT column_name(s) FROM table_name1...
  • 在EF创建两个多对多关联的实体,并且映射到数据库中,在对中间表进行查询或是清除中间表的数据时操作失败,使用数据库跟踪发现没有生成相应的代码 ``` static void Main(string[] args) { OAMangerEntities db ...
  • 第二个数据库查询,与第一个数据库某字段相关联 $res[$key][ 'detail' ]= Db ::table ( '数据表名' ) -> where ( '字段名' ,$value[ '两个表相关联的值' ]) -> field ( 'rangeE,rangeName,rangeNum' ) -> select();...
  • 我在脑子里梳理了一下思路,以我目前的知识储备,只能在数据库写一下两个表join,然后在bean层,要么一个里面封装另外一个对象,要么另外写一个类封装一下。 很明显第一个方法有点违反开闭原则,假如这个底层不是我...
  • VB 数据库关联下拉表

    千次阅读 2014-04-25 15:13:45
    1、access数据库关联下拉表
  • PHP mysql 两个数据库的表连接查询

    千次阅读 2015-11-25 16:45:53
    $db_host = 数据库连接名称(localhost:3306) $db_user = 用户名 $db_pwd = 密码 $db_name = 数据库名称 $conn1 = @mysql_connect($host1, $user1, $pwd1); // 这里的‘@’是用来不显示出错的信息 mysql_...
  • 2.实例演示多表查询和关联查询 3.1对1数据库表设计、1对多数据库表设计、多对多数据库表设计三种关联方式:左关联、右关联、内联左关联(left join):以左表为主(左表保持完整,将右表中和左表有依赖关系的记录添加...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 459,920
精华内容 183,968
关键字:

两个数据库关联查询