在我们要对数据库进行操作的时候,最难的是什么,没错,背很多很多的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
是要连接的两个表的名称,字段是要选择的列的名称。在 RIGHTJOIN
后面指定要连接的表的名称,然后在ON
关键字后面指定连接条件,即两个表中的列之间的等值关系。
多表查询就不给你们举例咯,就当成家庭作业去试试吧 !
以上就是《Mysql数据库各种增删改查语句》的全部内容咯!如果有什么想要说的,可以评论区留言或者私信我哦,如果这篇文章有帮助到你的话,希望点赞收藏加关注,你的支持就是我更新的最大动力,下篇文章见,886~