mysql:增删改查语句大全
作者:mmseoamin日期:2023-12-25

一、插入

1、 法一

insert into 表名(列名1,列名2,……)values(值1,值2,……);

insert into bbms.users (userid,username) values (‘123’,’张三一’);

2、 法二

insert into 表名 values (值1,值2,……)插入的顺序要跟表结构数据一样

3、 法三

insert into 表名 set 列名1=值1,列名2=值2,……;

4、 法四

多行同时插入 insert into 表名 select ……from ……;

SELECT 子句返回的是一个查询到的结果集,INSERT 语句将这个结果集插入指定表中,结果集中的每行数据的字段数、字段的数据类型都必须与被操作的表完全一致。

二、查询

1、 查询所有表中数据

select * from 表名;

2、 查询部分列

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

3、 给列起别名

select 列名1 别名1,列名2 别名2,…… from 表名; 注意

4、 去重:distinct 去掉重复的数据,重复是指完全一模一样的

select distinct * from 表名; 所有字段都一致,才是重复的

select distinct 列名1,列名2 …… from 表名;distinct后面的字段完全一致,才是重复的

5、 带查询语句的:where

一个查询条件的:=、>、<、<=、>=、!=、<>

多条件查询的:in、between...and..、and、or、not

模糊查询:like ,搭配通配符“%”,“_”一起使用

6、 查询前多少条 :limit

limit 2查询前两条,

limit 5,10 跳过前五条,查询后10条 select * from bbms.users u limit 2, 3 ;

分页sql:select * from table limit (start-1)*pageSize,pageSize;

7、 分组:group by :将查询结果按照1个或多个字段进行分组,字段值相同的为一组

group by + group_concat():表⽰分组之后,根据分组结果,使⽤group_concat()来放置每⼀组的某字段的值的集 合

group by + 集合函数(例如:avg、count等)

group by + having (having 条件表达式)

三、删除

1、 delete 用来删除表数据,表数据可以恢复

删除所有数据:delete from 表名;

删除特定的行:delete from 表名 where 条件;

2、 truncate 删除表数据,但是表结构依然存储,且数据不可恢复,也不能添加查询条件。

truncate table 表名;

3、 drop 不仅删除表数据,还删除表结构。如果要删除数据库、表、存储过程、自定义函数等,一般用drop

drop table 表名;

drop database 数据库名;

4、 使用别名

如果需要使用别名,需要在delete后面加上别名;否则会报错 delete u from bbms.users u where u.userid =’123’;

四、修改

1、 修改数据

update 表名 set 字段名1=值1,字段名2=值2,…… where 条件

2、 修改表结构

update table 表名 修改的动作语法

① 修改数据类型:alter table 表名 modify 字段 新数据类型

例:alter table user modify name varchar(50) not null;

② 修改字段名:alter table 表名 change 旧字段名 新字段名 新数据类型

例:alter table user change name u_name varchar(20) not null;

③ 添加主键:alter table 表名 add constraint 约束名字 约束类型(字段)

例:alter table user add constraint PK_user_id primary key(id);

④ 修改表名

例:rename table 旧表名 to 新表名

⑤ 添加唯一约束

alter table 表名 add unique(字段名)

⑥ 修改注释

--修改表注释 alter table bbms.users comment ‘用户表’;

--修改列注释 注意必须写上类型 否则改不了 alter table bbms.users modify column username varchar(200) comment ‘用户名’;

⑦ 新增字段 alter table bbms.users add column test1 varchar(200) not null default ‘0’ comment ‘预留字段1’;

⑧ 删除字段 alter table bbms.users drop column test3;

五、查看

1、查看所有表字段 show full columns from bbms.users;

2、查看建表语句 show create table bbms.users;

……