2020年7月3日--20--mysql数据库连接和随机生成手机号码

mysql数据库连接操作

1、各大数据库操作文章:http://www.lemfix.com/topics/306
2、在python3中对接mysql数据库使用到的库为pymysql模块:
	2.1、mysql数据库:pymysql模块
	2.2、pymysql模块安装:pip install pymysql
	
3.数据库的操作步骤:
	3.1、引入pymysql模块:import pymysql     # 引入pymysql模块
	
	3.2、建立连接,连接数据库:
			cou = pymysql.connect(             # 实例化连接,对象接收
		    host = 'xxxxxxx',     # 数据库主机地址
		    port = 3306,                   # 端口
		    user = 'xxxxxxx',               # 登录数据库的账号
		    password = 'xxxxxxx',           # 登录数据库的密码
		    database = 'xxxxxxx',       # 数据库名称
		    charset = 'utf8',             # 编码格式
		    cursorclass = pymysql.cursors.DictCursor    # 将默认的元组格式转换成字典格式输出
		)
		3.2.1、创建游标
			cur = cou.cursor()      # 创建游标
			
	3.3、执行对应的sql语句  方法:游标.execute(sql语句)
		# 1.需要查询的sql语句:sql = "select * from member where mobile_phone='15112552466'"   # 执行查询语句,当前指定的手机号
		2.sql = 'select * from member LIMIT 4'   # 执行查询语句,顺序的10条数据
		3.count = cur.execute(sql)      # 使用execute()方法进行查询,返回的是,sql语句执行结果的行数
		4. # print(count)    # 打印执行的行数结果
	
	3.4、获取sql语句执行后的数据结果
		# fetchone()   是获取一条数据
		one = cur.fetchone()          # 获取结果集当中一条数据
		print('第一条数据是:',one)   # 默认以元组的形式呈现出来,转换后是以字典形式
		two = cur.fetchone()          # 获取结果集当中一条数据
		print('第二条数据是:',two)   # 以元组的形式呈现出来,转换后是以字典形式
		print('*************************************************')
		# fetchall()  是获取所有的数据
		all = cur.fetchall()         # 获取结果集当中的所有数据
		print('所有数据是:',all)    # 默认是以元组嵌套元组的的形式呈现出来,转换后是列表嵌套字典的形式
		print('*************************************************')
		# fetchall()  是获取指定的数据
		# many = cur.fetchmany(size=3)             # 获取结果集当中指定的数据
		# print('前三行数据是:',many)

	3.5、关闭游标,关闭数据连接,资源释放
		cur.close()       # 关闭游标
		cou.close()       # 关闭数据连接

如何随机生成手机号码

'''
==================================
cooding:utf-8
@Time    :2020/7/4 15:57
@Author  :henry
@Email   :yinpingwei@gmail.com
@File    :随机生成手机号码.py
@Software:PyCharm
===================================
'''

'''
1.随机生成11位手机号,前三位+后8位
2.进行数据校验
'''
prefix = [133, 149, 153, 173, 177, 180, 181, 189, 199,
          130, 131, 132, 145, 155, 156, 166, 171, 175, 176, 185, 186, 166,
          134, 135, 136, 137, 138, 139, 147, 150, 151, 152, 157, 158, 159, 172, 178, 182, 183, 184, 187, 188, 198
          ]
import random    # 引入random
from py30.Public.Read_mysql_database import Read_mysql_db    # 从Public.Read_mysql_database 导入Read_mysql_db(读取数据库)(函数)

def get_new_phone():   # 重新生成的函数
    db = Read_mysql_db()   # 实例化
    while True:    # 条件一直为真时
        # 1.生成
        phone = __random_phone()    # 生成的手机号码
        # 2.校验,有
        count = db.Obtain_count('select * from member where mobile_phone="{}"'.format(phone))   # 使用数据查询语句来获取数据库里的个数
        if count == 0:          # 如果手机号码没有在数据库查到。表示是未注册的号码。
            db.close()         # 进行关闭
            return phone   # 返回手机号码退出

def __random_phone():   # 定义函数
    index = random.randint(0,len(prefix)-1)    # 下标从0开始,到长度减一
    phone = str(prefix[index])   # 生成前三位等于prefix的下标
    for _ in range(0,8):    # 生成后8位
        phone += str(random.randint(0,9))
    return  phone   # 返回11位手机号


print(get_new_phone())    # 打印随机生成的手机号
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值