
欢迎 👍点赞 ➕关注 ❤️收藏 💬评论
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比任何值都来的小。
- 也可以多个字段同时进行排序,但是存在优先级顺序

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