1 #1、创建8张表
2 #creat table user_0 like user_nhy;
3
4 #2、先从源表里面查到数据,然后取到phone,然后 % 8 计算出来在哪张表里,然后insert
5 #select * from user;
6 #[{id:1,nname:xx}]
7 #insert into user_0 values ()
8
9 #insert into user_0 select * from user where id =1;
10
11
12 from day8.homework import utlis
13 def create_table_more(src_table_name,number=8): #user_0 user_1
14 print("开始创建表")
15 for i in range(number):
16 new_table_name = "%s_%s" % (src_table_name,i)
17 sql = "create table if not exists %s like %s;" % (new_table_name,src_table_name)
18 # sql = "drop table %s" % new_table_name
19 print("创建表的sql ",sql)
20 utlis.op_mysql(sql)
21 print("分表创建完成")
22
23 def insert_data(src_table_name,number=8):
24 sql = "select * from %s ; " % src_table_name
25 all_data = utlis.op_mysql(sql,data_type=2)
26 # print(all_data[0].keys())
27 # return
28 for data in all_data:
29 table_index = int(data.get("phone")) % number
30 table = "%s_%s" % (src_table_name,table_index)
31 insert_sql = 'insert into %s select "",nick, gender, birthday, email, phone, password, qq, address, status, pay_status, avatar, register_time, last_login_ip, last_login_time from %s where phone = "%s"; ' % (table,src_table_name,data.get("phone"))
32 utlis.op_mysql(insert_sql)
33 print("数据 %s 迁移完成 " % data)
34 print("所有数据迁移完成!")
35
36 if __name__ == '__main__':
37 create_table_more("user_nhy")
38 insert_data("user_nhy")