ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

MySQL基础入门:从表结构到Python连接

MySQL基础入门:从表结构到Python连接 MySQL 是目前最流行的开源关系型数据库管理系统之一凭借高性能、高可靠性和易用性被广泛应用于各类 Web 应用、电商平台、内容管理系统以及数据分析场景。它支持标准的 SQL 语言能够高效地存储、查询和管理结构化数据同时提供事务处理、索引优化、权限控制等丰富功能满足从小型项目到大型企业级应用的不同需求。无论是后端开发、数据运维还是数据分析掌握 MySQL 基础都是必备技能。本文将从数据库层级结构、数据类型、约束、SQL 语句以及 Python 中的使用等方面系统介绍 MySQL 的核心基础知识并结合之前学习的 FastAPI 框架展示如何将 MySQL 与 Web 后端开发结合起来帮助读者快速入门并打下扎实基础。一、数据库层级结构名词中文说明Database数据库一个库里面装多张表Table表存数据的地方行列组成Row / Record行 / 记录表里的一条数据Column / Field列 / 字段表里的一个属性Schema模式表结构的定义有时也指数据库Index索引加快查询的目录二、数据类型名词中文说明INT整数存整数VARCHAR变长字符串最多 n 个字符CHAR定长字符串固定 n 个字符不足补空格DATE日期2025-01-01DATETIME日期时间2025-01-01 12:00:00TIMESTAMP时间戳时间戳类型三、约束PRIMARY KEY主键唯一标识一行不能重复、不能为空NOT NULL非空该列必须有值UNIQUE唯一该列值不能重复DEFAULT默认值不填时自动用这个值AUTO_INCREMENT自增整数列自动 1FOREIGN KEY外键关联另一张表的主键CHECK检查值必须满足条件以上是 MySQL 的基础名词需理解SQL 语句最重要1. 对表的操作1CREATE TABLE表名{字段名 数据类型 约束}2DROP TABLE表名3ALTER TABLE表名ADD 字段名2. 对数据的操作INSERT INTO 表 VALUES值1值2……DELETE FROM 数据库名 / 数据库名部分的字段名UPDATE表名SET 修改值 WHERE 条件约束SELECT要查的字段名FROM 表名 WHERE 条件约束USE pachun; CREATE TABLE lianxi( id INT not NULL PRIMARY KEY, name VARCHAR(11) ); alter TABLE lianxi ADD number INT; INSERT INTO lianxi(NAME,id) VALUES(红烧冬瓜,1) DELETE FROM lianxi WHERE NAME红烧冬瓜 AND id1 UPDATE lianxi SET NAME十五看月亮 WHERE NAME红烧冬瓜 AND id1 SELECT name FROM lianxi WHERE NAME十五看月亮 AND id1DELETE 与 DROP 的区别虽然都是删除但一个是对表结构操作一个是数据操作MySQL 在 Python 中的使用名词说明connect连接对象cursor游标执行 SQL 用execute()执行 SQLfetchall()取所有结果fetchone()取一条结果commit()提交连接的rollback()回滚close()关闭操作一共是六步1. 创建数据库连接def __init__(self,host,user,password,database): self.host host self.user user self.password password self.database database def get_connect(self): return pymysql.connect(hostself.host,userself.user,passwordself.password,databaseself.database)2. 创建游标cursor connect.cursor()connect self.get_connect() cursor connect.cursor()3. SQL 语句的书写sql ...一定要是三对引号4. 游标提交执行cursor.execute(sql)5. 关闭游标cursor.close()6. 关闭数据库连接connect.close()示例import pymysql from fastapi import FastAPI import uvicorn app FastAPI() class mysql_connect: def __init__(self,host,user,password,database): self.host host self.user user self.password password self.database database def get_connect(self): return pymysql.connect(hostself.host,userself.user,passwordself.password,databaseself.database) def ruery(self,sql): connect self.get_connect() cursor connect.cursor() cursor.execute(sql) result cursor.fetchall() cursor.close() connect.close() return result def ruery2(self,sql): connect self.get_connect() cursor connect.cursor() rowscursor.execute(sql) connect.commit() cursor.close() connect.close() return rows dbmysql_connect( hostlocalhost, userroot, passwordroot, databasepachun ) app.get(/mysql_connect) def lianxi(): result db.ruery(SELECT name FROM lianxi WHERE NAME十五看月亮 AND id1) return {data: result} if __name__ __main__: uvicorn.run(app, host127.0.0.1, port8000)
返回列表