Mysql数据库各种增删改查语句

2023-12-22 06:23:58

一、引言

? ? ? ? 在我们要对数据库进行操作的时候,最难的是什么,没错,背很多很多的sql语句,所以本文就将所有经常用到的sql语句都总和在这篇文章里面,就不用每天都要去查找了,本文干货满满,可以收藏不迷路哦!

如果内容太多找不到可以点击旁边的目录直达内容哦

二、增

mysql数据库可以单个插入数据,也可以多个插入数据

1.insert into添加单个数据

语法:

insert into 表名(字段1,字段2,字段3...)?values(值1,值2,值3...);

示例:

?insert into user(id,username,password)?values(1,'胡图图','123456789');

//插入id为1,username为胡图图,密码为123456789的数据

小知识:

1.还有一种insert?ignore?into语句,他和insert into的区别在于,他可以自动识别插入的数据是否存在,如果存在,会忽略该插入操作,而不是报错。

2.数据表中自增的字段不用手动插入

3.数据的字段不一定都要写完,没有设置非空的字段插入语句不写也不会报错

2.insert into添加多个数据

语法:

insert into 表名(字段1,字段2,字段3...)?values(值1,值2,值3...),

(值1,值2,值3...),

(值1,值2,值3...);

示例:?

?insert into user(id,username,password)?values(1,'胡图图','123456789'),

(2,'胡英俊','123456789'),

(3,'张小丽','123456789');

三、删?

1.delete删除符合条件的数据

语法:

delete?from?表名 where 条件;

示例:

?delete?from user?where username='胡图图';

//删除user表中username为胡图图的数据

2.删除表数据?

? ? ? ? 2.1、DELETE语句删除表数据

? ? ? ? 语法:

? ? ? ? delete?from 表名;

? ? ? ? 示例:

? ? ? ??delete?from user;

? ? ? ? //删除user表中的数据

? ? ? ? 2.2、?TRUNCATE语句删除表数据

? ? ? ? 语法:

? ? ? ? ? truncate?table 表名;

? ? ? ? 示例:?

??????????truncate?table user;

? ? ? ? //删除user表整个表以及数据

小知识:?

delete语句和truncate语句的区别:

????????delete只删除整个表的数据,但是表(结构)仍然还在

????????truncate是会删除整个表,数据与表本身都会删除? ? ? ??

四、改

MySQL中修改数据的语句主要有UPDATE和ALTER

1.update语句:用于修改表中的数据

语法:

UPDATE 表名 SET 列名1 = 值1, 列名2 = 值2, ... WHERE 条件;

示例:

UPDATE user?SET age = 26 WHERE username = '胡图图';?

//修改user表中username为胡图图的用户数据的age为26

2. alter语句:用于修改表结构

语法:

ALTER TABLE 表名 ADD 列名 数据类型;

示例:?

ALTER TABLE user?ADD email VARCHAR(50);

//修改表结构,给表添加一个字段为email,数据类型为varchar(50)

?注意:update负责修改表数据,而alter负责修改表结构,不要搞混淆咯!!!

五、查

说到查询那真的是比较多了,不过没关系,我会把经常用到的所有查询语句都写下来

1.简单查询

语法:

select 字段 from 表名

使用*代表全部字段,使用字段就只查询到字段的值

?示例:

select *?from user;//查询user表里的全部数据

select id,username from user;//查询user表里的所有的用户的id与username的数据

2.where条件查询?

where为关键字,通常写在表名之后

语法:

select 字段?from 表名 where 条件

示例:

select * from user where id = 1;

//查询user表中id为1的用户的所有数据

3.like模糊查询?

like为关键字,通常位于条件字段之后

%为通配符用于匹配任意字符序列,如果你不使用%,那么like就和=差不多了

一、%位于字段之后

语法:

SELECT 字段?FROM 表名?WHERE username LIKE '需要模糊查询的字段%';

示例:

SELECT * FROM USER WHERE username LIKE 'chandler%';

//查询user表中username以chandler开头的用户的所有数据

?二、%位于字段之前

语法:

SELECT 字段?FROM 表名?WHERE username LIKE '%需要模糊查询的字段';

示例:?

SELECT * FROM USER WHERE username LIKE '%chandler';

//查询user表中username以chandler结尾的用户的所有数据

三、%位于字段中间?

语法:

SELECT 字段?FROM 表名?WHERE username LIKE '%需要模糊查询的字段%';

示例:?

SELECT * FROM USER WHERE username LIKE '%chandler%';

//查询user表中username包含chandler的用户的所有数据

4.order by排序查询?

关键字为order by与asc,desc,通常位于表名之后

排序分为两种,升序(asc)和降序(desc)

语法:

select 字段 from 表名 order by 字段 排序方式;

示例:

?select * from user?order by id asc;

//按id的升序查询user表中的所有用户数据

5.between...and...范围查询?

between...and...为关键字,通常位于条件字段之后

语法:

select 字段 from 表名 where 字段 between 范围1 and 范围2;?

示例:?

select * from user?where id?between 1?and 5;

//查询user表中id1到5的用户的所有数据

6.limit限制查询?

limit为关键字,通常位于表名之后

语法:

select 字段 from 表名 limit a,b;

//a表示从多少行数据开始,b代表从a行开始一共获取多少行数据

示例 :

select * from user?limit 5,2;

//表示查询从user表的第五行数据开始获取两行的全部数据

7.嵌套查询?

嵌套查询没有关键字,它的本质是一个查询包含一个查询,实现嵌套查询

语法:

?select *?from user where username (in/=)?(select username from student where id = 1)//如果子查询结果为多个,可以用in来匹配多个条件

?示例:

select *?from user where username in (select username from student where password='12345678')

8.多表查询?

MySQL的多表查询是指在一次查询操作中,同时涉及多个表的数据检索。它允许你通过指定的条件将多个表关联起来,并从这些表中获取所需的数据。多表查询在数据库管理中非常常见,特别是在处理关联数据时。

多表查询的基本概念是使用JOIN操作符将多个表连接起来。MySQL支持多种类型的JOIN操作,包括INNER JOIN(内连接)、LEFT JOIN(左连接)、RIGHT JOIN(右连接)和FULL JOIN(全连接)。全连接mysql不支持

一、内连接?

语法:

SELECT 字段?FROM 表1 INNER JOIN 表2 ON 表1.字段 = 表2.字段;

//表1?和?表2?是要连接的两个表的名称,字段是要选择的列的名称。在?INNER JOIN?后面指定要连接的表的名称,然后在?ON?关键字后面指定连接条件,即两个表中的列之间的等值关系。

?二、左连接

语法:

SELECT 字段?FROM 表1 LEFT JOIN 表2 ON 表1.字段 = 表2.字段;

//表1?和?表2?是要连接的两个表的名称,字段是要选择的列的名称。在?LEFT JOIN?后面指定要连接的表的名称,然后在?ON?关键字后面指定连接条件,即两个表中的列之间的等值关系。


三、右连接?

语法:

SELECT 字段?FROM 表1 RIGHT JOIN 表2 ON 表1.字段?= 表2.字段;

//表1?和?表2?是要连接的两个表的名称,字段是要选择的列的名称。在 RIGHT?JOIN?后面指定要连接的表的名称,然后在?ON?关键字后面指定连接条件,即两个表中的列之间的等值关系。

多表查询就不给你们举例咯,就当成家庭作业去试试吧 !

END:

以上就是《Mysql数据库各种增删改查语句》的全部内容咯!如果有什么想要说的,可以评论区留言或者私信我哦,如果这篇文章有帮助到你的话,希望点赞收藏加关注,你的支持就是我更新的最大动力,下篇文章见,886~

文章来源:https://blog.csdn.net/weixin_74250204/article/details/135126896
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。