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语句

相关推荐
梁辰兴几秒前
软件工程:数据库设计
数据库·软件工程·数据库设计·逻辑设计·概念设计·梁辰兴·物理设计
10mAh11 分钟前
【Git】误删分支、reset --hard 后提交丢了怎么办?——reflog、fsck 与安全恢复实战
数据库·git·安全·回归
J_bean13 分钟前
剖析 MySQL InnoDB 共享行锁 (S) & 排他行锁 (X)
数据库·mysql·共享行锁·s lock·排他行锁·x lock
Lumistory17 分钟前
城市景观亮化设施维护管养的核心痛点与标准化解决方案
数据库·光照贴图
倒流时光三十年41 分钟前
第六阶段 57 · ES|QL 与 SQL API(用 SQL 查 ES)
数据库·sql·elasticsearch
努力进修1 小时前
“数据心脏” 驱动能源自主:国产数据库支撑 Cemsol 实现固井全流程数字化闭环
数据库·人工智能·能源
vHelios1 小时前
SQL不会写?不会找关联表?复杂SQL语句编写逻辑实现思路请查收✉
数据库·sql
DB哥讲数据库2 小时前
【ClickHouse安装教程】从零开始部署高性能列式数据库(附ClickHouse安装包)
数据库·clickhouse
TDengine (老段)2 小时前
TDengine 第三方工具 — Telegraf、Kafka Connect、Flink、Spark
大数据·数据库·物联网·flink·kafka·时序数据库·tdengine
小白勇闯网安圈11 小时前
Django 响应对象、文件上传与类视图
数据库·django·sqlite