Python se conecta a la base de datos de Tencent Cloud TDSQL-C (anteriormente CynosDB)

Python se conecta a la base de datos de Tencent Cloud TDSQL-C (anteriormente CynosDB)

1. Pasos de conexión
1. Instale la biblioteca PyMySQL
Inserte la descripción de la imagen aquí
2. Abra la dirección de red externa de la conexión del clúster en los detalles del clúster de Tencent Cloud TDSQL-C (antes CynosDB)
Inserte la descripción de la imagen aquí
3. La parte del código, debe completar cinco partes, donde el host La dirección y el número de puerto del puerto son La dirección de red externa de la conexión del clúster que se muestra después de abrir el segundo paso. Similar al siguiente formato "xxxxxxxxxxxxxxxxx.com:xxxxx", el frente de los dos puntos es la dirección del host y el reverso es el número de puerto. Contraseña de la cuenta. Es la contraseña de la cuenta del tercer paso, y la demora es la cuenta raíz utilizada.

el código se muestra a continuación:

import pymysql as mysql
######连接数据库
mydb = mysql.connect(
    host="sh-cynosdbmysql-grp-09q11w48.sql.tencentcdb.com",  # 数据库主机地址
    port=xxxxx,  # 端口号
    user="xxxx",  # 数据库用户名
    passwd="xxxx",  # 数据库密码
    database="xxxx"  # 选择一个数据库
)

mycursor = mydb.cursor()

######新建一个表######
try:
    mycursor.execute("CREATE TABLE sites (name VARCHAR(255), url VARCHAR(255))")
except:
    print("已经存在这个表了")

mycursor.execute("SHOW TABLES")
for x in mycursor:
    print(x)
'''主键设置'''
# mycursor.execute("ALTER TABLE sites ADD COLUMN id INT AUTO_INCREMENT PRIMARY KEY")

'''插入数据'''
sql = "INSERT INTO sites (name, url) VALUES (%s, %s)"
val = ("RUNOOB", "https://www.runoob.com")
mycursor.execute(sql, val)
mydb.commit()  # 数据表内容有更新,必须使用到该语句
print(mycursor.rowcount, "记录插入成功。",mycursor.lastrowid)

'''批量插入'''
sql = "INSERT INTO sites (name, url) VALUES (%s, %s)"
val = [
    ('Google', 'https://www.google.com'),
    ('Github', 'https://www.github.com'),
    ('Taobao', 'https://www.taobao.com'),
    ('stackoverflow', 'https://www.stackoverflow.com/')
]

mycursor.executemany(sql, val)

mydb.commit()  # 数据表内容有更新,必须使用到该语句

print(mycursor.rowcount, "记录插入成功。",mycursor.lastrowid)



mycursor.execute("SELECT * FROM sites")

myresult = mycursor.fetchall()  # fetchall() 获取所有记录
for x in myresult:
    print(x)

'''读取指定的字段数据'''
mycursor.execute("SELECT name, url FROM sites")
myresult = mycursor.fetchall()

for x in myresult:
    print(x)

'''删除记录'''
sql = "DELETE FROM sites WHERE name = 'stackoverflow'"
mycursor.execute(sql)
mydb.commit()
print(mycursor.rowcount, " 条记录删除")

Supongo que te gusta

Origin blog.csdn.net/weixin_44925547/article/details/114315474
Recomendado
Clasificación