MySQL:CRUD(上)

1. CRUD概念

CRUD指的是对数据表数据的增删查改操作,C---》Create ; R---》Retrieve ; U---》Update ; D---》Delete ;CRUD可以与条件(where)配合使用,但"CRUD(上)"不讲包含条件的CRUD指令。

2. Create(新建)

2.1 语法

INSERT [INTO] table_name [(column [, column] ...)] VALUES (value_list) [, (value_list)] ...
value_list: value, [, value] ...

2.2 插入数据 (insert)

2.2.1 指定列插入

数据类型与列不匹配会报错。

2.2.2 全列插入

其实上面的**insert into book(book_name,book_price) values...;**也是全列插入,因为指定的列已经是表中全部的列了。

当我们不在表名后指定列插入,默认为全列插入:

Insert into book values('张三列传',123);

列、值不匹配:

2.2.3 一次插入多条数据

不管是指定列插入,还是全列插入,插入多条数据的方式都一样。

我去,打错字了,应该是"大圣出世"。。。

这样的形式:values(),(),()....;

3. Retrieve(检索)

3.1 语法

这个语法看起来有点复杂,我们不必纠结,直接看下面的查询 (检索)示例,看完再回头看语法就能理解了。(使用条件的查询,也就是包含第二行开始到最后的一行,使用到条件的查询语句都不讲,在**CRUD(下)**讲)

SELECT [DISTINCT] select_expr [, select_expr] ... [FROM table_references]

WHERE *where_condition*

GROUP BY {*col_name* \| *expr*}, ...

HAVING *where_condition*

ORDER BY {*col_name* \| *expr*} \[ASC \| DESC\], ...

LIMIT {\[*offset*,\] *row_count* \| *row_count*OFFSET *offset*}

3.2 查询数据 (select)

3.2.1 指定列查询

select 列名1[,列名2,...] from 表名;

列名之间用英文逗号分隔。

3.2.2 全列查询

其实,在前面我们已经见过全列查询语法了:

select * from 表名;

* 是通配符,意为查询表中所有的列。

3.2.3 查询字段为表达式

又叫字段。查询列为表达式:

select 列名1,表达式 from 表名;

select子句中可只有表达式或同时包含表达式和列名。

查询中的表达式还可以这样:

计算总分

每人数学成绩加5分:

3.2.4 为查询结果指定别名

上面个那个计算总分的表达式查询,是不是不太美观或不太直观------》查出来的总分列列名就写着Chinese+math+english。这时我们的别名就派上用场了:

语法:

select 列名 [as] 别名 from 表名;

需要注意的是,当列名中有空格的话要使用英文单引号包裹,如:'总 分'。其实标准中别名都是要用单引号包裹的,但实际中不太会这样做。

3.2.5 结果去重查询

语法:

select distinct 列名1,列名2 from 表名;

应用:

注意:distinct的去重是指,查询出的数据行每列数据都相同,才会进行去重。

下面这张就不会去重,因为孙悟空与弼马温的id不同:

Update(修改)、Delete和条件等知识都在**CRUD(下),**本篇不方便讲。

相关推荐
爱码小白7 小时前
MySQL索引与SQL优化
大数据·数据库·python
2303_821287387 小时前
MySQL行锁和表锁如何区分_通过explain查看锁等待机制.txt
jvm·数据库·python
是垚不是土7 小时前
PostgreSQL 运维工程师 “一本通“ :安装、配置、备份与监控
linux·运维·数据库·postgresql·运维开发
i220818 Faiz Ul7 小时前
宠物猫之猫咖管理系统|基于java + vue宠物猫之猫咖管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·宠物猫之猫咖管理系统
OceanBase数据库官方博客7 小时前
OceanBase seekdb-cli:专为 AI Agent 设计的数据库接口
数据库·人工智能·oceanbase
i220818 Faiz Ul7 小时前
二手交易系统|基于springboot + vue二手交易系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·二手交易系统
kexnjdcncnxjs8 小时前
如何在Navicat中创建基础数据表_可视化图形界面操作指南
jvm·数据库·python
m0_740796368 小时前
CSS如何兼容新旧方案结合响应式容器查询
jvm·数据库·python
IronMurphy8 小时前
Redis拷打第三讲
数据库·redis·mybatis
楠枬8 小时前
Redis 哨兵
数据库·redis