当前位置: 首页 > 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语句插入水果重量数据。

http://www.xdnf.cn/news/565255.html

相关文章:

  • Python学习——执行python时,键盘按下ctrl+c,退出程序
  • 系分论文《论软件系统安全分析和应用》
  • 如何使用deepseek帮助自己的工作
  • Dynamics 365 Business Central Azure application registration
  • 【泛微系统】后端开发Action常用方法
  • 新浪、京东golang一面整理
  • 大模型微调与高效训练
  • 网络安全-等级保护(等保) 2-0 等级保护制度现行技术标准
  • Debian重装系统后
  • JS进阶学习04
  • 红蓝对抗中的网络安全设备操作手册
  • 算法竞赛板子
  • 强化学习鱼书(7)——神经网络和Q学习
  • 探究国际数字影像产业园人才培育高地的建设成效​
  • vue3+uniapp中使用高德地图实现撒点效果
  • Flutter 中 build 方法为何写在 StatefulWidget 的 State 类中
  • 双检锁(Double-Checked Locking)单例模式
  • Axure应用交互设计:动态面板嵌套实现超强体验感菜单表头
  • Jenkins (七) - Docker Harbor
  • DeepSeek赋能智能家居:构建高智能、低延迟的物联网生态
  • 使用Starrocks制作拉链表
  • Typescript总结篇——配置TS、基础知识(类型、接口、类型别名、泛型、extendsinfer关键字)
  • OOP和软件设计中的五大核心设计原则——SOLID原则
  • 8.2 线性变换的矩阵
  • Isaac Sim及Isaac Lab的安装与部署
  • 结构体对齐规则与优化
  • openlayer:07点击实现切换图层之addLayer
  • 学习笔记:黑马程序员JavaWeb开发教程(2025.4.8)
  • 数据集下载并保存本地进行加载
  • Python----循环神经网络(Word2Vec)