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

你可能感兴趣的文章
Mysql5.6主从复制-基于binlog
查看>>
MySQL5.6忘记root密码(win平台)
查看>>
MySQL5.6的Linux安装shell脚本之二进制安装(一)
查看>>
MySQL5.6的zip包安装教程
查看>>
mysql5.7 for windows_MySQL 5.7 for Windows 解压缩版配置安装
查看>>
Webpack 基本环境搭建
查看>>
mysql5.7 安装版 表不能输入汉字解决方案
查看>>
MySQL5.7.18主从复制搭建(一主一从)
查看>>
MySQL5.7.19-win64安装启动
查看>>
mysql5.7.19安装图解_mysql5.7.19 winx64解压缩版安装配置教程
查看>>
MySQL5.7.37windows解压版的安装使用
查看>>
mysql5.7免费下载地址
查看>>
mysql5.7命令总结
查看>>
mysql5.7安装
查看>>
mysql5.7性能调优my.ini
查看>>
MySQL5.7新增Performance Schema表
查看>>
Mysql5.7深入学习 1.MySQL 5.7 中的新增功能
查看>>
Webpack 之 basic chunk graph
查看>>
Mysql5.7版本单机版my.cnf配置文件
查看>>
mysql5.7的安装和Navicat的安装
查看>>