欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

windows系统的python3与mysql进行交互

程序员文章站 2022-07-12 15:10:06
...

mysql安装在linux下的话,首先在linux终端启动并关闭防火墙:

service mysqld start        #启动
service mysqld status       #查看mysql状态

service iptables stop        #关闭防火墙

要是没关闭防火墙可能会报错:OperationalError: (2003, "Can't connect to MySQL server on '****' (10060)")。

然后登录mysql并进行一些简单的操作:

mysql -u root -p                    #登录mysql

create database 数据库名;			#创建数据库
drop database 数据库名;				#删除数据库
use 数据库名;						#使用数据库
show databases;						#查看当前所有数据库

use  database_name
select * from list_name

确认mysql能正常运行,则开始写python对mysql进行一些简单操作:

# -*- coding: utf-8 -*-

#安装pymysql
pip install PyMySQL   

import pymysql

#获取连接对象
conn = pymysql.connect(
                host='mysql所在系统的ip',        #linux的终端通过ifconfig可查看
                port=3306,                      #默认端口
                user='用户名',                   #mysql用户
                passwd='密码',                   #登录密码
                db='数据库名',                    
                charset='utf8'
            )



#获取执行工具
cur = conn.cursor()

#sql语句
sql = 'select * from xx'

#查看该表有多少条数据
count = cur.execute(sql)
print(count)

#获取该表的所有数据
all = cur.fetchall()
for temp in all:
    print(temp)

#对该数据库操作完记得关闭
cur.close()
conn.close()

 

#向表中添加一条数据

import pymysql

try:
   conn = pymysql.connect(
                host='mysql所在系统的ip',        
                port=3306,                     
                user='用户名',                   
                passwd='密码',                   
                db='数据库名',                    
                charset='utf8'
            )
    c1 = conn.cursor()
    count = c1.execute("INSERT into student (age,name) VALUES(21,'斯巴达')")
    print("插入完成!")
    #查看插入数据后的表
    count = c1.execute(sql)
    all = c1.fetchall()
    for temp in all:
        print(temp)
    #关闭
    conn.commit()
    c1.close()
    conn.close()
except Exception as error:
  print(error)