自学内容网 自学内容网

4.4 MySQL存储1

1、使用前提

        安装MySQL数据库,安装pymysql第三方库。

2、使用连接数据库最初步骤

(1) 声明一个连接对象。使用connect()方法声明一个连接对象conn,参数为数据库的一些信息。依次为主机名、用户名、密码、端口号;

(2) 获得游标。使用cursor()方法获得游标;

(3) 执行 sql 语句。使用execute()方法;

(4)关闭游标;

(5) 关闭连接。

以下代码对数据库进行了连接,执行语句,得到版本。

import pymysql

# (1) 声明一个连接对象
conn = pymysql.connect(host='localhost', user='root', 
                        passwd='1141477238', port=3306)   
 
# (2) 建立游标
cursor = conn.cursor()

# (3) 执行语句        
sql = "SELECT VERSION()"
cursor.execute(sql)
     
data = cursor.fetchone()    # fetchone()得到第一条数据
print('DataBase version:', data)

cursor.close()            # (4) 关闭游标
conn.close()                # (5) 关闭连接

# 输出:DataBase version: ('8.3.0',)

3、创建数据库(创建架构)

# 使用语句create database 数据库名
# 默认编码方式urf-8
sql = "create database spider default character set utf8mb4"

4、创建表

        使用CREATE TABLE 表名(表头),此处为id,name,age。

import pymysql

conn = pymysql.connect(host='localhost', user='root',
                     passwd='1141477238', port=3306, db='spider')
cursor = conn.cursor()
sql = ('CREATE TABLE IF NOT EXISTS student(id VARCHAR(255) NOT NULL, '
       'name VARCHAR(255) NOT NULL, '
       'age INT NOT NULL, '
       'PRIMARY KEY (id))')
cursor.execute(sql)
cursor.close()
conn.close()

5、Pycharm 可视化连接 MySQL 图形界面

        在执行代码后观察。具体见链接http://t.csdnimg.cn/ZYZoQ

        根据上述代码,我们可以看到我们的数据库spider,点击表student,发现如下图所示:

        即建表成功,可以开始之后的操作。

6、插入数据

        使用insert into 表名(表头元素) values (%s, %s, %s),之后execute()中传入参数,再比最初步骤多了一个连接提交conn.commit()即可。

import mysql

# 插入数据
conn = pymysql.connect(host='localhost', user='root',
                     passwd='1141477238', port=3306, db='spider')
cursor = conn.cursor()
id = '10001'
name = 'John'
age = 20
sql = 'insert into student(id, name, age) values (%s, %s, %s)'
cursor.execute(sql, (id, name, age))
conn.commit()
cursor.close()
conn.close()

7、更新数据

        使用update 表明 set 要改变量名 = %s where id = %s(id为定位变量)

# 改id为10001的age
sql = 'update student set age = %s where id = %s'
cursor.execute(sql, (25, '10001'))

8、查询数据

        使用select * from 表名 where 条件"。执行后结果返回再游标对象里,使用fetchall()方法返回所有符合条件的结果。

初表:

# 查询数据
conn = pymysql.connect(host='localhost', user='root',
                 passwd='1141477238', port=3306, db='spider')
cursor = conn.cursor()
sql = "select * from student where age >= 25"
cursor.execute(sql)
result = cursor.fetchall()
print(result)

执行代码结果:

9、删除数据

        改变 sql 语句即可,使用delete from 表名 where 条件即可

import mysql

conn = pymysql.connect(host='localhost', user='root',
                 passwd='1141477238', port=3306, db='spider')
cursor = conn.cursor()
sql = "delete from student where age >= 25 "
cursor.execute(sql)
conn.commit()
cursor.close()
conn.close()

本人新手,若有错误,欢迎指正;若有疑问,欢迎讨论。若文章对你有用,点个小赞鼓励一下,谢谢,一起加油吧!


原文地址:https://blog.csdn.net/weixin_51100340/article/details/136212219

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!