小白程序员必备:收藏这份数据库入门指南,轻松掌握SQL大模型核心技能!

本文详细介绍了数据库基础概念,包括数据库、DBMS、DBA等,并深入讲解了SQL语言分类(DDL、DML、DQL、DCL)。重点解析了DDL操作(数据库和表结构创建与修改)、数据类型(数值、字符串、日期)、DML操作(增删改数据)以及DQL查询(基本查询、条件查询、分组查询、排序查询、分页查询)。文章还阐述了DQL执行顺序,适合小白程序员学习数据库大模型的基础知识。

一、核心概念


  • 数据库(DB):存储和管理数据的仓库
  • 数据库管理系统(DBMS):操纵和管理数据库的大型软件(如 MySQL、Oracle)
  • 数据库管理员(DBA):对用户访问数据库权限进行管理
  • SQL:操作关系型数据库的标准编程语言。
  • 关系型数据库(RDBMS):基于关系模型,由多张相互连接的二维表组成。
  • 特点:用表存数据、格式统一;SQL 标准统

一、支持复杂查询。

  • 非关系型数据库:例如 Redis。

我们只需要连接远程服务器数据即可

在本地中,默认只有一个用户:root

二、SQL语言分类


分类 全称 作用
DDL 数据定义语言 定义数据库、表、字段(创建 / 删除 / 修改结构)
DML 数据操作语言 对表数据增、删、改(不能查询)
DQL 数据查询语言 查询表中数据
DCL 数据控制语言 创建用户、分配权限(DBA 管理)

我们重点关注前三个语言,因为DCL数据控制语言是由DBA(数据库管理员)来使用的,由他来控制哪些用户可以访问哪些数据库

图片

三、DDL


1. 数据库操作

图片

说明:database 可替换为 schema

2.表结构操作–创建

(1)约束(字段规则)

如果想要实现主键自动+1,可以写 primary key auto_increment;一个字段可加多个约束,用空格分隔;外键约束:至少要两张表以上才会有外键

约束 关键字 说明
非空约束 not null 字段值不能为 null
唯一约束 unique 数据唯一不重复
主键约束 primary key 一行数据唯一标识,非空且唯一
默认约束 default 未指定值时用默认值
外键约束 foreign key 多表关联,保证数据一致完整
(2)例子

图片

3.表结构操作—数据类型

(1)数值类型

每个数值类型都会有有符号 signed 和无符号 unsigned 区分:默认是 signed(可以取负数),unsigned(只能取 0 和正数)

常用的就是int

图片

(2)字符串类型

最常用的是char、varchar,使用场景如下:

类型 特点 适用场景
char(n) 定长,占固定空间,浪费空间、性能高 长度固定:身份证号码、手机号
varchar(n) 变长,按需占用空间,节省空间、性能略低 长度不固定:用户名、姓名

图片

(3)日期类型

最常用的就是date、datetime

类型 格式 用途
date YYYY-MM-DD 生日
datetime YYYY-MM-DD HH:MM:SS 操作时间
time HH:MM:SS 时间值
year YYYY 年份
timestamp 时间戳 时间序列(到 2038 年)

4.表结构操作—查询、修改、删除

图片

四、DML


DML:数据操作语言,对表数据进行增删改操作

1.添加

在插入数据时,指定的字段顺序应该和值的顺序是一一对应的

图片

2.修改

where是用来筛选要修改的范围

图片

例如:

图片

3.删除

图片

五、DQL


DQL:数据查询语言,用来查询数据库表的记录,注意DML只有增删改三个操作并没有查询功能,最常用的就是查询DQL,因此我们要重点掌握DQL

图片

1.基本查询

在查询所有字段中有两种方式:一个是将所有字段都写出来用,隔开;另一个是*(不推荐)

需求 语法格式 示例
查询多个字段 SELECT 字段列1,字段列2,... FROM 表名; SELECT name, entry_date FROM emp;
查询所有字段 SELECT * FROM 表名; SELECT * FROM emp;(不推荐)
字段起别名 SELECT 字段列1 [AS] 别名1, 字段列2 别名2 FROM 表名; SELECT name AS 姓名, entry_date 入职日期 FROM emp;
去除重复记录 SELECT DISTINCT 字段列表 FROM 表名; SELECT DISTINCT job FROM emp;

2.条件查询

(1)基础语法

SELECT 字段列表 FROM 表名 WHERE 条件列表;

(2)比较运算符

运算符 功能
> 大于
>= 大于等于
< 小于
<= 小于等于
= 等于
<>!= 不等于
BETWEEN ... AND ... 在某个范围之内(含最小、最大值)
IN(...) 在指定列表中的值,多选一
LIKE 模糊匹配(_ 匹配单个字符,% 匹配任意个字符)
IS NULL 为空

(3)逻辑运算符

图片

3.分组查询

()相关概念

  • 分组逻辑:通常是「分组 + 聚合」,按指定字段将数据分组,再对每组进行聚合计算。
  • 聚合函数:将一列数据纵向计算,放在 SELECT 语句中,是分组查询的核心。

(2)常用聚合函数

注意:COUNT 优先级:COUNT(*) > COUNT(常量) > COUNT(字段)

COUNT(字段):统计该字段非NULL的行数,COUNT(*):统计所有行,含NULL

函数 功能
COUNT(字段) 统计数量(推荐 COUNT(*) 统计总行数)
MAX(字段) 统计最大值
MIN(字段) 统计最小值
AVG(字段) 统计平均值
SUM(字段) 统计求和

(3)查询语法

图片

(4)注意事项

  • where后面不能写聚合函数,而having可以
  • 一旦分组后,select后的字段就不能随意书写,一般是分组字段+聚合函数
  • 执行顺序:where > 聚合函数 > having

(5)例子

统计入职时间≤2015-01-01 的员工,按职位分组,且该分组员工数≥2:

SELECT job, COUNT(*)
FROM emp
WHERE entry_date <= '2015-01-01'
GROUP BY job
HAVING COUNT(*) >= 2;

4.排序查询

(1)排序语法

☰☰☰IMG1

《网络安全从零到精通全套学习大礼包》

96节从入门到精通的全套视频教程免费领取

如果你也想通过学网络安全技术去帮助就业和转行,我可以把我自己亲自录制的96节 从零基础到精通的视频教程以及配套学习资料无偿分享给你。

请添加图片描述

网络安全学习路线图

想要学习 网络安全,作为新手一定要先按照路线图学习方向不对,努力白费。对于从来没有接触过网络安全的同学,我帮大家准备了从零基础到精通学习成长路线图以及学习规划。可以说是最科学最系统的学习路线,大家跟着这个路线图学习准没错。

请添加图片描述

配套实战项目/源码

所有视频教程所涉及的实战项目和项目源码

在这里插入图片描述

学习电子书籍

学习网络安全必看的书籍和文章的PDF,市面上网络安全书籍确实太多了,这些是我精选出来的

在这里插入图片描述

面试真题/经验

请添加图片描述

以上资料如何领取?

img

8f21c6efa4e739621ffb5d4309b20.jpeg#pic_center)

面试真题/经验

请添加图片描述

以上资料如何领取?

img

文章来自网上,侵权请联系博主

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐