? ? ? ? 在我们要对数据库进行操作的时候,最难的是什么,没错,背很多很多的sql语句,所以本文就将所有经常用到的sql语句都总和在这篇文章里面,就不用每天都要去查找了,本文干货满满,可以收藏不迷路哦!
如果内容太多找不到可以点击旁边的目录直达内容哦
mysql数据库可以单个插入数据,也可以多个插入数据
语法:
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.数据的字段不一定都要写完,没有设置非空的字段插入语句不写也不会报错
语法:
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');
语法:
delete?from?表名 where 条件;
示例:
?delete?from user?where username='胡图图';
//删除user表中username为胡图图的数据
? ? ? ? 语法:
? ? ? ? delete?from 表名;
? ? ? ? 示例:
? ? ? ??delete?from user;
? ? ? ? //删除user表中的数据
? ? ? ? 语法:
? ? ? ? ? truncate?table 表名;
? ? ? ? 示例:?
??????????truncate?table user;
? ? ? ? //删除user表整个表以及数据
小知识:?
delete语句和truncate语句的区别:
????????delete只删除整个表的数据,但是表(结构)仍然还在
????????truncate是会删除整个表,数据与表本身都会删除? ? ? ??
MySQL中修改数据的语句主要有UPDATE和ALTER
语法:
UPDATE 表名 SET 列名1 = 值1, 列名2 = 值2, ... WHERE 条件;
示例:
UPDATE user?SET age = 26 WHERE username = '胡图图';?
//修改user表中username为胡图图的用户数据的age为26
语法:
ALTER TABLE 表名 ADD 列名 数据类型;
示例:?
ALTER TABLE user?ADD email VARCHAR(50);
//修改表结构,给表添加一个字段为email,数据类型为varchar(50)
?注意:update负责修改表数据,而alter负责修改表结构,不要搞混淆咯!!!
说到查询那真的是比较多了,不过没关系,我会把经常用到的所有查询语句都写下来
语法:
select 字段 from 表名
使用*代表全部字段,使用字段就只查询到字段的值
?示例:
select *?from user;//查询user表里的全部数据
select id,username from user;//查询user表里的所有的用户的id与username的数据
where为关键字,通常写在表名之后
语法:
select 字段?from 表名 where 条件
示例:
select * from user where id = 1;
//查询user表中id为1的用户的所有数据
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的用户的所有数据
关键字为order by与asc,desc,通常位于表名之后
排序分为两种,升序(asc)和降序(desc)
语法:
select 字段 from 表名 order by 字段 排序方式;
示例:
?select * from user?order by id asc;
//按id的升序查询user表中的所有用户数据
between...and...为关键字,通常位于条件字段之后
语法:
select 字段 from 表名 where 字段 between 范围1 and 范围2;?
示例:?
select * from user?where id?between 1?and 5;
//查询user表中id1到5的用户的所有数据
limit为关键字,通常位于表名之后
语法:
select 字段 from 表名 limit a,b;
//a表示从多少行数据开始,b代表从a行开始一共获取多少行数据
示例 :
select * from user?limit 5,2;
//表示查询从user表的第五行数据开始获取两行的全部数据
嵌套查询没有关键字,它的本质是一个查询包含一个查询,实现嵌套查询
语法:
?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')
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
?关键字后面指定连接条件,即两个表中的列之间的等值关系。
多表查询就不给你们举例咯,就当成家庭作业去试试吧 !
以上就是《Mysql数据库各种增删改查语句》的全部内容咯!如果有什么想要说的,可以评论区留言或者私信我哦,如果这篇文章有帮助到你的话,希望点赞收藏加关注,你的支持就是我更新的最大动力,下篇文章见,886~