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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/130039.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C高级day4循环语句

1,思维导图 运行结果为: 运行结果为:

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

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

工作游戏时mfc140u.dll丢失的解决方法,哪个方法可快速修复mfc140u.dll问题

在 Windows 操作系统中,mfc140u.dll 文件是非常重要的一个组件,许多基于 MFC(Microsoft Foundation Classes)的程序都需要依赖这个文件。然而,有些用户在运行这些程序时可能会遇到mfc140u.dll丢失的问题,导…

12个微服务架构模式最佳实践

微服务架构是一种软件开发技术,它将大型应用程序分解为更小的、可管理的、独立的服务。每个服务负责特定的功能,并通过明确定义的 API 与其他服务进行通信。微服务架构有助于实现软件系统更好的可扩展性、可维护性和灵活性。 接下来,我们将介…

机器学习(9)---线性回归中的公式推导(手推)、闭式解和数值解

文章目录 一、闭式解(解析解)二、数值解三、一元线性回归中w和b的推导四、多元线性回归中w的推导 一、闭式解(解析解) 1. 在机器学习中,闭式解也被称为解析解(analytical solution),…

【LeetCode-面试经典150题-day23】

目录 108. 将有序数组转换为二叉搜索树 148.排序链表 427.建立四叉树 23.合并K个升序链表 108. 将有序数组转换为二叉搜索树 题意: 给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 高度平衡 二叉搜索树。 高度平衡 二…

R语言统计学DOE实验设计:用平衡不完全区组设计(BIBD)分析纸飞机飞行时间实验数据...

全文链接:http://tecdat.cn/?p31010 平衡不完全区组设计(BIBD)是一个很好的研究实验设计,可以从统计的角度看各种所需的特征(点击文末“阅读原文”获取完整代码数据)。 最近我们被客户要求撰写关于BIBD的研…

【C++进阶】二叉树进阶之二叉搜索树

👦个人主页:Weraphael ✍🏻作者简介:目前学习C和算法 ✈️专栏:C航路 🐋 希望大家多多支持,咱一起进步!😁 如果文章对你有帮助的话 欢迎 评论💬 点赞&#x1…

北斗高精度定位,破解共享单车停车乱象

如今,共享单车已经成为了许多人出行的首选方式,方便了市民们的“最后一公里”,给大家的生活带来了很多便利。然而,乱停乱放的单车也给城市治理带来了难题。在这种情况下,相关企业尝试将北斗导航定位芯片装载到共享单车…

SpringMVC综合案例

目录 一、SpringMVC常用注解 二、传递参数 2.1 基础类型String 2.2 复杂类型 2.3 RequestParam 2.4 PathVariable 2.5 RequestBody 2.6 RequestHeader 2.7 请求方法 三、返回值 3.1 void 3.2 String 3.3 StringModel 3.4 ModelAndView 四、页面跳转 4.1 转发 4…

蓝桥杯打卡Day6

文章目录 N的阶乘基本算术整数查询 一、N的阶乘OI链接 本题思路&#xff1a;本题是关于高精度的模板题。 #pragma GCC optimize(3) #include <bits/stdc.h>constexpr int N1010;std::vector<int> a; std::vector<int> f[N];std::vector<int> mul(in…

如何用 Java 找到字符串中的元音

这个题目其实不难&#xff0c;这是一个公司面试的时候要求的题目。 这个公司的面试有点意思&#xff0c;他们希望 Zoom 看我的电脑&#xff0c;然后让我解决问题。 题目 题目就非常简单了&#xff0c;他们给了我 2 个字符串。 其中一个是测试字符串&#xff0c;另外一个是元…

《热题100》字符串、双指针、贪心算法篇

思路&#xff1a;对于输入的的字符串&#xff0c;只有三种可能&#xff0c;ipv4,ipv6,和neither ipv4:四位&#xff0c;十进制&#xff0c;无前导0&#xff0c;小于256 ipv6:八位&#xff0c;十六进制&#xff0c;无多余0&#xff08;00情况不允许&#xff09;&#xff0c;不…

Lua02——应用场景及环境安装

应用场景 是当今游戏领域使用最广泛的脚本语言之一。 搭配 OpenResty 使用&#xff0c;可以扩展Nginx服务器的功能&#xff0c;使用者仅需要编写Lua代码就能轻松完成业务逻辑。 与 Redis 结合。 Adobe Photoshop Lightroom 搭配 Lua 编写插件。 与游戏结合&#xff1a; C/…

3.4 栈与递归

3.4.1 采用递归算法解决问题 3.4 栈与递归的关系 栈和递归之间有着紧密的关系&#xff0c;特别是在算法和程序设计中。栈作为一种数据结构&#xff0c;可以有效地支持递归算法的实现。本节我们将详细讨论栈在递归算法中的作用及其在程序设计中的重要性。 1. 递归算法的基本概…

Swift学习内容精选(一)

Swift 可选(Optionals)类型 Swift 的可选&#xff08;Optional&#xff09;类型&#xff0c;用于处理值缺失的情况。可选表示"那儿有一个值&#xff0c;并且它等于 x "或者"那儿没有值"。 Swfit语言定义后缀&#xff1f;作为命名类型Optional的简写&…

uni-app--》基于小程序开发的电商平台项目实战(一)

&#x1f3cd;️作者简介&#xff1a;大家好&#xff0c;我是亦世凡华、渴望知识储备自己的一名在校大学生 &#x1f6f5;个人主页&#xff1a;亦世凡华、 &#x1f6fa;系列专栏&#xff1a;uni-app &#x1f6b2;座右铭&#xff1a;人生亦可燃烧&#xff0c;亦可腐败&#xf…

vue响应式详解

1. 响应式的定义 我们都知道&#xff0c;vue是基于javascript的&#xff0c;那我们使用一段javascript代码来描述响应式 let a 1,b 1,c; c a b; console.log(c) // 输出 2 // 改变 a的值 a 3; // 重新给c赋值 即把 c a b; 再执行一遍c的值才能变为 4 // c a b; // …

小白也可以玩转CMake之常用必备

目录 1.设置编译器flags2.设置源文件属性3.链接器标志4.Debug与Release包 今天&#xff0c;分享一篇工作中经常用到的一些CMake命令&#xff0c;看完就学会了哦&#xff0c;更多CMake与C内容也期待加入星球与我一起学习呀~ 1.设置编译器flags 例如&#xff1a;设置C标准&#x…

C高级shell脚本

#!/bin/bash function fun() {sum0i0b($*)while [ $i -lt ${#b[*]} ]do((sum ${b[i]}))((i))doneecho $sum }read -p "请输入数组" -a a fun ${a[*]}function fun2() {aid -ubid -gecho $a $b } p(fun2) uid${p[0]} pid${p[1]} echo $uid $pidXMind