博客
关于我
MySQL常用SQL语句
阅读量:704 次
发布时间:2019-03-21

本文共 2203 字,大约阅读时间需要 7 分钟。

MySQL 数据操作语言(DML)与查询语言(DQL)全解析

在数据库开发中,数据操作语言(DML)与数据查询语言(DQL)是数据库管理中常用的工具。以下将从操作与查询两个方面深入阐述,涵盖具体操作语法与实用的查询技巧。


1. 数据操作语言(DML)概述

DML(Data Manipulation Language)主要用于对数据库中的数据进行增删改查操作。常用的命令包括INSERTDELETEUPDATE等。

1.1 插入数据(INSERT)

插入数据是数据库中最基础的操作,用于将新的记录插入表中。

-- 插入单一记录INSERT INTO tab_info (id, username, gender, borndate, weight) VALUES (9, 'twg', '男', '2019-12-14', 55.2);-- 插入多个记录INSERT INTO tab_info (id, username, gender, borndate, weight) VALUES (10, 'lst', '女', '2020-03-15', 65.5),(11, 'asd', '男', '2020-04-20', 78.8);

1.2 删除数据(DELETE)

删除数据有两种方式:简单删除和高效删除。

  • 简单删除(低效)
DELETE FROM tab_info WHERE id = 9;
  • 高效删除(TRUNCATE)
TRUNCATE TABLE tab_info;

1.3 修改数据(UPDATE)

修改数据要基于特定的条件。

-- 修改 username 和 weightUPDATE tab_info SET username = '唐微港', weight = 55.8 WHERE id = 9;

2. 数据查询语言(DQL)概述

DQL(Data Query Language)用于从数据库中 retrieving 数据,常用于数据分析与报表生成。

2.1 基本查询

  • 单列查询
SELECT username FROM tab_info;
  • 多列查询
SELECT id, username, gender FROM tab_info;
  • 添加别名
SELECT id 为 '用户ID', username 为 '用户名' FROM tab_info;
  • 条件查询
SELECT username, id FROM tab_info WHERE username = '唐微港';

2.2 分组与排序

  • 分组查询
SELECT username, gender FROM tab_info GROUP BY username, gender ORDER BY username DESC;

2.3 复杂查询

  • 子查询
SELECT * FROM tab_info WHERE borndate > (SELECT borndate FROM tab_info WHERE username = '唐微港');
  • 集合运算
SELECT title, price FROM tb_goods WHERE category IN (SELECT category FROM tb_category WHERE name = '手机');
  • 多表连接
SELECT a.title, b.name FROM tb_goods a JOIN tb_spec_param b ON a.spu_id = b.spuid;
  • 联合查询
SELECT a.title AS '手机', b.name AS '机器名称' FROM tb_goods a WHERE a.spu_id = 3 UNION SELECT b.model AS '型号' FROM tb_spec_param b WHERE b.cid = 5;

3. 数据库操作示例

以下是一些常见的数据库操作示例,供参考:

3.1 新增字段

ALTER TABLE tab_info ADD COLUMN school VARCHAR(255);

3.2 删除字段

ALTER TABLE tab_info DROP COLUMN school;

3.3 修改字段

ALTER TABLE tab_info MODIFY sex VARCHAR(2) NOT NULL;ALTER TABLE tab_info RENAME COLUMN sex TO gender;

3.4 查看表结构

DESC tab_info;

4. 高级查询技巧

  • 统计计算
SELECT COUNT(id) AS '总记录数', AVG(weight) AS '平均体重' FROM tab_info;
  • 过滤条件
SELECT * FROM tab_info WHERE borndate BETWEEN '2020-01-01' AND '2020-12-31';
  • 分区查询
SELECT username, id FROM tab_info WHERE substring(username, 1, 3) = '男';

通过以上操作,您可以熟练掌握数据库的基本操作与查询技巧。在实际项目中,合理利用这些工具能够显著提升工作效率,同时确保数据的准确性与完整性。

转载地址:http://rxqez.baihongyu.com/

你可能感兴趣的文章
Networkx读取军械调查-ITN综合传输网络?/读取GML文件
查看>>
NetworkX:是否为每个节点添加超链接?
查看>>
network小学习
查看>>
Netwox网络工具使用详解
查看>>
Net与Flex入门
查看>>
Net任意String格式转换为DateTime类型
查看>>
net包之IPConn
查看>>
net发布的dll方法和类显示注释信息(字段说明信息)[图解]
查看>>
Net和T-sql中的日期函数操作
查看>>
Net处理html页面元素工具类(HtmlAgilityPack.dll)的使用
查看>>
Net操作Excel(终极方法NPOI)
查看>>
Net操作配置文件(Web.config|App.config)通用类
查看>>
net网络查看其参数state_dict,data,named_parameters
查看>>
Net连接mysql的公共Helper类MySqlHelper.cs带MySql.Data.dll下载
查看>>
NeurIPS(神经信息处理系统大会)-ChatGPT4o作答
查看>>
neuroph轻量级神经网络框架
查看>>
Neutron系列 : Neutron OVS OpenFlow 流表 和 L2 Population(7)
查看>>
new Blob()实现不同类型的文件下载功能
查看>>
New Concept English three (35)
查看>>
NEW DATE()之参数传递
查看>>