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