如何将socket接收的字符串存入数据库中,并将该字符串作为主键
时间: 2023-11-22 12:56:53 浏览: 33
首先,你需要连接到数据库,并创建一个表来存储接收到的字符串。可以使用以下代码:
```
import mysql.connector
# 连接到数据库
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="yourdatabase"
)
# 创建一个表来存储接收到的字符串
mycursor = mydb.cursor()
mycursor.execute("CREATE TABLE received_strings (id VARCHAR(255) PRIMARY KEY, string VARCHAR(255))")
```
接下来,你需要编写代码来将接收到的字符串插入到数据库中。可以使用以下代码:
```
import socket
import mysql.connector
# 连接到数据库
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="yourdatabase"
)
# 创建一个socket并监听端口
s = socket.socket()
host = socket.gethostname()
port = 12345
s.bind((host, port))
s.listen(5)
while True:
# 接收客户端的连接
c, addr = s.accept()
print('Got connection from', addr)
# 接收客户端发送的字符串
string = c.recv(1024).decode('utf-8')
print('Received string:', string)
# 将接收到的字符串插入到数据库中
sql = "INSERT INTO received_strings (id, string) VALUES (%s, %s)"
val = (string, string)
mycursor = mydb.cursor()
mycursor.execute(sql, val)
mydb.commit()
print(mycursor.rowcount, "record inserted.")
# 关闭连接
c.close()
```
在这个代码中,我们使用了Python的Socket模块来接收客户端发送的字符串,并将其存储到MySQL数据库中。我们为接收到的字符串创建了一个主键,并将其与字符串一起插入到数据库中。最后,我们关闭了与客户端的连接。