Python 数据库操作SQL基础

文章目录

    • SQL 基础
      • 数据库和表的创建
      • 数据的插入、查询、更新和删除
      • 索引、连接和子查询
    • Python 中的数据库操作
      • 关于Python技术储备
        • 一、Python所有方向的学习路线
        • 二、Python基础学习视频
        • 三、精品Python学习书籍
        • 四、Python工具包+项目源码合集
        • ①Python工具包
        • ②Python实战案例
        • ③Python小游戏源码
        • 五、面试资料
        • 六、Python兼职渠道


在这里插入图片描述

SQL 基础

SQL 主要分为以下几类操作:

  • 数据定义语言(DDL,Data Definition Language):用于定义数据库结构的操作,如创建、修改、删除表结构等。常用语句包括 CREATEALTERDROP 等。
  • 数据操作语言(DML,Data Manipulation Language):用于操作数据库中的数据,如插入、更新、删除数据等。常用语句包括 INSERTUPDATEDELETE 等。
  • 数据查询语言(DQL,Data Query Language):用于查询数据库中的数据。常用语句为 SELECT
  • 数据控制语言(DCL,Data Control Language):用于控制数据库访问权限和事务处理,如授权、撤销权限等。常用语句包括 GRANTREVOKECOMMITROLLBACK 等。

接下来,我们将学习 SQL 的基本语法和操作。

数据库和表的创建

创建一个数据库:

CREATE DATABASE mydb;

创建一个表:

CREATE TABLE users (id INT PRIMARY KEY AUTO\_INCREMENT,name VARCHAR(50) NOT NULL,age INT NOT NULL,email VARCHAR(100)
);

数据的插入、查询、更新和删除

插入数据:

INSERT INTO users (name, age, email) VALUES ('Alice', 30, 'alice@example.com');

查询数据:

SELECT \* FROM users; -- 查询所有数据
SELECT \* FROM users WHERE age > 25; -- 查询年龄大于 25 的用户
SELECT name, email FROM users; -- 只查询用户名和电子邮件

排序、分组和聚合:

SELECT \* FROM users ORDER BY age DESC; -- 按年龄降序排序
SELECT age, COUNT(\*) FROM users GROUP BY age; -- 按年龄分组,统计每个年龄段的用户数量
SELECT AVG(age) FROM users; -- 计算平均年龄

更新数据:

UPDATE users SET age = 31 WHERE name = 'Alice'; -- 将名为 Alice 的用户年龄更新为 31

删除数据:

DELETE FROM users WHERE id = 1; -- 删除 id 为 1 的用户

索引、连接和子查询

创建索引:

CREATE INDEX idx\_users\_email ON users (email); -- 为 email 列创建索引

连接表(以 INNER JOIN 为例):

\-- 假设有另一个表 orders,包含 user\_id 和 order\_date 列
SELECT users.name, orders.order\_date
FROM users
INNER JOIN orders ON users.id = orders.user\_id;

子查询:

SELECT \* FROM users WHERE age > (SELECT AVG(age) FROM users); -- 查询年龄大于平均年龄的用户

Python 中的数据库操作

为了在 Python 中操作数据库,我们需要使用相应的数据库适配器。以 MySQL 为例,我们可以使用 mysql-connector-python 库。首先,安装该库:

pip install mysql-connector-python

然后,你可以使用以下代码连接到 MySQL 数据库并执行 SQL 语句:

import mysql.connector
# 连接数据库
cnx = mysql.connector.connect(host='localhost',user='your\_username',password='your\_password',database='mydb'
)
# 创建游标
cursor = cnx.cursor()
# 执行 SQL 语句
cursor.execute('SELECT \* FROM users')
# 获取查询结果
result = cursor.fetchall()
for row in result:print(row)
# 关闭游标和连接
cursor.close()
cnx.close()

以上就是 Python 数据库操作及 SQL 基础的相关内容。
为了更好地学习和理解这些知识点,建议你在实际项目中亲自动手操作,逐渐积累经验。


关于Python技术储备

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后给大家分享一份全套的 Python 学习资料,希望提供给想学习 Python 的小伙伴们一点帮助!

保存图片微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

二、Python基础学习视频

② 路线对应学习视频

还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~在这里插入图片描述
在这里插入图片描述

③练习题

每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!
在这里插入图片描述
因篇幅有限,仅展示部分资料

三、精品Python学习书籍

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
在这里插入图片描述

四、Python工具包+项目源码合集
①Python工具包

学习Python常用的开发软件都在这里了!每个都有详细的安装教程,保证你可以安装成功哦!
在这里插入图片描述

②Python实战案例

光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。100+实战案例源码等你来拿!
在这里插入图片描述

③Python小游戏源码

如果觉得上面的实战案例有点枯燥,可以试试自己用Python编写小游戏,让你的学习过程中增添一点趣味!
在这里插入图片描述

五、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
在这里插入图片描述
在这里插入图片描述

六、Python兼职渠道

而且学会Python以后,还可以在各大兼职平台接单赚钱,各种兼职渠道+兼职注意事项+如何和客户沟通,我都整理成文档了。
在这里插入图片描述
在这里插入图片描述
这份完整版的Python全套学习资料已经上传CSDN,朋友们如果需要可以保存图片微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

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

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

相关文章

DFS、BFS求解leetcode图像渲染问题(Java)

目录 leetcode733题.图像渲染 DFS BFS leetcode733题.图像渲染 733. 图像渲染 - 力扣(LeetCode) 有一幅以 m x n 的二维整数数组表示的图画 image ,其中 image[i][j] 表示该图画的像素值大小。 你也被给予三个整数 sr , sc 和 newColor …

三菱FX系列PLC的无线通讯方案

产品型号:NET30-FX-W4 使用范围:用于三菱FX3U/3G/3S/2N/1N/1S等系列PLC通讯扩展 1、产品介绍 工业通讯桥接器(NET30-FX-W4)用于三菱FX系列PLC(FX3U/3G/3S/2N/1N/1S)以及汇川、禾川等PLC的通讯扩展&#x…

【Spring教程22】Spring框架实战:Spring事务角色与 Spring事务属性、事务传播行为代码示例详解

目录 1.Spring事务角色1.1 未开启Spring事务之前:1.2 开启Spring的事务管理后2 Spring事务属性2.1 事务配置2.2 转账业务追加日志案例2.2.1 需求分析2.2.2 环境准备 2.3 事务传播行为2.3.1.修改logService改变事务的传播行为2.3.2 事务传播行为的可选值 欢迎大家回到《 Java教…

css 元素前后添加图标(::before 和 ::after 的妙用)

<template><div class"container"><div class"label">猜你喜欢</div></div> </template><style lang"scss" scoped> .label {display: flex;&::before,&::after {content: "";widt…

C++面试宝典第4题:合并链表

题目 有一个链表&#xff0c;其节点声明如下&#xff1a; struct TNode {int nData;struct TNode *pNext;TNode(int x) : nData(x), pNext(NULL) {} }; 现给定两个按升序排列的单链表pA和pB&#xff0c;请编写一个函数&#xff0c;实现这两个单链表的合并。合并后&#xff0c;…

井盖发生位移怎么办?智能井盖传感器效果

井盖位移是一种严重的安全隐患&#xff0c;因为它可能导致道路受阻并干扰正常的交通&#xff0c;还可能对行人和车辆的安全造成威胁。为了有效应对这一问题&#xff0c;智能井盖传感器的应用提供了一种解决方案。智能井盖传感器可以实时监测井盖的位移情况&#xff0c;并在发现…

15、lambda表达式、右值引用、移动语义

前言 返回值后置 auto 函数名 (形参表) ->decltype(表达式) lambda表达式 lambda表达式的名称是一个表达式 (外观类似函数)&#xff0c;但本质绝非如此 语法规则 [捕获表] (参数表) 选项 -> 返回类型 { 函数体; }lambda表达式的本质 lambda表达式本质其实是一个类…

(1)(1.5) FrSky telemetry

文章目录 前言 1 设置 2 Turnigy 9XR Pro 前言 FrSky 遥测技术允许你显示 ArduPilot 的信息&#xff0c;如飞行模式、电池电量和错误信息&#xff0c;以及来自 OpenTx 兼容遥控发射机上其他 FrSky 传感器的信息&#xff0c;甚至包括较旧的 X9R 发射机&#xff08;尽管功能较…

周报:静态页面(酷狗首页)的制作-上

在前端领域学习了HTML和CSS有关知识后&#xff0c;我开始进行对常见网页制作的练习了&#xff0c;本次我尝试制作的是酷狗首页。以下为酷狗首页的样例&#xff1a; 不难发现&#xff0c;酷狗首页和豆瓣首页有很多相似之处&#xff0c;练习酷狗首页就相当于我对常规页面制作的巩…

电影《三大队》观后感

上周点播看了电影《三大队》&#xff0c;这部电影讲述的是三大队警员&#xff0c;在办案过程中&#xff0c;因为把犯罪嫌疑人打死后&#xff0c;锒铛入狱后&#xff0c;后来出来后&#xff0c;再次抓捕犯罪嫌疑人的故事。 &#xff08;1&#xff09;故事情节 有一次&#xff0c…

聚类算法的性能度量

聚类算法的性能度量 聚类算法就是根据数据中样本与样本之间的距离或相似度&#xff0c;将样本划分为若干组&#xff0f;类&#xff0f;簇&#xff0c;其划分的原则&#xff1a;簇内样本相似、簇间样本不相似&#xff0c;聚类的结果是产生一个簇的集合。 其划分方式主要分为两…

Mybatis源码解析5:Mapper执行流程1

Mybatis源码解析5&#xff1a;Mapper执行流程1 1.项目结构2. 源码分析2.1 Mapper代理 MapperProxy#invoke2.2 创建MapperMethod2.2.1 方法名称解析器ParamNameResolve2.2.2 MapperMethod#execute 2.3 DefaultSqlSession2.4 CachingExecutor2.5 SimpleExecutor#doQuery获取连接对…