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

SQL基本

1. 数据库介绍

数据库就是指数据存储的库,作用就是组织数据并存储数据。

按照:库 -> 表 -> 数据 三个层级进行组织

数据库软件就是提供库->表->数据,这种数据组织形式的工具软件,也称之为数据库管理系统

常见的数据库软件有:Oracle、MySQL、SQL Server、PostgreSQL、SQLite,

2. MySQL的安装

安装地址:https://downloads.mysql.com/archives/installer

免费:

  • MySQL Community Server    

        社区版本,免费,但是Mysql不提供官方技术支持。

  • MySQL Cluster    

        集群版,开源免费,可将几个MySQL Server封装成一个Server。

收费:

  • MySQL Enterprise Edition    

        商业版,该版本是收费版本,可以试用30天,官方提供技术支持

  • MySQL Cluster CGE    

         高级集群版,需付费。

3. MySQL的入门使用

打开:命令提示符程序,输入:mysql -uroot -p,然后回车后输入密码,即可进入命令行环境。

在MySQL的命令行环境下,可以通过:

  • show databases;   查看有哪些数据库
  • use 数据库名   使用某个数据库
  • show tables 查看数据库内有哪些表
  • exit 退出MySQL的命令行环境 等基础命令。

图形化工具:DBeaver

下载地址:https://dbeaver.io/download

双击一路下一步即可

连接步骤:

4. SQL基础与DDL

SQL全称: Structured Query Language,结构化查询语言,用于访问和处理数据库的标准的计算机语言。

由于数据库管理系统(数据库软件)功能非常多,不仅仅是存储数据,还要包含:数据的管理、表的管理、库的管理、账户管理、权限管理等等。

所以,操作数据库的SQL语言,也基于功能,可以划分为4类:

  • 数据定义:DDL(Data Definition Language)
    • 库的创建删除、表的创建删除等
  • 数据操纵:DML(Data Manipulation Language)
    • 新增数据、删除数据、修改数据等
  • 数据控制:DCL(Data Control Language)
    • 新增用户、删除用户、密码修改、权限管理等
  • 数据查询:DQL(Data Query Language)
    • 基于需求查询和计算数据
  • SQL语言,大小写不敏感
  • SQL可以单行或多行书写,最后以;号结束
  • SQL支持注释:
    • 单行注释: -- 注释内容(--后面一定要有一个空格)
    • 单行注释:# 注释内容(# 后面可以不加空格,推荐加上)
    • 多行注释:/*  注释内容  */

5. SQL - DML

数据插入INSERT

eg:

数据删除

eg:

数据更新

eg:

注意:字符串的值,出现在SQL语句中,必须要用单引号包围起来

6. SQL - DQL

基础查询

从(FROM)表中,选择(SELECT)某些列进行展示

eg:

过滤:

eg:

分组聚合

eg:

注意:GROUP BY中出现了哪个列,哪个列才能出现在SELECT中的非聚合中

排序分页

结果排序

eg:

结果分页限制

eg:

注意:

  • WHERE、GROUP BY、ORDER BY、 LIMIT均可按需求省略
  • SELECT 和 FROM 是必写的
  • 执行顺序: FROM -> WHERE -> GROUP BY和聚合函数 -> SELECT -> ORDER BY -> LIMIT

8. Python & MySQL

基础使用

在Python中,使用第三方库:pymysql 来完成对MySQL数据库的操作。

安装:

pip install pymysql

获取链接对象:

  • from pymysql import Connection 导包
  • Connection(主机,端口,账户,密码)即可得到链接对象
  • 链接对象.close() 关闭和MySQL数据库的连接

执行SQL语句:

通过连接对象调用cursor()方法,得到游标对象

  • 游标对象.execute()执行SQL语句
  • 游标对象.fetchall()得到全部的查询结果封装入元组内

数据插入

commit提交:

自动commint:

9. 综合案例

http://www.lryc.cn/news/615136.html

相关文章:

  • 探索Trae:使用Trae CN爬取 Gitbook 电子书
  • 2025-08-09 李沐深度学习14——经典卷积神经网络 (2)
  • 生态问题是什么?
  • P1890 gcd区间
  • 如何理解SA_RESTART”被信号中断的系统调用自动重启“?
  • SELinux 入门指南
  • ROS2 多线程 与组件机制
  • Python NumPy入门指南:数据处理科学计算的瑞士军刀
  • Qt 的对象线程亲和性规则
  • 华为欧拉OpenEnler系统在启动MindIE时权限问题的解决方法
  • 从灵感枯竭到批量产出:无忧秘书创作平台如何重构内容生产者的工作流程?全环节赋能分析
  • Spring Boot 集成 Quartz 实现定时任务(Cron 表达式示例)
  • WinForm 中 ListView 控件的实战应用与功能拓展
  • kafka架构原理快速入门
  • AI大语言模型在生活场景中的应用日益广泛,主要包括四大类需求:文本处理、信息获取、决策支持和创意生成。
  • 软件定义车辆加速推进汽车电子技术
  • Blender 快捷键速查表 (Cheat Sheet)
  • 【线性代数】6二次型
  • 可直接运行的 Playwright C# 自动化模板
  • 通过 Certimate 统一管理 SSL 证书 支持自动化申请、全平台部署
  • 【线性代数】线性方程组与矩阵——(1)线性方程组与矩阵初步
  • 数据挖掘2.6 Perceptron Modeling 感知器建模
  • 我想做自动化报社保,用哪种技术更好一点呢?
  • stm32项目(25)——基于stm32的植物生长箱环境监测系统
  • 「iOS」————响应者链与事件传递链
  • GPT-5:数字大脑的进化史
  • 人工智能-python-数据处理实战-特征降维(PCA)
  • CD63.【C++ Dev】多态(2): 剖析虚函数表的前置知识
  • 【线性代数】线性方程组与矩阵——(3)线性方程组解的结构
  • 【CTF】PHP反序列化基础知识与解题步骤