step one
使用 WSL 在 Windows 上安装 Linux
wsl官方文档
在管理员模式下打开 PowerShell
windows上安装wsl
wsl --install
查看哪些是可用的
wsl --list --online
C:\Windows\System32\drivers\hosts
docker-desktop下载官网:Install Docker Desktop on Windows | Docker Docs
该官网还显示了版本要求。
cmd -> winver查看本地版本。本人使用的为23H2
docker pull mysql
docker run --name mysqllatest --restart=always -p 5006:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql
docker exec -ti xxx sh
python 验证MySQL是否已经启动
import pymysql
def connect():
# 连接 MySQL 数据库
conn = pymysql.connect(
host='127.0.0.1', # 主机名
port=5006, # 端口号,MySQL默认为3306
user='root', # 用户名
password='123456', # 密码
)
return conn
def show_databases(conn):
# 列出所有数据库
cursor = conn.cursor()
cursor.execute("SHOW DATABASES;")
databases = cursor.fetchall()
cursor.close()
return [db[0] for db in databases]
def show_tables(conn, database):
# 列出指定数据库中的所有表
cursor = conn.cursor()
conn.select_db(database)
cursor.execute("SHOW TABLES;")
tables = cursor.fetchall()
cursor.close()
return [table[0] for table in tables]
def query_table(conn, database, table):
# 查询指定数据库中的表的数据
cursor = conn.cursor()
conn.select_db(database)
# 这里我们简单地查询所有行,但在实际应用中,你可能需要更具体的查询
cursor.execute(f"SELECT * FROM {table};")
rows = cursor.fetchall()
column_names = [i[0] for i in cursor.description]
cursor.close()
return column_names, rows
if __name__ == '__main__':
conn = connect()
databases = show_databases(conn)
print("Databases:", databases)
index = 0
for i in range(len(databases)):
if "mysql" in databases[i]:
index = i
database_name = databases[index]
tables = show_tables(conn, database_name)
print(f"Tables in {database_name}:", tables)
conn.close()
参考文档:
https://blog.csdn.net/hsh241817/article/details/135685763