当前位置:首页 > 行业动态 > 正文

python3 mysql数据库_Mysql数据库

Python3与MySQL数据库的交互是现代软件开发中常见的需求。通过Python的mysqlconnector库,开发者可以方便地在Python程序中执行SQL查询,实现数据的增删改查等操作。

MySQL数据库简介

python3 mysql数据库_Mysql数据库  第1张

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库、代码示例和简要说明。

编号 名称 说明 代码示例
1 pymysql 一个纯Python写的MySQL客户端库 import pymysql
conn = pymysql.connect(host='localhost', user='root', password='root', database='test')
2 MySQL Connector/Python MySQL官方提供的驱动 import mysql.connector
cnx = mysql.connector.connect(user='root', password='root', host='127.0.0.1', database='test')
3 sqlalchemy 一个强大的SQL工具包和对象关系映射器 from sqlalchemy import create_engine
engine = create_engine('mysql+pymysql://root:root@localhost:3306/test')
4 PyMySQLcluster 用于连接MySQL集群 from pymysqlcluster import Cluster
cluster = Cluster("192.168.1.1", 1186, ["192.168.1.2", "192.168.1.3"], user="root", password="root")
5 mysqlclient 一个提供MySQLdb接口的Python扩展 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数据库时,确保使用正确的用户名、密码、主机名和数据库名。

推荐想看:
0