【MySQL】表的增删查改(CRUD)(上)

个人主页♡喜欢做梦

欢迎 👍点赞 ➕关注 ❤️收藏 💬评论


CRUD:Create(新增数据)、Retrieve(查询数据)、Update(修改数据)、Delete(修改数据)

✨一、新增数据(Create)

语法:

sql 复制代码
INSERT [INTO] table_name
 [(column [, column] ...)]
VALUES (value_list) [, (value_list)] ...
value_list: value, [, value] ...
  • 大写表示关键字;

  • \]表示可写可不写;

  • 查看数据:

select* from 表名

示例:查看courses表中的数据

我还未在select表中添加数据,所以显示为空。

🌟1.单行添加+全列插入

  • ++写法一:++

intsert [into] 表名 [(字段1,字段2...)]values(值1,值2...);

示例1:

查看数据:

  • ++写法二:简写++

insert [into] 表名 values(值1,值2....);

示例:

查询数据:

🌟2.多行添加+指定列插入:

insert [into] 表名 [字段1,字段2] values(值1,值2)[,(值1,值2),(值1,值2)];

  • 多行添加用逗号隔开;
  • 与单行添加相似,可以该省的省

示例:

查看数据:

注意:

  • into和字段可写可不写;
  • 字符要加单引号;
  • 值要与字段(列数)相对应,否则会报错;

✨二、查询数据

语法:

sql 复制代码
SELECT
 [DISTINCT] {* | {column [, column] ...} 
 [FROM table_name]
 [WHERE ...]
 [ORDER BY column [ASC | DESC], ...]
 LIMIT ...

💫全列查询

在之前我们其实已经学会了全列查询也就是:

select * from 表名;

  • select和from表示关键词;
  • * 表示要查询表中的所有列;
  • 如果在生产环境中,查询表是一个很危险的操作, 因为其有庞大的数据量。

示例:

sql 复制代码
mysql> select * from exam;
+------+--------+---------+------+---------+
| id   | name   | chinese | math | english |
+------+--------+---------+------+---------+
|    1 | 张三   |    67.0 | 80.0 |    88.0 |
|    2 | 李四   |    87.0 | 55.0 |    66.0 |
|    3 | 小五   |    91.0 | 90.0 |    96.0 |
|    4 | 小六   |    48.0 | 32.0 |    55.0 |
+------+--------+---------+------+---------+
4 rows in set (0.05 sec)

💫指定列查询

select 字段1,字段2... from 表名;

示例:

sql 复制代码
mysql> select id,name,math from exam;
+------+--------+------+
| id   | name   | math |
+------+--------+------+
|    1 | 张三   | 80.0 |
|    2 | 李四   | 55.0 |
|    3 | 小五   | 90.0 |
|    4 | 小六   | 32.0 |
+------+--------+------+
4 rows in set (0.00 sec)

💫查询字段为表达式

表达式是有数字、变量、运算符、函数等一定规则组合成的式子,例如,2,2+3,x/3等.....

selsect 字段1,字段2,表达式 from 表名;

  • 写法一:表达式中不包含字段

示例:

  • 写法二:表达式中包含一个字段

示例:

  • null与任何数运算都为null
  • 写法三:表达式包含多个字段

示例:

注意:

  • 指定列的顺序与表的顺序无关;
  • 除表达式外,如果查找该表中不存在的字段名,那么就会报错;

💫为查询结果指定别名

语法:

sql 复制代码
SELECT column [AS] alias_name [...] FROM table_name;

示例:

  • 不指定别名前:
  • 指定别名后:
  • as可以省略,但是要空一格;
  • 如果别名之间有空格需要加上单引号

💫去重查询

select distinct 字段1,字段2.... from 表名;

先查看一下表中的数据

示例: 接下来对chinese、math、english中的元素进行去重

如果我们要同时加上id,name并且对chinese、math、english中的元素进行去重,看一下是否可以成功?

这是为什么呢?

因为如果要去重的话,对重复行的要求是,你指定列上的元素要全部相同。

💫排序

select 列名 from 表名 order by 列名[asc|desc];

  • asc表示升序,从上至下依次从小到大排序;
  • desc表示降序,从上至下依次从大到小排序;
  • 如果都不写默认升序,但最好不要依赖系统给的默认排序;
  • 可以使用表达式和别名进行排序。

示例:

  • NULL比任何值都来的小。
  • 也可以多个字段同时进行排序,但是存在优先级顺序

查询的内容有点小多,下篇下继续写🌹🌹🌹

相关推荐
骇客野人6 小时前
mysql笛卡尔积怎么形成的怎么避免笛卡尔积
数据库·mysql
m0_564264187 小时前
IDEA DEBUG调试时如何获取 MyBatis-Plus 动态拼接的 SQL?
java·数据库·spring boot·sql·mybatis·debug·mybatis-plus
隐语SecretFlow8 小时前
隐语SecreFlow SCQL 1.0.0b1 发布:更完善的 SQL 支持与更高效的隐私查询引擎
数据库·sql
ttghgfhhjxkl9 小时前
文档搜索引擎搜索模块的索引更新策略:实时增量与全量重建设计
数据库·搜索引擎
老华带你飞9 小时前
机器人信息|基于Springboot的机器人门户展示系统设计与实现(源码+数据库+文档)
java·数据库·spring boot·机器人·论文·毕设·机器人门户展示系统
StarRocks_labs9 小时前
StarRocks 在 Cisco Webex 的探索与实践
数据库·starrocks·json·存算分离·olap 技术栈
notion20259 小时前
Adobe Lightroom Classic下载与安装教程(附安装包) 2025最新版详细图文安装教程
java·数据库·其他·adobe
unicrom_深圳市由你创科技9 小时前
用 CTE 重构嵌套子查询:让复杂报表 SQL 可读性提升 80%
mysql·重构
楚枫默寒9 小时前
mongodb备份脚本(单机+副本集)
数据库
小蒜学长10 小时前
springboot酒店客房管理系统设计与实现(代码+数据库+LW)
java·数据库·spring boot·后端