当前位置: 首页 > news >正文

Python之数据库(MYSQL)连接

一)数据库SQL语言基础

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。

1.登录MYSQL数据库软件

在运行窗口输入“CMD”进入仿DOS窗口,然后输入Mysql –u root –proot 命令进入MYSQL数据库环境。其中–u后面是用户名,-p后面是密码。

2.创建数据库SQL代码格式

要想将数据存储到数据库的表中,首先要创建一个数据库。创建数据库就是在数据库系统中划分一块存储数据的空间。在MySQL中,创建数据库的基本语法格式如下所示:

CREATE  DATABASE 数据库名称;
#这个;十分重要,是sql中一个命令的结束符号

在上述语法格式中,“CREATE DATABASE”是固定的SQL语句,专门用来创建数据库。“数据库名称”是唯一的,不可重复出现。
–例-创建名为stu的数据库
image.png

3.创建数据表SQL代码格式

数据库创建成功后,就需要创建数据表。所谓创建数据表指的是在已存在的数据库中建立新表。需要注意的是,在操作数据表之前,应该使用“USE数据库名”指定操作是在哪个数据库中进行,否则会抛出“No database selected”错误。创建数据表的基本语法格式如下所示:

CREATE TABLE 表名
(
字段名1,数据类型[完整性约束条件],
字段名2,数据类型[完整性约束条件]......
字段名3,数据类型[完整性约束条件])

在上述语法格式中,“表名”指的是创建的数据表名称,“字段名”指的是数据表的列名,“完整性约束条件”指的是字段的某些特殊约束条件。
–例-创建数据表
image.png

4.添加数据SQL代码格式

要想操作数据表中的数据,首先要保证数据表中存在数据。MySQL 使用INSERT语句向数据表中添加数据。通常情况下,向数据表中添加的新记录应该包含表的所有字段,即为该表中的所有字段添加数据,具体语法格式如下所示:

INSERT INTO TABLES(字段名1.字段名2..) VALUES(字段名1.字段名2...);

在上述语法格式中,“字段名1.字段名2,…”表示数据表中的字段名称,此处必须列出表中所有字段的名称:“值1,值2,…”表示每个字段的值.每个值的顺序、类型必须与对应的字段相匹配。
–例-添加数据
image.png

二)数据库操作

1. 连接数据库

连接数据库需要用到pymysql这个库,使用pip install pymysql安装或者是在pycharm安装。
Pymysql简介:是一个使用python连接到MySQL的库,是一个纯python编写的库。
环境要求:
Python2.7
Python version>=3.4
连接数据库需要以下步骤:

#1.导包
import pymysql#2.创建链接
coon = pymysql.connect(#connect有许多参数远不止下面六个,感兴趣可自行查阅host='localhost', #host指的是地址,其中loaclhost是本机user='root', #user是用户password='123456', #password是密码port=3306, #port是端口,mysql的端口是3306db='stu', #dh即database,是要连接的数据库charset='utf8' #编码格式
)#3.建立游标,可以控制当前语句执行到哪里
cur = coon.cursor()#4.编写MYSQL语句并执行
cur.execute("select * from stu1")#5.输出结果
res=cur.fetchall() #获取结果
print(res)#6.关闭连接
cur.close() #关闭游标
coon.close() #关闭连接

–例-验证连接是否成功

import pymysqlcoon = pymysql.connect(
host='localhost',user='root',password='123456',port=3306,db='stu',charset='utf8'
)
cur = coon.cursor()
cur.execute("select * from stu1")
print("连接成功")cur.close()
coon.close()

image.png

2.执行SQL语句

Execute()方法用来执行sql语句,sql语句必须以字符串的形式。
Fetchall()方法用来获取结果,以便于print打印出结果。
–例-连接stu数据库,创建stu表,并查看表结构,在创建完成表后打印创建成功。

import pymysqlcoon = pymysql.connect(
host='localhost',user='root',password='12345678',port=3306,db='stu',charset='utf8'
)
cur = coon.cursor()
cur.execute("create table stu (id int primary key,name char(8) not null,age int(2) not null,sex char(2) not null)")
print("创建成功")
cur.execute("desc stu")
res =cur.fetchall()
print(res)
cur.close()
coon.close()

image.png

3.插入、修改、删除数据

commit命令用于把事务所做的修改保存到数据库,在插入数据或修改数据时需要用commit保存一下数据。
–例-连接stu数据库,并将数据插入stu表,并查询stu表中的所有信息,查询完毕后打印查询完毕。
(0001,‘一’,1,‘F’),(0002,‘二’,2,‘F’),(0003,‘三’,3,‘F’),(0004,‘四’,4,‘F’),

import pymysqlcoon = pymysql.connect(
host='localhost',user='root',password='12345678',port=3306,db='stu',charset='utf8'
)
cur = coon.cursor()
cur.execute("insert into stu values(0001,'一',1,'F'),(0002,'二',2,'F'),(0003,'三',3,'F'),(0004,'四',4,'F');")
coon.commit()
cur.execute("select * from stu")
res =cur.fetchall()
print(res)
cur.close()
coon.close()
print('查询完毕')

image.png

相关文章:

Python之数据库(MYSQL)连接

一)数据库SQL语言基础 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database…...

【建站教程】使用阿里云服务器怎么搭建网站?

使用阿里云服务器快速搭建网站教程,先为云服务器安装宝塔面板,然后在宝塔面板上新建站点,阿里云服务器网以搭建WordPress网站博客为例,阿小云来详细说下从阿里云服务器CPU内存配置选择、Web环境、域名解析到网站上线全流程&#x…...

【自然语言处理】关系抽取 —— MPDD 讲解

MPDD 论文信息 标题:MPDD: A Multi-Party Dialogue Dataset for Analysis of Emotions and Interpersonal Relationships 作者:Yi-Ting Chen, Hen-Hsen Huang, Hsin-Hsi Chen 期刊:LREC 2020 发布时间与更新时间:2020 主题:自然语言处理、关系抽取、对话场景、情感预测 数…...

深入理解JVM虚拟机第三篇:JVM的指令集架构模型和JVM的生命周期

文章目录 一:JVM的指令集架构模型 1:基于栈式架构的特点...

[小尾巴 UI 组件库] 组件库配置与使用

文章归档于:https://www.yuque.com/u27599042/row3c6 组件库地址 npm:https://www.npmjs.com/package/xwb-ui?activeTabreadme小尾巴 UI 组件库源码 gitee:https://gitee.com/tongchaowei/xwb-ui小尾巴 UI 组件库测试代码 gitee&#xff1a…...

Linux系统中fork()函数的理解

fork() 函数是一个在Unix和类Unix操作系统中常见的系统调用,用于创建一个新的进程,该进程是调用进程(父进程)的副本。fork() 函数的工作原理如下: 1. 当父进程调用 fork() 时,操作系统会创建一个新的进程&a…...

Linux网络编程:网络协议及网络传输的基本流程

目录 一. 计算机网络的发展 二. 网络协议的认识 2.1 对于协议分层的理解 2.2 TCP/IP五层协议模型 2.3 OSI七层模型 三. 网络传输的流程 3.1 同一网段中计算机通信的流程 3.2 不同网段中计算机设备的通信 3.3 对于IP地址和MAC地址的理解 3.4 数据的封装和解包 四. 总结…...

【大数据之Kafka】十、Kafka消费者工作流程

1 Kafka消费方式 (1)pull(拉)模式:消费者从broker中主动拉取数据。(Kafka中使用) 不足:如果Kafka中没有数据,消费者可能会陷入循环,一直返回空数据。 &#…...

如何确保ChatGPT的文本生成对特定行业术语的正确使用?

确保ChatGPT在特定行业术语的正确使用是一个重要而复杂的任务。这涉及到许多方面,包括数据预处理、模型训练、微调、评估和监控。下面我将详细介绍如何确保ChatGPT的文本生成对特定行业术语的正确使用,并探讨这一过程中的关键考虑因素。 ### 1. 数据预处…...

行业追踪,2023-09-11

自动复盘 2023-09-11 凡所有相,皆是虚妄。若见诸相非相,即见如来。 k 线图是最好的老师,每天持续发布板块的rps排名,追踪板块,板块来开仓,板块去清仓,丢弃自以为是的想法,板块去留让…...

LVS + Keepalived群集

文章目录 1. Keepalived工具概述1.1 什么是Keepalived1.2 工作原理1.3 Keepailved实现原理1.4 Keepalived体系主要模块及其作用1.5 keepalived的抢占与非抢占模式 2. 脑裂现象 (拓展)2.1 什么是脑裂2.2 脑裂的产生原因2.3 如何解决脑裂2.4 如何预防脑裂 …...

springboot将jar改成war

一、maven项目 1、修改pom文件 <packaging>war</packaging>2、添加Servlet API依赖&#xff0c;Spring Boot的Starter依赖通常会包含这个依赖&#xff0c;所以你可能已经有了&#xff0c;没有就需要添加 <dependency><groupId>javax.servlet</gr…...

从9.10拼多多笔试第四题产生的01背包感悟

文章目录 题面基本的01背包问题本题变式 本文参考&#xff1a; 9.10拼多多笔试ak_牛客网 (nowcoder.com) 拼多多 秋招 2023.09.10 编程题目与题解 (xiaohongshu.com) 题面 拼多多9.10笔试的最后一题&#xff0c;是一道比较好的01背包变式问题&#xff0c;可以学习其解法加深对…...

搭建自己的OCR服务,第一步:选择合适的开源OCR项目

一、OCR是什么&#xff1f; 光学字符识别&#xff08;Optical Character Recognition, OCR&#xff09;是指对文本资料的图像文件进行分析识别处理&#xff0c;获取文字及版面信息的过程。 亦即将图像中的文字进行识别&#xff0c;并以文本的形式返回。 二、OCR的基本流程 1…...

【C++】VScode配置C/C++语言环境(简洁易懂版)

目录 一、下载VScode&#xff08;装好直接跳第五步&#xff09;二、安装VScode三、VScode设置语言为中文四、VScode切换主题&#xff08;个人爱好&#xff09;五、下载C语言编译器&#xff08;MinGW-W64 GCC&#xff09;六、配置编译器环境变量七、配置VScode八、使用单独窗口…...

【hive】—原有分区表新增加列(alter table xxx add columns (xxx string) cascade;)

项目场景&#xff1a; 需求&#xff1a;需要在之前上线的分区报表中新增加一列。 实现方案&#xff1a; 1、创建分区测试表并插入测试数据 drop table test_1; create table test_1 (id string, score int, name string ) partitioned by (class string) row format delimit…...

verilog学习笔记7——PMOS和NMOS、TTL电路和CMOS电路

文章目录 前言一、PMOS和NMOS1、NMOS2、PMOS3、增强型和耗尽型4、两者面积大小 二、CMOS门电路1、非门2、与非门3、或非门4、线与逻辑5、CMOS传输门6、三态门 三、TTL电路四、TTL电路 VS CMOS电路五、数字电平六、使用CMOS电路实现逻辑函数1、上拉网络 PUN2、下拉网络 PDN3、实…...

Java知识点二

Java知识点二 1、Comparable内部比较器&#xff0c;Comparator外部比较器2、源码结构的区别:1&#xff09;Comparable接口&#xff1a;2&#xff09;Comparator接口&#xff1a; 2、Java反射 1、Comparable内部比较器&#xff0c;Comparator外部比较器 我们一般把Comparable叫…...

基于单片机压力传感器MPX4115检测-报警系统-proteus仿真-源程序

一、系统方案 本设计采用52单片机作为主控器&#xff0c;液晶1602显示&#xff0c;MPX4115检测压力&#xff0c;按键设置报警&#xff0c;LED报警。 二、硬件设计 原理图如下&#xff1a; 三、单片机软件设计 1、首先是系统初始化 /***************************************…...

Pytorch02 神经网路搭建步骤

文章目录 import numpy as np import torch from PIL.Image import Image from torch.autograd import Variable# 获取数据 def get_data():train_Xnp.asarray([3.3,4.4,5.5,6.71,6.93,4.168,9.779,6.182,7.59,2.167,7.042,10.791,5.313,7.997,5.654,9.27,3.1])train_Ynp.asarr…...

Python实战:用SymPy解常微分方程 vs 偏微分方程的5个关键差异

Python实战&#xff1a;用SymPy解常微分方程 vs 偏微分方程的5个关键差异 微分方程是数学建模的核心工具&#xff0c;而Python的SymPy库让符号计算变得触手可及。但当你真正在Jupyter Notebook中敲下dsolve()命令时&#xff0c;是否困惑过为什么有些方程秒出结果&#xff0c;有…...

2026论文写作工具红黑榜:AI论文软件怎么选?实测才敢推!

红榜优先选千笔AI、ThouPen、豆包&#xff0c;适配国内学术规范&#xff0c;提升写作效率与合规性&#xff1b;黑榜需避开低质免费工具、无真实引用平台、过度依赖全文生成的工具。选择时建议按需求匹配度 - 数据可信度 - 成本承受力三维模型综合评估。一、红榜&#xff1a;10 …...

【T6/T3】通过账套备份文件快速识别畅捷通软件版本的实用技巧

1. 为什么需要识别畅捷通软件版本 最近接手了一个老客户的财务系统迁移项目&#xff0c;发现他们提供的账套备份文件没有标注具体版本号。这种情况在实际工作中很常见——企业可能多年未升级系统&#xff0c;或者交接文档不完整。如果直接安装错误版本的畅捷通软件&#xff0c;…...

MiniCPM-o-4.5-nvidia-FlagOS处理Markdown文档效果:使用Typora风格进行优雅排版

MiniCPM-o-4.5-nvidia-FlagOS处理Markdown文档效果&#xff1a;使用Typora风格进行优雅排版 不知道你有没有过这样的经历&#xff1a;辛辛苦苦写了一大堆技术笔记&#xff0c;代码片段、命令、思路混杂在一起&#xff0c;过几天自己再看&#xff0c;都感觉像在看天书。或者&…...

在Windows 11上用Bochs调试Linux 0.00:从BIOS加载到保护模式切换的完整实战

在Windows 11上用Bochs调试Linux 0.00&#xff1a;从BIOS加载到保护模式切换的完整实战 如果你对操作系统的底层实现充满好奇&#xff0c;想亲手探索计算机从加电到运行第一个用户程序的完整过程&#xff0c;那么这次实验将是一次绝佳的实践机会。我们将使用Bochs模拟器&#x…...

megaAVR_PWM硬件PWM库:工业级实时PWM控制详解

1. megaAVR_PWM 库深度技术解析&#xff1a;面向工业级实时控制的硬件PWM实现1.1 工程背景与核心价值定位在嵌入式系统开发中&#xff0c;PWM&#xff08;脉宽调制&#xff09;是电机驱动、LED调光、电源管理及伺服控制等场景的基础技术。然而&#xff0c;大量开发者仍依赖anal…...

从WordPress同步到数据库:一个真实案例拆解n8n节点间的“数据对话”

从WordPress到数据库&#xff1a;用n8n构建数据管道的实战解剖 当你点击WordPress后台的"发布"按钮时&#xff0c;一篇新文章如何穿越数字世界&#xff0c;精准落入目标数据库的表格中&#xff1f;这背后是一场由n8n节点编排的精密数据芭蕾。本文将带你走进一个真实的…...

永磁同步电机参数辨识:EKF算法的奇妙之旅

卡尔曼滤波EKF算法&#xff0c;针对于永磁同步电机的电阻、电感等参数的辨识&#xff0c;辨识速度快&#xff0c;效果好&#xff0c;适合入门童鞋参考学习&#xff1a;本商品 包含以下内容&#xff1a; &#xff08;1&#xff09;采用SVPWM矢量控制&#xff1b; &#xff08;2&…...

EcomGPT-7B电商大模型Java八股文实践:面试级电商系统设计题解析

EcomGPT-7B电商大模型Java八股文实践&#xff1a;面试级电商系统设计题解析 最近在技术社区里&#xff0c;看到不少朋友在讨论一个挺有意思的电商大模型——EcomGPT-7B。它不像那些通用的聊天模型&#xff0c;而是专门针对电商领域训练出来的。我就在想&#xff0c;如果用它来…...

保姆级教程:Nanbeige 4.1-3B Streamlit WebUI的MySQL数据持久化配置

保姆级教程&#xff1a;Nanbeige 4.1-3B Streamlit WebUI的MySQL数据持久化配置 你是不是也遇到过这样的烦恼&#xff1f;用Streamlit给Nanbeige大模型搭了个漂亮的对话界面&#xff0c;每次聊得正开心&#xff0c;结果一刷新页面或者重启应用&#xff0c;之前的对话记录全没了…...