• 技术文章 >数据库 >SQL

    怎样用update语句多表关联?

    coldplay.xixicoldplay.xixi2020-06-29 17:13:10原创2966

    怎样用update语句多表关联?

    update语句多表关联的方法:

    1) 最简单的形式

    SQL 代码

    --经确认customers表中所有customer_id小于1000均为'北京'

    --1000以内的均是公司走向全国之前的本城市的老客户:)
    update customers
    set city_name='北京'
    where customer_id<1000

    2) 两表(多表)关联update -- 仅在where字句中的连接

    SQL 代码

    --这次提取的数据都是VIP,且包括新增的,所以顺便更新客户类别
    update customers a -- 使用别名
    set customer_type='01' --01 为vip,00为普通
    where exists (select 1
    from tmp_cust_city b
    where b.customer_id=a.customer_id
    )

    3) 两表(多表)关联update -- 被修改值由另一个表运算而来

    SQL 代码

    update customers a -- 使用别名
    set city_name=(select b.city_name from tmp_cust_city b where b.customer_id=a.customer_id)
    where exists (select 1
    from tmp_cust_city b
    where b.customer_id=a.customer_id
    )
    -- update 超过2个值
    update customers a -- 使用别名
    set (city_name,customer_type)=(select b.city_name,b.customer_type
    from tmp_cust_city b
    where b.customer_id=a.customer_id)
    where exists (select 1
    from tmp_cust_city b
    where b.customer_id=a.customer_id
    )一、随机密码生成。编写程序在26个字母大小写和9个数字组成的列表中随机生成10个8位密码。
        import random
        def random_password():
            list1 = []
            #把字母加入序列中
            for i in range(65,90):
                list1.append(chr(i))
            for i in range(97,122):
                list1.append(chr(i))
                
            list2 = [1,2,3,4,5,6,7,8,9]
            list = list1 +list2
            n = 0
            while n < 10:
                password = []
                n = n + 1
                m = 0
                password = password + random.sample(list, 8)
                #把列表转化为字符串
                password_middle = [str(i) for i in password]
                password_end = ''.join(password_middle)
                
                print("第{}个随机生成的密码是:{}".format(n,password_end))
            
    random_password()
    #random.sample(seq, k)实现从序列或集合seq中随机选取k个独立的的元素
    #random.randint(a, b)   #A-Z:65-90;a-z:97-122;ASCII码48~57为0到9十个阿拉伯数字

    推荐教程:《sql视频教程

    以上就是怎样用update语句多表关联?的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:sql update
    上一篇:什么是SQL查询,它有哪些特点? 下一篇:SQL Server 怎么创建数据库?

    相关文章推荐

    • laravel多表关联查询问题• 详解YII2多表关联的使用• mysql多表关联更新• sql语句中怎么查看表结构?

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网