博客
关于我
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中使用IN()查询到底走不走索引?
查看>>
Mysql中使用存储过程插入decimal和时间数据递增的模拟数据
查看>>
MySql中关于geometry类型的数据_空的时候如何插入处理_需用null_空字符串插入会报错_Cannot get geometry object from dat---MySql工作笔记003
查看>>
mysql中出现Incorrect DECIMAL value: '0' for column '' at row -1错误解决方案
查看>>
mysql中出现Unit mysql.service could not be found 的解决方法
查看>>
mysql中出现update-alternatives: 错误: 候选项路径 /etc/mysql/mysql.cnf 不存在 dpkg: 处理软件包 mysql-server-8.0的解决方法(全)
查看>>
Mysql中各类锁的机制图文详细解析(全)
查看>>
MySQL中地理位置数据扩展geometry的使用心得
查看>>
Mysql中存储引擎简介、修改、查询、选择
查看>>
Mysql中存储过程、存储函数、自定义函数、变量、流程控制语句、光标/游标、定义条件和处理程序的使用示例
查看>>
mysql中实现rownum,对结果进行排序
查看>>
mysql中对于数据库的基本操作
查看>>
Mysql中常用函数的使用示例
查看>>
MySql中怎样使用case-when实现判断查询结果返回
查看>>
Mysql中怎样使用update更新某列的数据减去指定值
查看>>
Mysql中怎样设置指定ip远程访问连接
查看>>
mysql中数据表的基本操作很难嘛,由这个实验来带你从头走一遍
查看>>
Mysql中文乱码问题完美解决方案
查看>>
mysql中的 +号 和 CONCAT(str1,str2,...)
查看>>
Mysql中的 IFNULL 函数的详解
查看>>