怎么编写Python代码使得:将采集到的变量name1和变量picture_str插入到数据库中的news表里面
时间: 2024-03-03 16:46:47 浏览: 23
你可以使用Python的MySQL数据库操作模块pymysql来实现将采集到的变量name1和变量picture_str插入到数据库中的news表里面的功能。下面是具体的实现方法。
首先,你需要安装Python的MySQL数据库操作模块pymysql,可以使用以下命令进行安装:
```
pip install pymysql
```
接着,你需要连接到你的MySQL数据库,可以使用以下代码实现:
```python
import pymysql
# 连接数据库
conn = pymysql.connect(host='localhost', user='root', password='password', database='test', charset='utf8mb4')
```
其中,host表示数据库的主机名,user表示数据库的用户名,password表示数据库的密码,database表示要连接的数据库名,charset表示数据库的字符集,这些参数需要根据你的实际情况进行修改。
然后,你需要定义一个游标对象,用于执行SQL语句,可以使用以下代码实现:
```python
# 定义游标对象
cursor = conn.cursor()
```
接下来,你可以使用SQL语句创建一个news表,可以使用以下代码实现:
```python
# 创建表
create_table_sql = '''
CREATE TABLE IF NOT EXISTS `news` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(255) NOT NULL,
`picture` longtext NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
'''
cursor.execute(create_table_sql)
```
其中,news表示要创建的表名,title表示新闻标题,picture表示新闻的图片。
接着,你可以使用以下代码将采集到的变量name1和变量picture_str插入到news表中:
```python
# 插入数据
insert_sql = "INSERT INTO `news` (`title`, `picture`) VALUES (%s, %s)"
cursor.execute(insert_sql, (name1, picture_str))
conn.commit()
```
其中,insert_sql表示插入数据的SQL语句,name1和picture_str分别表示要插入的变量,使用元组的形式将它们传递给execute方法的第二个参数。最后,调用commit方法提交事务即可将数据插入到news表中。
完整的代码如下所示:
```python
import pymysql
# 连接数据库
conn = pymysql.connect(host='localhost', user='root', password='password', database='test', charset='utf8mb4')
# 定义游标对象
cursor = conn.cursor()
# 创建表
create_table_sql = '''
CREATE TABLE IF NOT EXISTS `news` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(255) NOT NULL,
`picture` longtext NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
'''
cursor.execute(create_table_sql)
# 插入数据
insert_sql = "INSERT INTO `news` (`title`, `picture`) VALUES (%s, %s)"
cursor.execute(insert_sql, (name1, picture_str))
conn.commit()
# 关闭连接
cursor.close()
conn.close()
```
以上代码仅供参考,具体实现需要根据你的实际情况进行修改。