MySQL常用语句汇总
创始人
2024-01-30 19:00:51
0

一、背景

日常测试开发工作中会用到各类SQL语句,很多时候都是想用的时候才发现语句细节记不清楚了,临时网上搜索SQL语法,挺费时费力的,语法还不一定是对的。因此汇总整理了一下MySQL最常用的各类语句,以后就不用再到处去搜了。

二、各类SQL语句

假设想要的表结构如下:
在这里插入图片描述

1. 创建表:

CREATE TABLE IF NOT EXISTS `mq_info` ( `id` INT(12) UNSIGNED AUTO_INCREMENT COMMENT 'mq信息数据库自增id',`topic` VARCHAR ( 255 ) NOT NULL COMMENT 'mq_topic名称', `message` longtext NOT NULL COMMENT 'mq_message内容', `markinfo` VARCHAR ( 255 ) COMMENT '该MQ的标识字段', PRIMARY KEY ( `id` ) 
) ENGINE = INNODB DEFAULT CHARSET = utf8;

2. 查询表中所有数据:

select * from mq_info;

3. 查询表中前20条数据:

select * from mq_info limit 20;

4. 表中新增一条数据:

insert into mq_info ( topic,message,markinfo) values('mq_test','{"demands":1,"testId":165,"operation":3}','testInfo001')

5. 修改表中某个字段的值:

//将id=1的数据的topic都改为'mqUpdate_test'
update mq_info set topic='mqUpdate_test' where id='1'
//将id=1或topic='mq_test'的数据的topic都改为'mqUpdate_test',markinfo都改为'testInfo_update'
update mq_info set topic='mqUpdate_test',markinfo='testInfo_update' where id='1' or topic='mq_test'

6. 删除表中指定条件的某一条数据:

delete from mq_info where id = 1

7. 删除表中所有的数据:

delete from mq_info

8. 删除表中某一个字段:

//删除mq_info表中的markinfo字段
alter table mq_info drop column markinfo

9. 修改表中某个字段的类型:

//修改mq_info表中的message字段类型为varchar类型
alter table mq_info modify column message varchar(255);

10. 修改表中某个字段的备注信息:

//修改mq_info表中的markinfo字段的备注信息为'自定义该MQ的唯一标识'
alter table mq_info modify markinfo varchar(255) comment '自定义该MQ的唯一标识'

11. 修改表中某个字段的名称:

//把mq_info表中的markinfo字段名改为description_Info,类型是varchar(255)
alter table mq_info change markinfo description_Info varchar(255) 

12. 向已有的表中新增新的字段:

//向mq_info表新增insert_time字段,字段类型为datetime,备注信息为'MQ落库时间'
alter table mq_info add insert_time datetime comment 'MQ落库时间'

13. 修改已有表的表名:

alter table mq_info rename to cart_mq_info

14. 修改数据库中字段的顺序:

//将insert_time字段在表中的排列顺序, 修改为显示在create_time字段后面
alter table mq_info modify insert_time tinyint(4) after create_time
//“FIRST”为可选参数,指的是将字段1修改为表的第一个字段,“AFTER 字段名2”是将字段1插入到字段2的后面
ALTER TABLE MODLFY 字段名1 数据类型 FIRST|AFTER 字段名2

15. 复制已有的表结构生成一张新表:

//复制mq_info表结构生成一张新表order_mq_info
create table order_mq_info like mq_info

16. 某个字段模糊查询:

//查询mq_info表中topic字段包含test的所有数据
SELECT * FROM mq_info where topic like '%test%';
//优化写法:locate(‘substr’,str,pos), 提升查询效率
SELECT * FROM mq_info where locate('test', topic)>0

17. 查询条件包含不等于:

//查询mq_info表中topic等于'order_info',并且markinfo不等于'test'的所有数据
select * from mq_info where topic = 'order_info' and (markinfo != 'test' or markinfo is null)
//注意加上条件markinfo is null,不然Markinfo为null的数据不会被查出来
//注意()的作用,加括号是为了提高优先级先执行括号内的查询条件
//在这个基础上再进行topic = 'order_info'的查询

18. 分组+条件查询:

student表数据如下:
在这里插入图片描述

//查询每个老师带的学生的平均年龄(group by语法)
//由于是查每个老师,因此要用TeacherID作为分组条件
select TeacherID, avg(Age) as AGE from student group by TeacherID
//查询每个老师带的学生的平均年龄且平均年龄大于12(group by + having语法)
//条件是带函数的,就必须用having,而不能用where
select TeacherID, avg(Age) as AGE from student group by TeacherID having avg(Age) > 12

19. 连表查询,主表所有字段+从表部分字段:

//teacher表中没有存学生姓名,只存了学生id
//需要将teacher表中create_time大于等于2022-10-28 00:00:00的所有数据以及学生的姓名查出来
select teacher.*,
student.studentName,
from teacher_manage replay 
LEFT JOIN student_manage student 
on teacher.student_id=student.id 
where teacher.create_time >= '2022-10-28 00:00:00';

==============================================================================
以上就是本次的全部内容,都看到这里了,如果对你有帮助,麻烦点个赞+收藏+关注,一键三连啦~

欢迎关注我的vx公众号:程序员杨叔,各类文章都会第一时间在上面发布,持续分享全栈测试知识干货,你的支持就是作者更新最大的动力~

相关内容

热门资讯

海外人士热议习近平新年贺词:中...   中新社北京1月1日电 综合中新社驻外记者报道:新年前夕,中国国家主席习近平发表二〇二六年新年贺词...
新疆阿勒泰:“银发族”驭雪正青...   中新社新疆阿勒泰12月31日电 题:新疆阿勒泰:“银发族”驭雪正青春  中新社记者 蒋文月  正...
这份“年度答卷”,我们共同署名   岁序更替,华章日新。当我们站在时间的交汇点,回首,是携手走过的来路;向前,有无限辽阔的未来。这一...
视频丨多国人士:习主席新年贺词...   多国人士表示,习近平主席的新年贺词重申进一步全面深化改革开放和全球治理倡议,向国际社会传递了积极...
惠及超3.6亿人次!2025年...   新华社记者 谢希瑶  记者1日从商务部获悉,2025年,以旧换新相关商品销售额超2.6万亿元,惠...
俄媒:克宫称,“俄一将领在莫斯... 【环球网快讯】据俄新社22日报道,俄罗斯总统新闻秘书、克里姆林宫发言人佩斯科夫称,“俄罗斯一名将领在...
港珠澳大桥2025年客流车流双...   新华社广州1月1日电(记者 王浩明)2025年,经港珠澳大桥珠海公路口岸出入境客流与车流分别超过...
科学与健康|新药来了!检查结果...   一元复始,万象更新。2026年是“十五五”规划的开局之年,展望医疗卫生健康领域,一系列新政将陆续...
东西问丨穆罕默德·曼苏里:中国...   中新社南昌12月31日电 题:中国实践如何助力保障全球粮食安全?  ——专访联合国粮农组织助理总...
一批新规正式施行 事关社会治安...   央视网消息:2026年1月1日起,有一批事关社会治安、保育教育、电动汽车、网络安全等多方面的新规...