MySQL study notes. Python connect to the database

Python connect to the database to view the database version

from pymysql import *
def main():
 	conn=connect(host='localhost',port=端口号,user='用户名',password='密码',database='表名',charset='utf8')
    #创建一个游标对象
    cs1=conn.cursor()
    #使用execute()方法执行SQL语句
    cs1.execute("select version()")
    #fetchone()方法获取单条数据
    content=cs1.fetchone()
    print("database version is %s"%content)
    conn.close()#关闭数据库
if __name__ == '__main__':
    main()

Insert picture description here

Create data table

from pymysql import *
def main():
    conn=connect(host='localhost',port=端口号,user='用户名',password='密码',database='表名',charset='utf8')
    #创建一个游标对象
    cs1=conn.cursor()
    #使用execute()方法执行SQL语句
    cs1.execute("drop table if exists students")#若已存在students表则删除
    #使用预处理语句创建表
    sql="""
    CREATE TABLE students(
    id INT PRIMARY KEY,
    name VARCHAR(30),
    gender VARCHAR(10),
    grade double);
    """
    #执行SQL语句
    cs1.execute(sql)
    conn.close()
if __name__ == '__main__':
    main()
mysql> show tables;
+------------------+
| Tables_in_yingmo |
+------------------+
| students         |
| weather          |
+------------------+
2 rows in set (0.00 sec)

mysql> desc students;
+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| id     | int(11)     | NO   | PRI | NULL    |       |
| name   | varchar(30) | YES  |     | NULL    |       |
| gender | varchar(10) | YES  |     | NULL    |       |
| grade  | double      | YES  |     | NULL    |       |
+--------+-------------+------+-----+---------+-------+
4 rows in set (0.00 sec)

Database operation

1. Insert a record

from pymysql import *
def main():
    conn=connect(host='localhost',port=端口号,user='用户名',password='密码',database='表名',charset='utf8')
    #创建一个游标对象
    cs1=conn.cursor()
    sql="INSERT INTO students values('1', 'lucy', 'f', 89)"
    #执行SQL语句
    cs1.execute(sql)
    conn.commit()
    conn.close()
if __name__ == '__main__':
    main()

View

mysql> SELECT * FROM students;
+----+------+--------+-------+
| id | name | gender | grade |
+----+------+--------+-------+
|  1 | lucy | f      |    89 |
+----+------+--------+-------+
1 row in set (0.00 sec)

2. Insert multiple records

from pymysql import *
def main():
     conn=connect(host='localhost',port=端口号,user='用户名',password='密码',database='表名',charset='utf8')
    #创建一个游标对象
    cs1=conn.cursor()
    sql="INSERT INTO students values(%s,%s,%s,%s)"
    value=[('2','luna','f',80),('3','xiaoming','m',90),('4','zhanghua','m',95)]
    #执行SQL语句
    cs1.executemany(sql,value)#多条
    conn.commit()
    conn.close()
if __name__ == '__main__':
    main()

View

mysql> SELECT * FROM students;
+----+----------+--------+-------+
| id | name     | gender | grade |
+----+----------+--------+-------+
|  1 | lucy     | f      |    89 |
|  2 | luna     | f      |    80 |
|  3 | xiaoming | m      |    90 |
|  4 | zhanghua | m      |    95 |
+----+----------+--------+-------+
4 rows in set (0.00 sec)

3. Database delete operation

from pymysql import *
def main():
    conn=connect(host='localhost',port=端口号,user='用户名',password='密码',database='表名',charset='utf8')
    #创建一个游标对象
    cs1=conn.cursor()
    sql="DELETE FROM students WHERE name='luna'"#删除语句

    #执行SQL语句
    cs1.execute(sql)
    conn.commit()
    conn.close()
if __name__ == '__main__':
    main()
mysql> SELECT * FROM students;
+----+----------+--------+-------+
| id | name     | gender | grade |
+----+----------+--------+-------+
|  1 | lucy     | f      |    89 |
|  3 | xiaoming | m      |    90 |
|  4 | zhanghua | m      |    95 |
+----+----------+--------+-------+
3 rows in set (0.00 sec)

Deleted
4. Database modification operation

from pymysql import *
def main():
    conn=connect(host='localhost',port=端口号,user='用户名',password='密码',database='表名',charset='utf8')
    #创建一个游标对象
    cs1=conn.cursor()
    sql="UPDATE students SET grade=98 WHERE name='lucy'"

    #执行SQL语句
    cs1.execute(sql)
    conn.commit()
    conn.close()
if __name__ == '__main__':
    main()


View

mysql> SELECT * FROM students;
+----+----------+--------+-------+
| id | name     | gender | grade |
+----+----------+--------+-------+
|  1 | lucy     | f      |    98 |
|  3 | xiaoming | m      |    90 |
|  4 | zhanghua | m      |    95 |
+----+----------+--------+-------+
3 rows in set (0.00 sec)

Modified and completed
5. Query operation

from pymysql import *
def main():
     conn=connect(host='localhost',port=端口号,user='用户名',password='密码',database='表名',charset='utf8')
    #创建一个游标对象
    cs1=conn.cursor()
    sql="SELECT * FROM students"

    #执行SQL语句
    cs1.execute(sql)
    result=cs1.fetchall()#获取全部
    for i in result:
        print(i)
    conn.close()
if __name__ == '__main__':
    main()
from pymysql import *
def main():
     conn=connect(host='localhost',port=端口号,user='用户名',password='密码',database='表名',charset='utf8')
    #创建一个游标对象
    cs1=conn.cursor()
    sql="SELECT * FROM students"

    #执行SQL语句
    cs1.execute(sql)
    result=cs1.fetchmany(size=None)#只获取第一个
    print(result)
    conn.close()
if __name__ == '__main__':
    main()

Guess you like

Origin blog.csdn.net/qq_44862120/article/details/109101952