zoukankan      html  css  js  c++  java
  • python连接数据库并插入数据

     1.Python创建数据库

    import MySQLdb
    try:
        conn = MySQLdb.connect(
            host="127.0.0.1",
            port=3306,
            user="root",
            passwd="123456",
           # db="juntest",#也可以在这一步显示数据库名
            charset="utf8")
        cur = conn.cursor()
        cur.execute('CREATE DATABASE IF NOT EXISTS juntestDBnew DEFAULT CHARSET utf8 COLLATE utf8_general_ci;')  #没有这个表,就创建
        conn.close()
        print u"创建数据库juntestDBnew成功! "
    except MySQLdb.Error, e:
        print "Mysql Error %d: %s" % (e.args[0], e.args[1])

    创建成功,查看

    2.创建数据表

    #coding=utf-8
    import MySQLdb
    try:
        conn = MySQLdb.connect(
            host="127.0.0.1",
            port=3306,
            user="root",
            passwd="123456",
           # db="juntest",另外写一种建表的方法
            charset="utf8")
        conn.select_db('juntestDBnew')#选择一个数据库
        cur = conn.cursor()
        cur.execute("drop table if exists emp_info2;")
        cur.execute("drop table if exists salary2;")
        cur.execute('''create table emp_info2(
    id int not null auto_increment,
    name varchar(30) not null,
    sex char(4) default null,
    dept varchar(10),
    mobile varchar(11) not null unique,
    birthday date default "0000-00-00",
    primary key(id)
    )engine=innodb character set utf8 comment 'employer info';
     ''')
        cur.execute('''create table salary2(
    id int not null auto_increment,
    emp_id int not null,
    salary int not null,
    primary key(id)
    )engine=innodb character set utf8 comment 'employer salary info';
       ''')
        cur.close()
        conn.close()
        print u"创建数据表成功! "
    
    except MySQLdb.Error, e:
         print "Mysql Error %d: %s" % (e.args[0], e.args[1])

    查看是否成功

    3.进行数据的插入

    #coding=utf-8
    import MySQLdb
    import random
    
    try:
        conn = MySQLdb.connect(
            host="127.0.0.1",
            port=3306,
            user="root",
            passwd="123456",
            db="juntestDBnew",#另外写一种建表的方法
            charset="utf8"
        )
        cur=conn.cursor()
        num=random.randint(10,300)
        sql="insert into emp_info2 values(%s,%s,%s,%s,%s,%s)"#这种写法自增字段和隐藏字段都要写出来
        #cur.execute(sql, (4, 'jun1', 'm', 'jun', '12345', '2017-4-30'));
        for i in  range(1,10):
            cur.execute('delete from emp_info2 where id='+str(i));
            #第一种插入
            cur.execute(sql, (i, 'jun'+str(i), 'm', 'jun', '18476672'+str(random.randint(1,1000)), '2017-4-'+str(random.randint(1,30))));
            print u"插入第(%s)条数据成功"%i
        cur.close()
        conn.commit()
        conn.close()
    
    
    except MySQLdb.Error, e:
         print "Mysql Error %d: %s" % (e.args[0], e.args[1])

  • 相关阅读:
    Linux设置系统时间并同步到硬件
    centos6.9安装mysql5.7.22并设置初始密码
    mysql修改数据库文件存储位置
    mysql1.7(mysql优化,mysql-mmm软件介绍,mysql高可用集群。)
    mysql1.6(主从同步,数据读写分离)
    Mysql1.5(binlog增量备份与恢复,innobackupex)
    Mysql1.4(用户授权,权限撤销;图形管理工具,数据备份-恢复)
    MYSQL1.3(存储引擎,数据导入导出,管理表记录)
    MYSQL1.2(字段管理,索引类型)
    mysql1.1(搭建,数据类型,基本使用)
  • 原文地址:https://www.cnblogs.com/chongyou/p/6789991.html
Copyright © 2011-2022 走看看