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

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.xdnf.cn/news/17428.html

相关文章:

  • PAT 1052 Linked List Sorting
  • 观远BI 工具驱动零售消费行业精益增长的实践路径
  • 【线性代数】线性方程组与矩阵——(1)线性方程组与矩阵初步
  • 海康威视摄像头实时推流到阿里云公网服务器(Windows + FFmpeg + nginx-rtmp)
  • 明厨亮灶场景违规识别准确率↑32%:陌讯动态适配算法实战解析
  • Geotools核心类详解
  • 企业级web应用服务器TOMCAT入门详解
  • M8-11读卡器如何通过RS485转Profinet网关在plc写入从站地址
  • 大玄古籍制作软件【详细教程20:txt文档config自动化配置】,排版软件,自动排版,排版设计,个人出书,一键排版
  • 解决本地连接服务器ollama的错误
  • 力扣(删除有序数组中的重复项I/II)
  • 小米开源大模型 MiDashengLM-7B:不仅是“听懂”,更能“理解”声音
  • 【数据结构初阶】--文件归并排序
  • Idea配置——build system的选项区别
  • $QAXHoneypot是什么文件夹
  • 系统集成项目管理工程师【第十一章 规划过程组】规划成本管理、成本估算、制定预算和规划质量管理篇
  • [Shell编程] Shell 循环结构入门
  • 2025.08.08 反转链表
  • Autosar AP中Promise和Future的异步消息通信的详细解析
  • 【设计模式】建造者模式
  • 从伪造的验证码到远程攻击工具 (RAT):2025 年网络欺骗威胁趋势
  • Dart关键字完全指南:从基础到高级用法详解
  • C++归并排序
  • 人工智能之数学基础:事件独立性
  • 登上Nature子刊,深度学习正逐渐接管基础模型
  • Docker 安装 Redis
  • 【vue】Vue 重要基础知识清单
  • Vue3生命周期
  • wordpress的wp-config.php文件的详解
  • 三方相机问题分析七:【datespace导致GPU异常】三方黑块和花图问题