Eight, Python MySQL (pymysql)

Step call

  • 1.cmd installation: pip install pymysql
  • 2. Import: import pymysql
  • 3. Establish connection: conn = pymysql.connect (user = 'username', password = 'password', database = 'library name', charset = 'utf8')
  • 4. Establish cursor: cursor ()
  • 5. query: sql = ( 'sql statement, all input parameters represented by% s')
  • 6. Implementation: cursor.execute (sql, (1 input parameters, the input parameters input parameter 2 ...... N))
  • 7. check printing: for (Field 1, Field 2) in cursor: print (Field 1, Field 2)
  • 8. submission (add, modify, delete): conn.commit ()
  • 9. Close the cursor, to close the connection: cursor.close conn.close

Install mysql, create databases, tables, records increase

CREATE DATABASE pytest;

USE pytest;

CREATE TABLE student(
NAME VARCHAR(20),
age INT
);

DELETE FROM student;

INSERT INTO student(NAME,age) VALUES('zhangshan',20);
INSERT INTO student(NAME,age) VALUES('lisi',88);

mysqldb.py file content (database operation):

#!/usr/bin/python
# -*- coding: UTF-8 -*-
import pymysql
#连接数据库
conn = pymysql.connect(user='root',password='root',database='pytest',charset='utf8')
cur = conn.cursor()

#不论是什么数据类型,占位符都用%s
#带条件查询
sql = ('SELECT * FROM student WHERE NAME =%s AND age =%s')
cur.execute(sql,('zhangshan',20))
#不带条件查询
sql = ('SELECT * FROM student')
cur.execute(sql)

#将只返回一条结果,返回单个元组如('name','age')
#data = cur.fetchone()
#也将返回所有结果,返回二维元组(tuple),如(('name','age'),('name','age'))
data = cur.fetchall()

#打印值
for (name,age) in data:
 print(name,age)
 
#新增
sql=('INSERT INTO student VALUES(%s,%s)')
cur.execute(sql,('wangwu',10))

#修改
sql=('UPDATE student SET age=%s WHERE NAME=%s')
cur.execute(sql,(20,'wangwu'))

#删除
sql=('DELETE FROM student WHERE NAME =%s')
cur.execute(sql,('wangwu'))
#只要是修改了表内容的操作,后面一定要提交,否则不起作用新增修改删除
conn.commit()

conn.close
cur.close

Guess you like

Origin www.cnblogs.com/yiwenrong/p/12658908.html