pymysql数据库脚本
时间: 2024-05-12 10:10:47 浏览: 61
以下是一个使用pymysql操作MySQL数据库的脚本示例[^1]:
```python
import pymysql
# 创建数据库连接
mydb = pymysql.connect(
host="localhost",
user="root",
passwd="mqy10983",
database="student_info"
)
# 创建游标对象
cursor = mydb.cursor()
# 执行SQL查询
sql = "SELECT * FROM students"
cursor.execute(sql)
# 获取查询结果
results = cursor.fetchall()
# 遍历结果并打印
for row in results:
print(row)
# 关闭游标和数据库连接
cursor.close()
mydb.close()
```
这个脚本首先创建了一个数据库连接,然后创建了一个游标对象。接下来,它执行了一个SQL查询,并使用`fetchall()`方法获取查询结果。最后,它遍历结果并打印出来。最后,记得关闭游标和数据库连接。
相关问题
pymysql数据库配置
`pymysql`是Python的一个MySQL数据库客户端,如果你想要配置它来连接MySQL服务器,你需要设置以下几个关键参数:
1. **数据库地址(host)**:通常是"localhost",如果MySQL服务器在远程机器上,提供IP地址或域名。
2. **用户名(user)**:你的MySQL数据库账户名。
3. **密码(passwd)**:对应的数据库密码。
4. **数据库名称(db)**:你想连接的具体数据库名字。
例如,在Python脚本中,你可以这样做:
```python
import pymysql
# 定义数据库连接参数
db_config = {
"host": "localhost",
"user": "your_username",
"passwd": "your_password",
"db": "your_database_name"
}
# 连接数据库
try:
connection = pymysql.connect(**db_config)
except pymysql.MySQLError as e:
print(f"Error connecting to MySQL: {str(e)}")
exit(1)
# 创建一个游标对象
cursor = connection.cursor()
# 关闭连接前记得关闭游标和连接
cursor.close()
connection.close()
```
在生产环境中,建议将敏感信息(如密码)存储在安全位置并通过环境变量传递,而不是直接硬编码到代码中,以提高安全性。
使用pymysql在数据库中创建数据表city
使用PyMySQL库在数据库中创建名为"city"的数据表,可以按照SQL语句的结构编写Python脚本。以下是一个简单的示例,假设我们有一个包含城市ID、名称、人口等字段的表:
```python
import pymysql
# 连接到MySQL数据库
db = pymysql.connect(host='localhost', user='your_username', password='your_password', db='your_database')
try:
# 创建游标对象
cursor = db.cursor()
# 定义创建表的SQL语句
create_table_query = """
CREATE TABLE IF NOT EXISTS city (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
population INT,
country VARCHAR(50)
);
"""
# 执行SQL语句
cursor.execute(create_table_query)
# 提交事务
db.commit()
print("City table created successfully.")
except pymysql.Error as e:
# 如果发生错误,回滚事务并打印错误信息
db.rollback()
print(f"Error creating table: {e}")
finally:
# 关闭连接
db.close()
```
在这个例子中,`city`表有四个字段:id(主键,自动递增)、name、population(人口数,可能为空)和country(国家名)。记得将`your_username`, `your_password`, 和 `your_database`替换为你实际数据库的相关信息。
阅读全文