关于数据库的记录调整记录。Python实现

接到一个小任务,打算10天之内完成,记录下自己遇到的每个问题和解决的办法。

需求:数据库1的记录所在的表名是按照主键key 求hash(4)所得,将它转移到数据库2中,数据库2的表名是按照主键key求hash(5)所得。

难点分析:

1、界面实现

2、导入参数

3、hash的运用和计算

4、记录的转移和操作;

day1

安装好MySQL-python

Python操作MySQL基础

#coding=utf-8
import MySQLdb

conn= MySQLdb.connect(
        host=‘192.168.1.90‘,
        port = 3306,
        user=‘QSuserWrite‘,
        passwd=‘qs123456‘,
        db =‘shiji‘,
        )
cur = conn.cursor()

#创建数据表
#cur.execute("create table student(id int ,name varchar(20),class varchar(30),age varchar(10))")

#插入一条数据
#cur.execute("insert into student values(‘2‘,‘Tom‘,‘3 year 2 class‘,‘9‘)")
#cur.execute("create table student(id int,name varchar(20),class varchar(20),age int)")
#cur.execute("Alter tudent add primary key(id)")

sqlinsert="insert into student values(%s,%s,%s,%s)"
cur.executemany(sqlinsert,[
            (‘8‘,‘john‘,‘1 year 2 class‘,‘10‘),
            (‘9‘,‘john‘,‘1 year 2 class‘,‘10‘),
            (‘10‘,‘john‘,‘1 year 2 class‘,‘10‘),
            (‘11‘,‘john‘,‘1 year 2 class‘,‘10‘),
            ])

#修改查询条件的数据
#cur.execute("update student set class=‘3 year 1 class‘ where name = ‘Tom‘")

#删除查询条件的数据
#cur.execute("delete from student where age=‘9‘")

cur.close()
conn.commit()
conn.close()

1、Python操作是先建立一个conn的连接;

2、cur = conn.cursor()

通过获取到的数据库连接conn下的cursor()方法来创建游标。

3、cur.execute("create table student(id int ,name varchar(20),class varchar(30),age varchar(10))")

通过游标cur 操作execute()方法可以写入纯sql语句。通过execute()方法中写如sql语句来对数据进行操作。

4、可以设置sqlinsert="insert into student values(%s,%s,%s,%s)",从而节省代码量;

5、插入多条记录时,

cur.executemany(sqlinsert,[
            (‘8‘,‘john‘,‘1 year 2 class‘,‘10‘),
            (‘9‘,‘john‘,‘1 year 2 class‘,‘10‘),
            (‘10‘,‘john‘,‘1 year 2 class‘,‘10‘),
            (‘11‘,‘john‘,‘1 year 2 class‘,‘10‘),
            ])

  方法用executemany,注意sqlinsert后要加中括号【】,每条记录要用逗号隔开;

时间: 2024-10-05 21:02:09

关于数据库的记录调整记录。Python实现的相关文章

统计一个数据库中,无记录的表的sql语句

2016-05-20 SQL Server数据库中统计无记录数的表 大家使用的时候,将sql脚本中的红色[TestDB] 换成你的目标数据库名称. 1 /************************************************************ 2 * Code formatted by SoftTree SQL Assistant ?v7.0.158 3 * Time: 2016/5/19 18:47:02 4 * Author:zhangcn 5 *******

mongo数据库中一条记录中某个属性是数组情形时 数据结构的定义

package entity; import java.util.Date; import com.mongodb.BasicDBList;import com.mongodb.DBObject; public class CommonEditEntity { /** 数据库中查询记录结果 */ private DBObject record; /** 数据库默认id */ private String _id; /** 项目id */ private String project_id; /*

如何删除数据库中的重复记录?

一.题外篇 今天很悲催啊,给用户数据做datapatch的时候,每个月的数据多导入了一份,瞬间惊出一身冷汗... 这可是产品环境,要是被老板知道了可就死定了,赶紧去掉重复的记录,同时写下下面的文章以备后用. 二.准备篇 1. 先创建一张学生表student: create table student( id varchar(10) not null, name varchar(10) not null, age number not null ); 2. 插入几条数据到表student: ins

达梦数据库的TPCC测试记录

达梦数据库的TPCC测试记录 测试环境本文主要目的是介绍使用 benchmarksql工具进行 TPCC 测试的步骤使用工具版本:benchmarksql-4.1.1 服务器:华为泰山v1CPU:海思1616 32核x2;内存:192G;硬盘:1.2Tx5系统:中标麒麟 release V7Update6/(Chromium)-aarch64 1.上传数据库的驱动包jar文件上传目录:/home/setup/tpcc/benchmarksql-4.1.1/lib/ 2.初始化相关配置1.创建测试

mysql数据库服务器的调整

前天给客户做一次数据库服务器的调整,把以前的一台主机废弃,一台从库提升为主,然后新加入其他从机,这里记录下操作步骤: 一.老主库开启只读,以便后面步骤出问题回滚回来:flush tables with read lock 二.110.10.1.102升级为主库,暂停同步,重置为主,清理中继信息,重启数据库 stop slave , reset master , mv master.info relay.log /tmp 修改配置文件my.cnf 加入expire_logs_days=15和inn

日常问题记录--插入记录时报 Illegal mix of collations (latin1_swedish_ci,COERCIBLE) and (gbk_chinese_ci,COERCIBLE) for operation '=' 错误

背景: 写一个数据DB操作时,日志报Illegal mix of collations (latin1_swedish_ci,COERCIBLE) and (gbk_chinese_ci,COERCIBLE) for operation '=' 错误: 原因: 1.插入式代码中的数据类型为GBK: 2.DB建表时忘记修改默认的编码格式(默认为 Collation: latin1_swedish_ci 格式): 1.2结合之后,插入数据编码错误: 定位方法: 1.查看DB表的字段编码 show f

一级二级域名设置测试txt记录(spf记录)pass

1.什么是SPF? (Sender Policy Framework) 的缩写,一种以IP地址认证电子邮件发件人身份的技术,是非常高效的垃圾邮件解决方案. 接收邮件方会首先检查域名的SPF记录,来确定发件人的IP地址是否被包含在SPF记录里面,如果在,就认为是一封正确的邮件,否则会认为是一封伪造的邮件进行退回. 2.怎么设置邮箱的SPF? (1).SPF通过域名的TXT记录设置实现. 为提升域名邮箱外送(@xishui139以外的邮箱)邮件的到达成功率,建议给域名设置TXT记录. 下面是xish

mysql记录集中记录序号,MySQL中实现rownum功能类似的语句(转)

MySQL 如何实现 Oracle 的 ROWNUM mysql> SELECT * FROM frutas;+-----------+----------+| nombre    | color    |+-----------+----------+| fresa     | rojo     || platano   | amarillo || manzana   | verde    || uva       | verde    || pera      | verde    || m

A 记录, MX 记录, CNAME 记录, url 转发, ns 记录, 动态记录 (转)

A 记录, MX 记录, CNAME 记录, url 转发, ns 记录, 动态记录 (转) Table of Contents DNS A AAAA CNAME MX TXT 子域名 泛域名与泛解析 URL (Uniform Resource Locator) NS 动态域名解析 来源: http://blogread.cn/it/article/1135?f=wb2 http://blogread.cn/it/article/5998?f=wb DNS DNS, Domain Name Sy