Python3与MySQL数据库的交互是现代软件开发中常见的需求。通过Python的mysqlconnector库,开发者可以方便地在Python程序中执行SQL查询,实现数据的增删改查等操作。
MySQL数据库简介
MySQL是一个开源的关系型数据库管理系统,由瑞典的MySQL AB公司开发,现在属于Oracle公司,MySQL是最流行的关系型数据库管理系统之一,在WEB应用方面,MySQL是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。
MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言,MySQL软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发选择MySQL作为网站数据库。
MySQL数据库安装
Windows系统下安装MySQL
1、下载MySQL安装包:访问MySQL官网(https://dev.mysql.com/downloads/mysql/)下载对应版本的安装包。
2、安装MySQL:运行下载的安装包,按照提示进行安装。
3、配置环境变量:将MySQL的安装路径添加到系统环境变量中。
4、启动MySQL服务:通过Windows服务管理器启动MySQL服务。
5、登录MySQL:使用命令行工具或者图形化工具登录MySQL。
Linux系统下安装MySQL
1、更新软件源:执行sudo aptget update
命令更新软件源。
2、安装MySQL:执行sudo aptget install mysqlserver
命令安装MySQL。
3、启动MySQL服务:执行sudo systemctl start mysql
命令启动MySQL服务。
4、登录MySQL:使用命令行工具或者图形化工具登录MySQL。
MySQL数据库基本操作
创建数据库
使用CREATE DATABASE
语句创建数据库:
CREATE DATABASE 数据库名;
删除数据库
使用DROP DATABASE
语句删除数据库:
DROP DATABASE 数据库名;
显示所有数据库
使用SHOW DATABASES
语句显示所有数据库:
SHOW DATABASES;
选择数据库
使用USE
语句选择数据库:
USE 数据库名;
创建数据表
使用CREATE TABLE
语句创建数据表:
CREATE TABLE 表名 ( 列名1 数据类型, 列名2 数据类型, ..., PRIMARY KEY (主键列名) );
删除数据表
使用DROP TABLE
语句删除数据表:
DROP TABLE 表名;
显示所有数据表
使用SHOW TABLES
语句显示所有数据表:
SHOW TABLES;
插入数据
使用INSERT INTO
语句插入数据:
INSERT INTO 表名 (列名1, 列名2, ...) VALUES (值1, 值2, ...);
查询数据
使用SELECT
语句查询数据:
SELECT 列名1, 列名2, ... FROM 表名;
更新数据
使用UPDATE
语句更新数据:
UPDATE 表名 SET 列名1=值1, 列名2=值2, ... WHERE 条件;
删除数据
使用DELETE
语句删除数据:
DELETE FROM 表名 WHERE 条件;
Python操作MySQL数据库
要使用Python操作MySQL数据库,需要先安装pymysql
库,可以使用以下命令安装:
pip install pymysql
可以使用以下代码连接MySQL数据库并执行SQL语句:
“pythonimport pymysqlconn = pymysql.connect(host='localhost', user='root', password='your_password', database='your_database', charset='utf8')cursor = conn.cursor()# SQL语句cursor.execute("SELECT * FROM your_table")# 获取查询结果result = cursor.fetchall()# 打印查询结果for row in result:print(row)# 关闭游标和连接cursor.close()conn.close()
“
FAQs相关问答问题1:如何在Linux系统下卸载MySQL?答案:在Linux系统下卸载MySQL,可以执行以下命令:1.停止MySQL服务:sudo systemctl stop mysqld2.卸载MySQL软件包:sudo aptget remove purge mysqlserver3.删除MySQL配置文件和数据目录:sudo rm rf /etc/mysql /var/lib/mysql问题2:如何在Python中使用参数化查询防止SQL注入?答案:在Python中使用参数化查询,可以使用占位符(?)代替直接拼接SQL语句中的变量,使用pymysql库执行参数化查询的代码如下:import pymysqlconn = pymysql.connect(host=’localhost’, user=’root’, password=’your_password’, database=’your_database’, charset=’utf8′)cursor = conn.cursor()# SQL语句,使用%s作为占位符user_id = ‘some_user_id’cursor.execute("SELECT * FROM your_table WHERE user_id = %s", (user_id,))# 获取查询结果result = cursor.fetchall()# 打印查询结果for row in result:print(row)# 关闭游标和连接cursor.close()conn.close()这样,即使用户输入包含特殊字符的数据,也不会导致SQL注入问题。
下面是一个关于Python 3 和 MySQL 数据库的基础信息介绍,该介绍包括了连接MySQL数据库时常用的Python库、代码示例和简要说明。
import pymysql
conn = pymysql.connect(host='localhost', user='root', password='root', database='test')
import mysql.connector
cnx = mysql.connector.connect(user='root', password='root', host='127.0.0.1', database='test')
from sqlalchemy import create_engine
engine = create_engine('mysql+pymysql://root:root@localhost:3306/test')
from pymysqlcluster import Cluster
cluster = Cluster("192.168.1.1", 1186, ["192.168.1.2", "192.168.1.3"], user="root", password="root")
import MySQLdb
db = MySQLdb.connect(host="localhost", user="root", passwd="root", db="test")
以下是一个如何使用pymysql库进行数据库操作的基础示例:
import pymysql 连接到数据库 conn = pymysql.connect(host='localhost', user='root', password='root', database='test') try: with conn.cursor() as cursor: # 创建表 create_table_query = "CREATE TABLE IF NOT EXISTS users (id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(255) NOT NULL)" cursor.execute(create_table_query) # 插入数据 insert_query = "INSERT INTO users (username) VALUES (%s)" cursor.execute(insert_query, ('user1',)) # 更新数据 update_query = "UPDATE users SET username = %s WHERE id = %s" cursor.execute(update_query, ('user2', 1)) # 查询数据 select_query = "SELECT id, username FROM users" cursor.execute(select_query) result = cursor.fetchall() print(result) # 删除数据 delete_query = "DELETE FROM users WHERE id = %s" cursor.execute(delete_query, (1,)) # 提交事务 conn.commit() except pymysql.MySQLError as e: print("MySQL Error:", e) # 回滚事务 conn.rollback() finally: # 关闭连接 conn.close()
请注意,在使用以上代码之前,请确保已经安装了相应的Python库,如pymysql
,可以通过pip install pymysql
命令进行安装,在连接到MySQL数据库时,确保使用正确的用户名、密码、主机名和数据库名。
本文来源于互联网,如若侵权,请联系管理员删除,本文链接:https://www.9969.net/8796.html