数据库的常用操作
在IT行业这个发展更新速度很快的行业,只有不停止的学习,才不会被行业所淘汰。如果你是数据库学习者,那么本文《数据库的常用操作》就很适合你!本篇内容主要包括数据库的常用操作,希望对大家的知识积累有所帮助,助力实战开发!
一、技术起源
数据库操作,不管是服务端、前端、移动端,都或多或少的会涉及到数据的存储、查询、修改。所以作为一名开发者,数据库操作也是开发必备的一项技能。
SQL全称是Structured Query Language,翻译后就是结构化查询语言,是一种数据库查询和设计语言,用于存取数据与及查询、更新和管理关系数据库系统。
常见的数据库有MySQL、SQLServer、ORACLE、DB2等等。
二、数据库基础
数据库操作概览图:

数据库的基本操作步骤:
- 1、创建数据库
- 2、连接(打开)数据库
- 3、创建表
- 4、往表中加入数据
- 5、更新数据、查询数据、删除数据
- 6、断开(关闭)数据库
1、建表(CREATE TABLE)
CREATE TABLE emp ( id int NOT NULL PRIMARY KEY, //添加主键 name varchar(20), gender varchar(2), performance int, salary double )
如果创建表后,忘记添加主键或者外键,可以使用ALERT添加。
ALERT TABLE emp ADD PRIMARY KEY(id); //添加主键 ALERT TABLE orders ADD FOREIGN KEY (e_id) REFERENCE emp(id); //添加外键
2、INSERT(插入)
向表中加入数据。
//向emp 表中插入一条数据,插入字符串时使用'' INSERT INTO emp VALUES(1, 'yijie', 'male', 85, 18000.0);
向表中插入数据的标准格式是:
insert into tableName(column1, column2...) values('value1', 'value2'...)
3、UPDATE(更新)
更新表中的数据。
update emp set salary=20000 where name='yijie';
4、DELETE (删除)
delete from emp where id=8;//删除表中的某条数据,where后面的为条件 delete * from emp;//删除表中的所有数据,清空表 drop table 表名称; //删除某张表
注意:在使用delete删除表中数据时,如果该表与其他表有关联关系,如:外键,得先删除关联表中的外键。
5、DISTINCT(去重)
一张表经过一段时间的操作,避免不了会出现数据重复的情况。重复的数据不仅没有意义,而且占用存储空间。这个时候distinct就悄然登场了。distinct用于根据条件去除表中的重复内容。
//查询emp中的name,返回唯一的名字 select distinct name from emp;
6、Select (查询)
查询是数据库操作中最常用的操作,也是最难的。select语句用于从表中查询数据,结果被存储在一个结果表中(称为结果集)。
SELECT 语法:
SELECT 列名称 FROM 表名称; //查询表中的某列数据
SELECT * FROM 表名称; //查询整张表
还有更为复杂的条件查询。
三、基础函数
数据库还为我们提供了一些函数,方便我们进行数据库操作。这些基础函数基本都是列名为函数参数,返回某一列的计算结果。
1.AVG()平均值
avg()用于返回某列的平均值,NULL不包含在计算中。
select AVG(salary) as avg_salary form emp; //查询员工的平均薪水
2.COUNT()
COUNT函数用于返回匹配指定条件的行数。
select COUNT(*) from emp; //返回表的记录数
3.MAX()
MAX函数返回指定列的最大值,NULL字不包括在计算中。
4.MIN()
MIN函数返回指定列的最小值,NULL字不包括在计算中。
5.SUM()
SUM函数返回指定列的总数。
6.ROUND()
ROUND函数用于把数值字段舍入为指定的小数位数。
select ROUND(salary,1) as n_salary from emp; //将salary保留一位小数
select ROUND(column_name,decimals) from table_name;
| 参数 | 描述 |
|---|---|
| column_name | 要舍入的字段 |
| decimals | 规定要返回的小数位数 |
7.FORMAT()
FORMAT用于对指定字段的显示进行格式化。
SELECT FROMAT(column_name,format) FROM table_name;
| 参数 | 描述 |
|---|---|
| column_name | 要格式化的字段 |
| format | 指定的格式 |
四、高级用法
还有一些SQL的高级用法,分页、模糊匹配、排序等等。
1.分页(LIMIT)
分页查询就是返回返回当前页码对应的页面的数据。
分页查询的基本公式:(page - 1) * pageSize + 当前页要显示的数据条数
select * from emp limit 4; //返回前4条数据
2.模糊匹配(LIKE)
模糊匹配是配合where条件使用的。
//%可以理解为定义通配符 select * from emp where name like 'a%'; //返回以a开头的所有姓名
3.IN
返回特定列在某个集合中的所有数据。
select * from emp where name in ('AA', 'BB'); //返回name为AA、BB的所有数据。
4.JOIN
联表运算符JOIN,用于将两个或者两个以上的表进行关联,并从这些表中查询数据。
常用的几种连接方式:
- INNER JOIN: 内连接。
- LETF JOIN:就算右表中没有匹配,也从左表中返回所有的行。
- RIGHT JOIN:就算左表中没有匹配,也从右表中返回所有的行。
- FULL JOIN:只要有一个表存在就返回。
5.UNION
UNION运算符用于合并两个或多个SELECT语句的结果集。
UNION内部的SELECT语句必须具有相同数量的列,列也必须具有相似的数据类型。同时,每条SELECT语句中列的顺序必须相同。
6.AUTO_INCREMENT(自增)
一般用于修饰主键,使其保持自增。
7.ORDER BY (排序)
使用order by对查询结果进行排序,默认是升序。
- ASC:升序(从小到大)
- DESC:降序(从大到小)
select * from emp order by name;
8.GROUP BY
通常匹配合计函数使用,根据一个或者多个列队结果集进行分组。
9.HAVING
用于给分组设置条件。
10.DEFAULT
default约束用于向列中插入默认值。
写在最后
本文是对数据库中经常用到的一些写法与及函数的归纳总结,方便以后用到的时候能够快速查询到。
题外话:主要是前段时间去面试的时候,被问到修改一条数据的语句怎么写时,竟然没有回到上来,所以决定对数据库的常用操作做一个总结。
终于介绍完啦!小伙伴们,这篇关于《数据库的常用操作》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布数据库相关知识,快来关注吧!
商品、订单、购物车和订单商品快照的关系,初步了解成为架构师的思想
- 上一篇
- 商品、订单、购物车和订单商品快照的关系,初步了解成为架构师的思想
- 下一篇
- MySql忘记root的登陆密码,该如何操作 ?
-
- 灵巧的吐司
- 受益颇多,一直没懂这个问题,但其实工作中常常有遇到...不过今天到这,帮助很大,总算是懂了,感谢老哥分享文章!
- 2023-01-26 18:51:41
-
- 矮小的大雁
- 太细致了,码住,感谢楼主的这篇技术贴,我会继续支持!
- 2023-01-19 20:36:31
-
- 和谐的山水
- 这篇博文太及时了,太全面了,赞 ??,码起来,关注楼主了!希望楼主能多写数据库相关的文章。
- 2023-01-16 17:26:09
-
- 数据库 · MySQL | 1星期前 | MySQL · 慢查询 · 索引优化 · COUNT查询 · 汇总表 · 联合索引 覆盖索引 汇总表 MySQL COUNT慢 COUNT(*)优化
- MySQL COUNT(*) 总数查询变慢怎么办:从扫描行数到汇总表的完整治理流程
- 329浏览 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 485次学习
-
- ljg-skills
- ljg-skills 是李继刚开源的 AI 技能与提示词集合,面向大模型使用者整理了一批可复用的 prompt、角色设定和任务技能模板,适合用于学习提示词设计、搭建个人 AI 工作流和沉淀团队常用智能体能力。
- 2219次使用
-
- MELO音乐
- MELO音乐是一站式AI视频与音乐制作助手,对标suno, udio的高品质体验。提供伴奏生成、原创写词、无损导出、哼唱识曲、混音变声等全套音频与短视频编辑工具。无论是流行Kpop、电音说唱、民谣古风、摇滚儿歌还是商用轻音乐,MELO为你免费谱曲,轻松做同款!
- 2031次使用
-
- UniScribe
- UniScribe 是一款 AI 音视频转文字与内容整理工具,支持上传音频、视频文件或粘贴 YouTube 链接,自动生成转写文本、摘要、思维导图和关键问题,并支持多格式导出,适合会议记录、课程学习、访谈整理和内容创作复盘。
- 1986次使用
-
- 剧云
- 剧云是专业中文剧本创作平台,安全稳定运行十余年,集成AI编剧、剧本医生审核、人物小传、剧情关系图、大纲编写、多人协作、Word导入导出、版权管控功能,数据安全防护,轻松高效创作剧本。
- 2199次使用
-
- 万象有声
- 万象有声,一个专为有声创作者打造的新一代智能有声内容创作平台。平台提供专业的智能拆章、智能画本编辑、AI配音、AI生成音效、后期制作、智能对轨、智能审听等有声创作全流程工具,可以帮助创作者高效、低成本创作出引人入胜的有声作品。立即体验,让有声书制作更简单!
- 2161次使用
-
- Linux系统下如何安装Mysql(centOS7以上不支持Mysql)
- 2023-01-16 100浏览
-
- 在windows上用docker desktop安装StoneDB
- 2023-01-20 100浏览
-
- 总结 mysql 一些小技巧
- 2023-01-21 100浏览
-
- MySQL如何给大表加索引
- 2023-01-26 100浏览
-
- 积分商城简要设计
- 2023-02-17 100浏览

