SQL基础使用

SQL的概述

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

SQL语言1974年由Boyce和Chamberlin提出,并首先在IBM公司研制的关系数据库系统SystemR上实现。

经过多年发展,SQL以成为数据库领域统一的数据操作标准语言,可以说几乎市面上所有的数据库系统都支持使用SQL语言来操作

简单来说,SQL语言就是操作数据库的专用工具

SQL的语法特征

在学习DDL、DQL等之前,我们先来了解SQL的语法特征。

  • SQL语言,大小写不敏感
  • SQL可以单行或多行书写,最后以;号结束
  • SQL支持注释:
    • 单行注释: -- 注释内容(--后面一定要有一个空格)
    • 单行注释:# 注释内容(# 后面可以不加空格,推荐加上)
    • 多行注释:/* 注释内容 */

SQL语言的分类

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

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

  • 数据定义:DDL(Data Definition Language)
    • 库的创建删除、表的创建删除等
  • 数据操纵:DML(Data Manipulation Language)
    • 新增数据、删除数据、修改数据等
  • 数据控制:DCL(Data Control Language)
    • 新增用户、删除用户、密码修改、权限管理等
  • 数据查询:DQL(Data Query Language)
    • 基于需求查询和计算数据

SQL - DDL - 库管理

查看数据库

SHOW DATABASES;

使用数据库

USE 数据库名称;

创建数据库

CREATE DATABASES 数据库名称 CHARSET UTF8;

删除数据库

OROP DATABASES 数据库名称;

查看当前使用的数据库

SELECT DATABASES();

SQL- DDL - 表管理

查看有哪些表

SHOW TABLES; 注意: 需要先选择库

创建表

CREATE TABLE 表名称(

列名称 列类型,

列名称 列类型,

列名称 列类型,

列名称 列类型,

......

)

删除表

DORP TABLE 表名称;

DORP TABLE IF EXISTS 表名称;

SQL - DML - 数据管理

DML是指数据操作语言,英文全称是Data Manipulation Language,用来对数据库中表的数据记录进行更新。

关键字:

  • 插入INSERT
  • 删除DELETE
  • 更新UPDATE

数据插入 INSERT

基础语法:

示例:

注意:

  1. 插入字符串数据,需要用单引号包围

  2. 插入全部列的时候,列的列表可以省略

数据删除

基础语法:

BELETE FROM 表名称 WHERE 条件判断

数据更新 UPDATE

基础语法

UPDATE 表名 SET 列 = 值 WHERE 条件判断;

注意事项

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

SQL - DQL

基础数据查询

在SQL中,通过SELECT关键字开头的SQL语句,来进行数据的查询

基础语法:

SELECT 字段列名 | * FROM 表

含义就是: 从(FROM)表中,选择 SELECT)某些列进行展示

基础数据查询 - 过滤

查询也可以带有指定条件,语法如下:

SELECT 字段列名 | * FROM 表 WHERE 条件判断

分组聚合

分组聚合应用场景非常多,如:统计班级中,男生和女生的人数。

这种需求就需要:

  • 按性别分组
  • 统计每个组的人数

这就称之为:分组聚合。 基础语法:

SELECT 字段 | 聚合函数 FROM 表 WHERE 条件判断 GROUP BY 列

聚合函数有

注意,SELECT中,除了聚合函数外,GROUP BY 了哪个列,哪个列在能出现在SELECT中。

结果排序

可以对查询的结果,使用ORDER BY 关键字,指定某个列进行排序,语法:

结果分页限制

同样,可以使用LIMIT关键字,对查询结果进行数量限制或分页显示,语法:

SQL语句

相关推荐
邓工说电14 分钟前
智慧断路器安全吗?数据加密、离线保护与合规认证全解读
大数据·数据库·人工智能·智能断路器·炜晔科技
adinnet202631 分钟前
企业微调大模型(Fine-tuning):先吃透 RAG 还是先训自己的模型
大数据·数据库
上位机妹子1 小时前
EF Core 两种继承映射:每层次一张表(TPH)与每类型一张表(TPT)
数据库·c#·.netcore·ef core
小马同学-1 小时前
Redis消息队列与客户端编程
数据库·redis
for_ever_love__2 小时前
MySQL 高频面试题 30 问:索引、事务、锁、日志、主从与分库分表(MySQL 8.0 版)
java·数据库·spring boot·mysql·spring cloud·面试·总结
染指11102 小时前
140.Agent-多Agent框架-Agent执行Skills流程
数据库·人工智能·设计模式·langchain·agents
fengkai45452 小时前
十二、Redis -2
运维·数据库·redis·容器
余槐i3 小时前
200万行表加索引锁死写入:PostgreSQL CONCURRENTLY 的三类等待与重建路径
数据库·postgresql·性能优化·索引·explain