首页 数据库 mysql教程 SQL 快速参考:简化数据库管理

SQL 快速参考:简化数据库管理

Apr 08, 2025 pm 06:21 PM
ai 聚合函数

sql 备忘单

本博客全面指导最重要的sql命令和操作。它涵盖了基本查询、连接、子查询、索引和更高级的概念。

目录

  1. sql 基础知识
  2. 数据定义语言(ddl)
  3. 数据操作语言(dml)
  4. 数据查询语言(dql)
  5. 数据控制语言(dcl)
  6. 加入
  7. 子查询
  8. 索引
  9. 聚合函数
  10. 分组和排序
  11. 交易
  12. 高级 sql
  13. 最佳实践

sql 基础知识

sql 查询的结构

select column1, column2
from table_name
where condition
order by column
limit n;
登录后复制

在 sql 中注释

  • 单行评论: -- 这是一条评论
  • 多行评论
  /* this is a 
     multi-line comment */
登录后复制

数据定义语言(ddl)

创建表

create table table_name (
    column1 datatype [constraints],
    column2 datatype [constraints],
    ...
);
登录后复制

示例:

create table employees (
    id int primary key,
    name varchar(100),
    age int,
    hire_date date
);
登录后复制

修改表格

添加列

alter table table_name
add column_name datatype;
登录后复制

删除一列

alter table table_name
drop column column_name;
登录后复制

修改列

alter table table_name
modify column column_name datatype;
登录后复制

重命名表

alter table old_table_name
rename to new_table_name;
登录后复制

删除一个表

drop table table_name;
登录后复制

创建索引

create index index_name
on table_name (column_name);
登录后复制

删除索引

drop index index_name;
登录后复制
登录后复制

数据操作语言 (dml)

将数据插入表中

insert into table_name (column1, column2, ...)
values (value1, value2, ...);
登录后复制

示例:

insert into employees (id, name, age, hire_date)
values (1, 'john doe', 30, '2022-01-01');
登录后复制

更新表中的数据

update table_name
set column1 = value1, column2 = value2, ...
where condition;
登录后复制

示例:

update employees
set age = 31
where id = 1;
登录后复制

从表中删除数据

delete from table_name
where condition;
登录后复制

示例:

delete from employees
where id = 1;
登录后复制

数据查询语言 (dql)

从表中选择数据

select column1, column2, ...
from table_name
where condition
order by column
limit n;
登录后复制

示例:

select * from employees;
select name, age from employees where age > 30;
登录后复制

通配符

  • *:选择所有列
  • %:零个或多个字符的通配符(在 like 子句中)
  • _:仅代表一个字符的通配符(在 like 子句中)

示例:

select * from employees where name like 'j%';
登录后复制

数据控制语言(dcl)

授予权限

grant permission on object to user;
登录后复制

示例:

grant select, insert on employees to 'user1';
登录后复制

撤销权限

revoke permission on object from user;
登录后复制

示例:

revoke select on employees from 'user1';
登录后复制

加入

内连接

当两个表中存在匹配项时返回行。

select columns
from table1
inner join table2
on table1.column = table2.column;
登录后复制

左连接(或左外连接)

返回左表中的所有行以及右表中的匹配行。如果不匹配,右表中的列将显示 null 值。

select columns
from table1
left join table2
on table1.column = table2.column;
登录后复制

右连接(或右外连接)

返回右表中的所有行以及左表中的匹配行。如果不匹配,左表中的列将显示 null 值。

select columns
from table1
right join table2
on table1.column = table2.column;
登录后复制

全外连接

当其中一个表中有匹配项时返回行。

select columns
from table1
full outer join table2
on table1.column = table2.column;
登录后复制

子查询

select 中的子查询

select column1, (select column2 from table2 where condition) as alias
from table1;
登录后复制

where 中的子查询

select column1
from table1
where column2 in (select column2 from table2 where condition);
登录后复制

from 中的子查询

select alias.column1
from (select column1 from table2 where condition) as alias;
登录后复制

索引

创建索引

create index index_name
on table_name (column1, column2);
登录后复制

删除索引

drop index index_name;
登录后复制
登录后复制

唯一索引

确保一列(或一组列)中的所有值都是唯一的。

create unique index index_name
on table_name (column_name);
登录后复制

聚合函数

数数

计算符合特定条件的行数。

select count(*) from table_name where condition;
登录后复制

返回列中值的总和。

select sum(column_name) from table_name;
登录后复制

平均电压

返回列中值的平均值。

select avg(column_name) from table_name;
登录后复制

最小值和最大值

返回列中的最小值和最大值。

select min(column_name), max(column_name) from table_name;
登录后复制

分组和排序

分组依据

将具有相同值的行分组为汇总行。

select column1, count(*)
from table_name
group by column1;
登录后复制

拥有

应用 group by 后过滤组。

select column1, count(*)
from table_name
group by column1
having count(*) > 5;
登录后复制

订购依据

按升序或降序对结果集进行排序。

select column1, column2
from table_name
order by column1 desc;
登录后复制

交易

开始交易

begin transaction;
登录后复制

进行交易

commit;
登录后复制

回滚事务

rollback;
登录后复制

高级sql

案例当

查询中的条件逻辑。

select column1,
       case
           when condition then 'result 1'
           when condition then 'result 2'
           else 'default'
       end as alias
from table_name;
登录后复制

联合和联合全部

  • union:合并两个或多个查询的结果集(删除重复项)。
  • union all:合并结果集(保留重复项)。
select column from table1
union
select column from table2;

select column from table1
union all
select column from table2;
登录后复制

最佳实践

  • 尽可能使用 join 而不是子查询以获得更好的性能。
  • 对经常搜索的列建立索引以加快查询速度。
  • 避免 select * 并仅指定您需要的列。
  • 对大型结果集使用 limit 限制返回的行数。
  • 标准化您的数据以避免冗余并提高一致性。
  • 使用where子句而不是在聚合之前过滤数据。
  • 测试查询性能,特别是对于大型数据集。
  • 使用事务来保证数据的一致性,尤其是涉及多个dml语句的操作。

结论

此 sql 备忘单涵盖了使用关系数据库所需的所有基本 sql 命令和技术。无论您是查询、插入、更新还是连接数据,本指南都将帮助您更有效地使用 sql。


登录后复制

以上是SQL 快速参考:简化数据库管理的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
威尔R.E.P.O.有交叉游戏吗?
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

Debian邮件服务器防火墙配置技巧 Debian邮件服务器防火墙配置技巧 Apr 13, 2025 am 11:42 AM

配置Debian邮件服务器的防火墙是确保服务器安全性的重要步骤。以下是几种常用的防火墙配置方法,包括iptables和firewalld的使用。使用iptables配置防火墙安装iptables(如果尚未安装):sudoapt-getupdatesudoapt-getinstalliptables查看当前iptables规则:sudoiptables-L配置

Debian邮件服务器SSL证书安装方法 Debian邮件服务器SSL证书安装方法 Apr 13, 2025 am 11:39 AM

在Debian邮件服务器上安装SSL证书的步骤如下:1.安装OpenSSL工具包首先,确保你的系统上已经安装了OpenSSL工具包。如果没有安装,可以使用以下命令进行安装:sudoapt-getupdatesudoapt-getinstallopenssl2.生成私钥和证书请求接下来,使用OpenSSL生成一个2048位的RSA私钥和一个证书请求(CSR):openss

centos关机命令行 centos关机命令行 Apr 14, 2025 pm 09:12 PM

CentOS 关机命令为 shutdown,语法为 shutdown [选项] 时间 [信息]。选项包括:-h 立即停止系统;-P 关机后关电源;-r 重新启动;-t 等待时间。时间可指定为立即 (now)、分钟数 ( minutes) 或特定时间 (hh:mm)。可添加信息在系统消息中显示。

索尼证实PS5 Pro使用特制GPU 与AMD合作研发AI可能性 索尼证实PS5 Pro使用特制GPU 与AMD合作研发AI可能性 Apr 13, 2025 pm 11:45 PM

SonyInteractiveEntertainment(SIE,索尼互动娱乐)首席架构师MarkCerny公开更多次世代主机PlayStation5Pro(PS5Pro)硬体细节,包括性能升级的AMDRDNA2.x架构GPU,以及与AMD合作代号「Amethyst」的机器学习/人工智慧计划。 PS5Pro性能提升的重点仍集中在更强大的GPU、先进的光线追踪与AI驱动的PSSR超解析度功能等3大支柱上。 GPU采用客制化的AMDRDNA2架构,索尼将其命名为RDNA2.x,它拥有部分RDNA3架构才

CentOS上GitLab的备份方法有哪些 CentOS上GitLab的备份方法有哪些 Apr 14, 2025 pm 05:33 PM

CentOS系统下GitLab的备份与恢复策略为了保障数据安全和可恢复性,CentOS上的GitLab提供了多种备份方法。本文将详细介绍几种常见的备份方法、配置参数以及恢复流程,帮助您建立完善的GitLab备份与恢复策略。一、手动备份利用gitlab-rakegitlab:backup:create命令即可执行手动备份。此命令会备份GitLab仓库、数据库、用户、用户组、密钥和权限等关键信息。默认备份文件存储于/var/opt/gitlab/backups目录,您可通过修改/etc/gitlab

如何检查CentOS HDFS配置 如何检查CentOS HDFS配置 Apr 14, 2025 pm 07:21 PM

检查CentOS系统中HDFS配置的完整指南本文将指导您如何有效地检查CentOS系统上HDFS的配置和运行状态。以下步骤将帮助您全面了解HDFS的设置和运行情况。验证Hadoop环境变量:首先,确认Hadoop环境变量已正确设置。在终端执行以下命令,验证Hadoop是否已正确安装并配置:hadoopversion检查HDFS配置文件:HDFS的核心配置文件位于/etc/hadoop/conf/目录下,其中core-site.xml和hdfs-site.xml至关重要。使用

CentOS上Zookeeper性能调优有哪些方法 CentOS上Zookeeper性能调优有哪些方法 Apr 14, 2025 pm 03:18 PM

在CentOS上对Zookeeper进行性能调优,可以从多个方面入手,包括硬件配置、操作系统优化、配置参数调整以及监控与维护等。以下是一些具体的调优方法:硬件配置建议使用SSD硬盘:由于Zookeeper的数据写入磁盘,强烈建议使用SSD以提高I/O性能。足够的内存:为Zookeeper分配足够的内存资源,避免频繁的磁盘读写。多核CPU:使用多核CPU,确保Zookeeper可以并行处理请

CentOS上如何进行PyTorch模型训练 CentOS上如何进行PyTorch模型训练 Apr 14, 2025 pm 03:03 PM

在CentOS系统上高效训练PyTorch模型,需要分步骤进行,本文将提供详细指南。一、环境准备:Python及依赖项安装:CentOS系统通常预装Python,但版本可能较旧。建议使用yum或dnf安装Python3并升级pip:sudoyumupdatepython3(或sudodnfupdatepython3),pip3install--upgradepip。CUDA与cuDNN(GPU加速):如果使用NVIDIAGPU,需安装CUDATool

See all articles