python连接mysql

扫码查看
不管是做运维的同事,还是做开发的小伙伴,我们经常需要和数据库打交道。
在处理少量的sql,我们还能自己写写,但是,如果需要执行大量的sql,并对查询的数据做分析,这时候怎么办呢?
当!当!当!当!当!我们的程序语言就上场啦,本文就介绍了用python对数据库进行简单的操作。

初始化数据库,得到一个可以执行SQL语句的光标对象

conn = pymysql.connect(host='host', port='port', user='user', password='password',database='database', charset='charset')
curs = conn.cursor()

创建数据表SQL语句

curs.execute("DROP TABLE IF EXISTS EMPLOYEE")  #如果数据表已经存在使用 execute() 方法删除表。
sql = """CREATE TABLE EMPLOYEE (
         FIRST_NAME  CHAR(20) NOT NULL,
         LAST_NAME  CHAR(20),
         AGE INT,
         SEX CHAR(1),
         INCOME FLOAT )"""
curs.execute(sql)

sql的增删改查

sql = "INSERT INTO 表名 (属性) VALUES (值);"
curs.execute(sql)
res = conn.commit()
while res is not None:  # 如果提交不成功,总再次提交,知道成功为止
    conn.rollback()  # 发生错误时回滚
    curs.execute(sql)
    res = conn.commit()    

sql = "DELETE FROM 表名 WHERE 属性 = 值"
try:
    curs.execute(sql)
    conn.commit()
except:
    conn.rollback()  # 发生错误时回滚

sql = "UPDATE 表名 SET 属性 = 值 WHERE 属性 = 值"
try:
    curs.execute(sql)
    conn.commit()
except:
    conn.rollback()  # 发生错误时回滚

sql = "select * from 表名"
try:
    curs.execute(sql)  # 执行sql语句
    res = curs.fetchall()  # 获取查询的所有记录
    for row in res:
        print(row)
except Exception as e:
    raise e

关闭数据库

conn.close
12-16 23:18
查看更多