python-mysql增删改查

创建表

 

import MySQLdb
def connect_mysql():
    db_config = {
        'host': '192.168.48.128',
        'port': 3306,
        'user': 'xiang',
        'passwd': '123456',
        'db': 'python',
        'charset': 'utf8'
    }
    cnx = MySQLdb.connect(**db_config)
    return cnx

if __name__ == '__main__':
    cnx = connect_mysql()
    cus = cnx.cursor()
    # sql  = '''insert into student(id, name, age, gender, score) values ('1001', 'ling', 29, 'M', 88), ('1002', 'ajing', 29, 'M', 90), ('1003', 'xiang', 33, 'M', 87);'''
    student = '''create table Student(
            StdID int not null,
            StdName varchar(100) not null,
            Gender enum('M', 'F'),
            Age tinyint
    )'''
    course = '''create table Course(
            CouID int not null,
            CName varchar(50) not null,
            TID int not null
    )'''
    score = '''create table Score(
                SID int not null,
                StdID int not null,
                CID int not null,
                Grade int not null
        )'''
    teacher = '''create table Teacher(
                    TID int not null,
                    TName varchar(100) not null
            )'''
    tmp = '''set @i := 0;
            create table tmp as select (@i := @i + 1) as id from information_schema.tables limit 10;
        '''
    try:
        cus.execute(student)
        cus.execute(course)
        cus.execute(score)
        cus.execute(thearch)
       cus.execute(tmp)
        cus.close()
        cnx.commit()
    except Exception as e:
        cnx.rollback()
        print('error')
        raise e
    finally:
        cnx.close()

结果:

mysql> show tables;

+------------------+

| Tables_in_python |

+------------------+

| Course           |

| Score            |

| Student          |

| Teacher          |

| tmp              |

+------------------+

3       rows in set (0.00 sec)

 

 

 

增加数据

import MySQLdb
def connect_mysql():
    db_config = {
        'host': '192.168.77.100',
        'port': 3306,
        'user': 'pzh',
        'passwd': 'Hello2017',
        'db': 'python',
        'charset': 'utf8'
    }
    cnx = MySQLdb.connect(**db_config)
    return cnx

if __name__ == '__main__':
    cnx = connect_mysql()


    students = '''set @i := 10000;
            insert into Student select @i:=@i+1, substr(concat(sha1(rand()), sha1(rand())), 1, 3 + floor(rand() * 75)), case floor(rand()*10) mod 2 when 1 then 'M' else 'F' end, 25-floor(rand() * 5)  from tmp a, tmp b, tmp c, tmp d;
        '''
    course = '''set @i := 10;
            insert into Course select @i:=@i+1, substr(concat(sha1(rand()), sha1(rand())), 1, 5 + floor(rand() * 40)),  1 + floor(rand() * 100) from tmp a;
        '''
    score = '''set @i := 10000;
            insert into Score select @i := @i +1, floor(10001 + rand()*10000), floor(11 + rand()*10), floor(1+rand()*100) from tmp a, tmp b, tmp c, tmp d;
        '''
    theacher = '''set @i := 100;
            insert into Teacher select @i:=@i+1, substr(concat(sha1(rand()), sha1(rand())), 1, 5 + floor(rand() * 80)) from tmp a, tmp b;
        '''
    try:
        cus_students = cnx.cursor()
        cus_students.execute(students)
        cus_students.close()

        cus_course = cnx.cursor()
        cus_course.execute(course)
        cus_course.close()

        cus_score = cnx.cursor()
        cus_score.execute(score)
        cus_score.close()

        cus_teacher = cnx.cursor()
        cus_teacher.execute(theacher)
        cus_teacher.close()

        cnx.commit()
    except Exception as e:
        cnx.rollback()
        print('error')
        raise e
    finally:
        cnx.close()

结果:

mysql> select count(*) from Student;

+----------+

| count(*) |

+----------+

|    10000 |

+----------+

1 row in set (0.01 sec)

 

mysql> select count(*) from Course;

+----------+

| count(*) |

+----------+

|       10 |

+----------+

1 row in set (0.00 sec)

 

mysql> select count(*) from Score;

+----------+

| count(*) |

+----------+

|    10000 |

+----------+

1 row in set (0.00 sec)

 

mysql> select count(*) from Teacher;

+----------+

| count(*) |

+----------+

|      100 |

+----------+

1 row in set (0.00 sec)

 

查数据

 

import codecs

import MySQLdb
def connect_mysql():
    db_config = {
        'host': '192.168.77.100',
        'port': 3306,
        'user': 'pzh',
        'passwd': 'Hello2017',
        'db': 'python',
        'charset': 'utf8'
    }
    cnx = MySQLdb.connect(**db_config)
    return cnx

if __name__ == '__main__':
    cnx = connect_mysql()

    sql = '''select * from Student where StdName in (select StdName from Student group by StdName having count(1)>1 ) order by StdName;'''
    try:
        cus = cnx.cursor()
        cus.execute(sql)
        result = cus.fetchall()
        with codecs.open('select.txt', 'w+') as f:
            for line in result:
                f.write(str(line))
                f.write('\n')
        cus.close()
        cnx.commit()
    except Exception as e:
        cnx.rollback()
        print('error')
        raise e
    finally:
        cnx.close()

结果:

(19844L, u'315', u'F', 24)

(17156L, u'315', u'F', 25)

(14349L, u'48f', u'F', 25)

(17007L, u'48f', u'F', 25)

(12629L, u'afd', u'F', 25)

(13329L, u'afd', u'F', 24)

(10857L, u'e31', u'F', 23)

(14476L, u'e31', u'M', 21)

(16465L, u'ee5', u'M', 22)

(18570L, u'ee5', u'M', 21)

(17056L, u'ef0', u'M', 23)

(16946L, u'ef0', u'F', 24)

 

 

转载于:https://my.oschina.net/peizh/blog/1577674

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要创建一个Python Flask的MySQL增删改查API,你需要安装一些依赖模块。你可以使用pip来安装这些模块。首先,使用pip安装以下依赖模块:python-mpipinstallflask==1.1.2、python-mpipinstallflask_migrate==2.7.0、python-mpipinstallflask_sqlalchemy和python-mpipinstallflask_script。\[1\] 接下来,你需要在app.py文件中逐步添加以下代码。首先导入一些要用到的库,包括pymysql、Flask、SQLAlchemy、make_response、request和Flask-Cors。然后,你可以使用Flask和SQLAlchemy来创建一个Flask应用和一个数据库连接。最后,你可以使用Flask-Cors来处理跨域请求。\[2\] 如果你想一次性安装所有依赖模块,你可以使用以下命令:pip install -r req_new.txt。在req_new.txt文件中列出了所有需要安装的模块,包括Flask、Flask-Caching、Flask-Cors、Flask-Migrate、Flask-RESTful、Flask-Script、Flask-SQLAlchemy、MarkupSafe、PyJWT、PyMySQL、qiniu和redis。\[3\] 这样,你就可以开始编写Python Flask的MySQL增删改查API了。 #### 引用[.reference_title] - *1* [Python + Flask ORM实现增删改查](https://blog.csdn.net/weixin_41754309/article/details/125275931)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Flask+mysql 实现增删改查接口开发+测试(图文教程附源码)](https://blog.csdn.net/qq_29720657/article/details/124522898)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Flask项目创建及数据库增删改查](https://blog.csdn.net/li_xiao_guang/article/details/127155857)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值