博客
关于我
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/

你可能感兴趣的文章
mysql 字段区分大小写
查看>>
mysql 字段合并问题(group_concat)
查看>>
mysql 字段类型类型
查看>>
MySQL 字符串截取函数,字段截取,字符串截取
查看>>
MySQL 存储引擎
查看>>
mysql 存储过程 注入_mysql 视图 事务 存储过程 SQL注入
查看>>
MySQL 存储过程参数:in、out、inout
查看>>
mysql 存储过程每隔一段时间执行一次
查看>>
mysql 存在update不存在insert
查看>>
Mysql 学习总结(86)—— Mysql 的 JSON 数据类型正确使用姿势
查看>>
Mysql 学习总结(87)—— Mysql 执行计划(Explain)再总结
查看>>
Mysql 学习总结(88)—— Mysql 官方为什么不推荐用雪花 id 和 uuid 做 MySQL 主键
查看>>
Mysql 学习总结(89)—— Mysql 库表容量统计
查看>>
mysql 实现主从复制/主从同步
查看>>
mysql 审核_审核MySQL数据库上的登录
查看>>
mysql 导入 sql 文件时 ERROR 1046 (3D000) no database selected 错误的解决
查看>>
mysql 导入导出大文件
查看>>
mysql 将null转代为0
查看>>
mysql 常用
查看>>
MySQL 常用列类型
查看>>