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

SQL语句-常用版

SQL语句是关系型数据库中不可缺少的部分

1. 数据定义语言(DDL)

用于定义数据库结构:

-- 创建数据库
CREATE DATABASE database_name;
-- 创建表
CREATE TABLE table_name (column1 datatype constraints,column2 datatype constraints,...
);

这里面column是数据列名,datatype 是该列里面存储的数据类型,constraints 是约束条件(常见的有 not null 非空, unique 唯一 等等)

-- 修改表结构
ALTER TABLE table_name ADD column_name datatype;
ALTER TABLE table_name MODIFY column_name new_datatype;
ALTER TABLE table_name DROP COLUMN column_name;

ADD 增加表的数据列

MODIFY 修改原有表的数据类型

DROP COLUNM 删除已有的数据列

-- 删除表或数据库
DROP TABLE table_name;
DROP DATABASE database_name;
-- 创建索引
CREATE INDEX index_name ON table_name (column_name);

SQL 的索引并不是C语言的*、@,而是一种优化途径:基于数据结构 B树 / B+树 存储列值和对应行位置的映射,帮助数据库快速定位数据而不用全局扫描,大幅提高 WHEREORDER BYJOIN 的速度(尽管功能和哈希表类似,但是B树主要是通过平衡树实现,虽然时间复杂度比哈希表更高,但是也支持范围、前缀、等值等更多操作)

像我的智选果实项目数据库脚本里面就可以通过

-- 为fruit_type列创建索引,加速按水果类型查询
CREATE INDEX idx_fruit_type ON fruit_weights (fruit_type);-- 为timestamp列创建索引,加速时间范围查询
CREATE INDEX idx_timestamp ON fruit_weights (timestamp);

创建索引,加快下面的查询操作

-- 查找所有苹果记录
SELECT * FROM fruit_weights WHERE fruit_type = '苹果';-- 查找特定日期范围内的记录
SELECT * FROM fruit_weights WHERE timestamp BETWEEN '2025-05-01' AND '2025-05-21';

2. 数据操作语言(DML)

用于操作数据:

-- 插入数据:INSERT
INSERT INTO table_name (column1, column2) VALUES (value1, value2);-- 更新数据:UPDATE
UPDATE table_name SET column1 = value1 WHERE condition;-- 删除数据:DELETE
DELETE FROM table_name WHERE condition;

3. 数据查询语言(DQL)

用于查询数据:

-- 基本查询
SELECT column1, column2 FROM table_name;-- 带条件查询
SELECT * FROM table_name WHERE condition;-- 排序
SELECT * FROM table_name ORDER BY column_name ASC/DESC;-- 分组
SELECT column1, COUNT(*) FROM table_name GROUP BY column1;-- 连接查询
SELECT a.column1, b.column2 
FROM table1 a 
JOIN table2 b ON a.key = b.key;-- 子查询
SELECT * FROM table_name 
WHERE column_name IN (SELECT column_name FROM another_table);-- 聚合函数
SELECT COUNT(*), AVG(column_name), SUM(column_name) FROM table_name;-- 限制结果数量
SELECT * FROM table_name LIMIT 10;

4. 数据控制语言(DCL)

用于控制数据库访问权限:

-- 授权
GRANT privilege ON database.table TO user@host;-- 撤销权限
REVOKE privilege ON database.table FROM user@host;

5. 事务控制语言(TCL)

用于管理事务:

-- 开始事务
BEGIN TRANSACTION;  -- 或 START TRANSACTION;-- 提交事务
COMMIT;-- 回滚事务
ROLLBACK;-- 设置保存点
SAVEPOINT savepoint_name;-- 回滚到保存点
ROLLBACK TO SAVEPOINT savepoint_name;

在果实智选项目的duqu3.py脚本中,主要使用了DDL语句创建表结构和DML语句插入水果重量数据。

相关文章:

  • OpenCV CUDA模块图像过滤------创建一个盒式滤波器(Box Filter)函数createBoxFilter()
  • 从零开始的嵌入式学习day25
  • 时间序列预测的迁移学习
  • 学习黑客了解5分钟了解中间人攻击(MITM)
  • Redis面试题全面解析:从基础到底层实现
  • vLLM v1源码阅读 : 整体流程梳理(详细debug)
  • CAU人工智能class3 优化器
  • java 集合总结
  • 【Vue3】Vue3工程的创建 及 开发者工具的安装
  • 运维Web服务器核心知识与实战指南
  • 时源芯微|π型LC滤波电路
  • Vue3使用DataV报错无法使用的解决方案
  • 手术机器人行业新趋势:Kinova多机械臂协同系统如何突破复杂场景适应性瓶颈?
  • el-radio-group 与 el-dropdown 组合使用的注意事项
  • torch.matmul() VS torch.einsum()
  • 独占内存访问指令LDXR/STXR
  • Linux nbd 网络块设备(2)-内核实现
  • Universal Media Server (UMS)部署指南
  • 如何做好一份技术文档?
  • docker面试题(3)
  • 潍坊网站建设公司哪家好/百度seo建议
  • 中国制造网外贸站/建设网站
  • 做o2o网站需要多少钱/黄页88网站推广方案
  • 搬瓦工putty做网站/百度搜索排行榜
  • 猪八戒网怎么做网站/关键词搜索量怎么查
  • 编程软件推荐/seo百度发包工具