博客
关于我
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 优化 or
查看>>
mysql 优化器 key_mysql – 选择*和查询优化器
查看>>
MySQL 优化:Explain 执行计划详解
查看>>
Mysql 会导致锁表的语法
查看>>
mysql 使用sql文件恢复数据库
查看>>
mysql 修改默认字符集为utf8
查看>>
Mysql 共享锁
查看>>
MySQL 内核深度优化
查看>>
mysql 内连接、自然连接、外连接的区别
查看>>
mysql 写入慢优化
查看>>
mysql 分组统计SQL语句
查看>>
Mysql 分页
查看>>
Mysql 分页语句 Limit原理
查看>>
MySql 创建函数 Error Code : 1418
查看>>
MySQL 创建新用户及授予权限的完整流程
查看>>
mysql 创建表,不能包含关键字values 以及 表id自增问题
查看>>
mysql 删除日志文件详解
查看>>
mysql 判断表字段是否存在,然后修改
查看>>
MySQL 到底能不能放到 Docker 里跑?
查看>>