python--数据库学习笔记

Python学习笔记(15)-Python高级15-操作数据库 Python高级15-操作数据库1 数据库编程接口 在Python Database API 2.0规范中,定义了Python数据库API接口的各个部分,如模块接口、连接对象、游标对象、类型对象和构造器、DB API的可选扩展以及可选的错误处理机制等 1 数据库编程接口 ... 阅读详情

数据库特点

  • 持久化存储
  • 速度快
  • 数据的有效性
  • 易扩展

SQL语句

  • DML:insert update delete select
  • DDL:create,drop,alter
  • DCL

数据类型

  • 数值类型
    • int
    • float
    • double
    • decimal
  • 字符串类型
    • char()
    • varchar()
    • enum(“M”, “F”)
    • text
  • 日期
    • data年月日
    • time时分秒
    • daretime年月日时分秒
    • year年
    • timestamp
  • 约束
    • pk
    • fk
    • not null
    • default

操作数据库

  • 连接数据库mysql -uroot -p
  • 创建数据库create database dbname;
    • 含有特殊字符 ``
  • 查看已创建的数据库show databases;
  • 当前使用的数据库select database();
  • 使用数据库use dbname;
  • 删除数据库drop database dbname;

操作数据表

  • 创建表create table tbname(字段 数据类型 约束);
  • 展示表show tables;
  • show create table
  • 查看表的结构desc tbname
    • tbname代指表的名称

DML:增删改查

  • 增加:insert into (字段1,字段2)表名 value (值1,值2),(值1,值2);
  • 修改:update tbname set 字段=新值 where 条件;
  • 删除:delete from tbname where 条件;
  • 查询:select 字段1,字段2 from tbname;
  • 查询去重:select distinct 字段 from tbname;

条件查询

  • select * from tbname where comdition;
    • 比较运算符
    • 逻辑运算符
    • 模糊查询
      • like
      • %
      • _
    • 聚合函数
      • count()
      • sum()
      • max()
      • min()
      • avg()
        • round()

分组与筛选

  • group by
  • group_concat(字段名)
  • group by with rollup 分组之后的总聚合
  • group by + having

排序

  • select * from tbname order by col1 asc|desc [,col2 asc|desc…]

限制

  • select * from tbname limit start,count;
    • start 0 偏移量
    • count 显示的条数

连接查询

  • 内连接
  • 外连接
    • 左连接
    • 右连接
    • select * from tb1 inner|left|right join tb2 on tb1.col=tb2.col;

子查询

  • select * from tb1 where hight=(select max(hight) from tb1)

自关联

  • 自己与自己关联

外键(foreign key)

  • 外键目的:多表关联的时候保持数据的完整性与一致性
  • 外键所在的是从表,主键所在的主表
  • 创建方式
    • 创建表时 constraint fk_cid foreign key cid references 主表名 主键;
    • 修改表字段时添加外键 alter table tbname add ....
  • 删除外键
    • alter table tbname drop foreign key 外键约束名;
  • 注意:
    • 外键可以为空,但是主键不能为空
    • 外键必须属于主键
    • 主表先存在,再从表添加外键

Mysql与Python交互

  • 准备数据
    • 把goods 表 分组后的数据 插入到别的表
  • python充当客户端的角色
  • 连接步骤
    • 1.导入库
    • 2.连接数据库 conn = connect()
    • 3.获取游标对象 cs = conn.cursor()
    • 4.游标对象执行sql语句cs.execute(query)
      • cs.fetchone()
      • cs.fetchmany(s)
      • cs.fetchall()
    • 5.关闭游标
    • 6.关闭连接
Python学习笔记:使用Python操作数据库 Python学习笔记:使用Python操作数据库 一、数据库编程接口 为了对数据库进行统一的操作,大多数语言都提供了简单的、标准化的数据库接口(API)。在Python Database API 2.0规范中,定义了Python数据库API接口的各个部分,如模块接口、连接对象、游标对象、类型对象和构造器、DB API的可扩展以及可选的错误处理机制等。 1、连接对象(Connection Ob... 阅读详情

相关推荐

python面试数据库框架笔记总结

python面试数据库框架笔记总结

python学习笔记(三)—数据库篇

数据库编程是指在应用程序中使用数据库管理系统(DBMS)进行数据存储、检索和处理的过程。数据库提供了一种结构化的方式来组织和存储数据,使得数据的管理更加高效和可靠。

majie639的博客 4888

GK2302量产工具下载方法,GK2302开卡教程,GK2301LT怎么开卡方法,附GK2302开卡工具,GK2301LT量产软件下载

​每种量产软件的操作流程可能略有不同,因此必须按照要求操作。为确保安全,建议使用量产部落网下载的原版量产开卡软件。

A520091000的博客 2123

PG数据库常用操作

PG数据库常用操作 不登录数据库执行查询 psql -h ip -U 用户名 -d 数据库名 -p 端口 -f 文件名 说明:ip为数据库所在ip,数据库名为要查询的数据库,端口为连接数据库使用的端口号,文件里为具体的执行sql。 实例: psql -h xx.xx.xx.xx -U postgres -d test -p 5432 -f /tmp/test.txt test.txt文件内容为: select user_code from bdp_auth.public.f_userinfo;

dal1122的博客 1198

FortiGate-60E防火墙忘记密码?用Console线+TFTP重装固件v7.0.9全流程

本文详细介绍了当FortiGate-60E防火墙忘记密码且物理重置无效时,如何通过Console线连接并利用TFTP服务器重装固件(如v7.0.9)的全流程。从恢复原理、工具准备、网络配置到逐步执行命令,提供了完整的实战指南,帮助管理员彻底恢复设备出厂设置并重置密码。

snow3的博客 333

HX711重量传感器原理图设计,已量产(压力传感器)

最近调通了一款针对家用、物联网场景的重量传感套件,核心用了 HX711 这颗经典的称重 AD 芯片,还加了用户最需要的 “一键校准” 功能 —— 之前帮朋友做家用米桶余量报警时,用户总吐槽校准步骤太繁琐,这次的方案把操作简化到只按一个键,试下来体验好了不少。正好拆解下这套硬件的设计逻辑,供做同类产品的朋友参考。

不脱发的程序猿 368

mysql执行存储进程_mysql使用命令行执行存储过程

编写存储过程sql以给brand表添加phone字段为例:DROP PROCEDURE IF EXISTS UpdateColum;CREATE PROCEDURE UpdateColum()BEGINSELECT database() INTO @dbName;SET @tablename = 'brand';SET @column_name = 'phone';SELECTCONCAT('s...

weixin_28911479的博客 337

基于STM32的智能宠物喂食系统设计与实现(代码+PCB )

STM32;DHT11;本系统的软件程序基于Keil MDK-ARM V5集成开发环境进行编写和编译。Keil MDK是ARM公司官方推荐的嵌入式开发工具,支持ARM Cortex-M系列微控制器的程序开发,内置ARM C/C++编译器、调试器和仿真器,具有代码编辑、语法高亮、工程管理和在线调试等功能,是STM32开发领域应用最为广泛的IDE之一。

3254968421的博客 72

MySql创建分区表并且按月分区

在mysql中,按月份分区,再使用分区字段时间来查询数据将会很快,因为这样只需要扫描指定的分区。因此,在处理大量数据时,使用分区表是一个非常好的选择。

milk_yan的博客 1902

【C++】ROS:ROS1环境配置与基础示例

ROS1环境配置与基础示例

DevFrank的博客 2103

第六天 界面操作及美化(6.4 使用GUI 套件)

本文介绍如何使用VIPM工具安装DMC GUI套件:首先打开VIPM并连接网络,搜索"UI"找到DMCGUI套件后下载安装;安装完成后即可在VIPM中添加控件并预览效果。该方法同样适用于下载其他UI套件,用户可根据需求设计个性化界面。整个流程包括搜索、下载、安装和使用四个简单步骤,适合快速搭建GUI界面。

weixin_38637405的博客 407

Python与Mysql数据库(学习笔记)

Python与Mysql数据库 1.安装pymsql 在命令提示符使用以下命令安装pymysql pip install pymysql 使用pip list出现下面表示安装成功 2.连接MySQL “”" pymysql.connect(host,user, password,port,db,charset) host:MySQL服务器所在的主机的ip; user:用户名 password:密码 port:连接的MySQL主机的端口,默认是3306 db:连接的数据库名 charset:当读取数据

weixin_51945232的博客 2332

YOLOv11改进策略【Head/分割头】| 结合CVPR-2024 中的DynamicConv 动态卷积 改进分割头, 优化模型(独家改进)

在大规模视觉预训练中,通常模型的性能受到数据、参数和FLOP三个关键因素的影响。一般来说,模型的参数数量越多,FLOP也越高,但在移动设备等对计算资源有限制的场景下,需要低FLOP的模型同时又希望模型能从大规模预训练中受益。传统的方法很难在增加参数的同时保持低FLOP,因此需要一种新的设计来解决这个问题,模块应运而生。

Limiiiing的博客 2310

python db.commit_Python学习笔记:操作数据库

mysqlpython3中用pymysql操作mysql数据库pip3 install PyMySQLimport pymysqlconn = pymysql.Connect(host='127.0.0.1',port=3306,user='root',passwd='zk1991zk',db='mytest',charset='utf8')cursor = conn.cursor()sql = ...

weixin_39900206的博客 2428

python ERA-5气象数据NetCDF格式解析(一)

python ERA-5气象数据NetCDF格式解析

weixin_43896283的博客 2638

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Python学习笔记25-关系数据库(Relational Database)

根据维基百科的定义,关系数据库通过在表中存储行和列来建模数据。关系数据库的强大之处在于在于它能够有效地从表中检索数据,特别是在有多个表且表之间的关系错综复杂的情况之下。 知识点1 相关术语 知识点2 SQL(Structured Query Language) 结构化查询语言,这种语言是我们向数据库发出指令的语言,有以下的几个功能: 插入数据 检索数据 更新数据 删除数据 拓扑结构: ...

weixin_43593303的博客 1115

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

python学习笔记32-操作sqlite数据库

【代码】python学习笔记32-操作sqlite数据库。

编程驴子的博客 206

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

python网络编程库_python网络编程学习笔记(九):数据库客户端 DB-API

一、DB-API概述python支持很多不同的数据库。由于不同的卖家服务器导致和数据库通信的网络协议各有不同。在python的早期版本中,每一种数据库都带有自己的python模块,所有这些模块以不同的方式工作,并提供不同的函数。这种方法不便于编写能够在多种数据库服务器类型中运行的代码,于是DB-API库函数产生。在DB-API中,所有连接数据库的模块即便是底层网络协议不同,也会提供一个共同的接口。...

weixin_39753616的博客 152

Python采集学习笔记-将西门子S7DB数据写入MySQL数据库

11.关闭plc连接,关闭数据库连接。3.创建通讯客户端实例。

2301_77321248的博客 1399

Python爬虫学习笔记(创建数据库MySQL数据库ERROR: "Can't create database 'spiders'; databas)

背景:pymysql库创建数据库出错 报错:pymysql.err.ProgrammingError: (1007, "Can't create database 'XXXX'; database exists") 分析:数据库中已经存在该 数据库,删除该库即可创建 实例: import pymysql db = pymysql.connect(host='loc...

qq_33360009的博客 1036

python sqlite3 db path_【基础】学习笔记31-Python3 SQLite数据库-1

SQLite关系型(使用二维表来存储数据)、轻量级的数据库管理系统。不需要配置服务器1)关系:二维表是一对一,不重复2)元组:二维表的行,即每个元组对应表中的一条行记录3)属性:二维表的列4)域:属性的取值范围5)关键字:primary key,能唯一标识一个元组的属性或属性组合软件安装网址https://www.sqlite.org/download.html 下载对应的版本(1)解压到win...

weixin_33239721的博客 245

python建数据仓库_数据仓库建模指南系列教程学习笔记

高质量数据建模的基本流程概念模型确定系统边界,确定哪些做哪些不做基本概念:实体、属性、域、关系、键、约束---------实体-----------六合分析法:5W1HWho通常指与企业业务紧密联系的人员和组织What通常指企业业务相关的“事”等When更多的时候是以属性的模式出现的,而作为实体更多是以时间表的形式存在Where指企业业务相关的地点,这个可以指具体的地点比如实体店,也可以指虚拟的网...

weixin_39631953的博客 282

用自然语言解释python数据库列表——Python学习笔记之11

用自然语言解释python数据库列表——Python学习笔记之11 匆匆弄完那本厚厚的《python学习手册》,接下来又是一本同样作者的《python编程》。因为没有功用的压力,想怎么学就怎么学,学的好还是学的坏全无所谓,权当是在做消闲的游戏。这种无压力的学习,自然是看这类原创的东西靠得住一些。这开头的一个数据库列表的代码示例,勾起我的文字瘾。好像还没有写过,用自然语言来解读代码笔记的先例,这篇数据库列表的代码,何不试试用普通语言来逐条做点解读? 《python编程》告知,仅创建两个变量,那不叫数据库,得把

weixin_41670255的博客 200

Python功能使用学习笔记(4)--链接数据库

先小提一手os,虽然老师没有太讲,但是可以小写一手 import os #导入库 print(os.name) #nt Windows Posix Linux判断系统执行代码(要是不知道nt代表windows我还以为它骂我) print(os.getcwd()) print(os.listdir('C:\\Users\\16099\\Desktop\\课设\\2018065611李维坤数据库课设'))#打印指定目录下的文件 os.mkdir('a')#创建一个文件夹 os.makedirs('b/c/d/e

LoffiB的博客 286

python对sqlite3数据库的简单增删改查(学习笔记)

由于python已经内置了操作sqlite3数据库文件的模块,因此不需要下载,非常的方便。基于上面代码新建的用户数据表,以及已经插入的三条数据,我们来进行数据库的查询数据操作。注意,新建数据库的代码只能执行一次,第二次执行会报错,因为数据库已经存在了。这是本人在学习使用python操作sqlite3数据库的学习笔记分享。基于上面代码新建的用户数据表,我们来进行数据库的新增数据操作。删除数据使用的是delete from语句。由于代码附上了详细的注释,这里不再重复。还是基于上面创建的数据表。

V123456789987654的博客 1263

Python 学习笔记(八)—— 数据库操作

数据库编程接口、常见的数据库函数及其参数说明、数据库操作、游标对象、创建数据表

歆歆~黯了 1974
上一篇: python解决NEXT DAY问题
下一篇: 数据库学习笔记——视图
WSZFSNFK
博客等级 码龄7年 961粉丝 58原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WSZFSNFK

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值