首页 > 数据库 >MySql常用语句

MySql常用语句

时间:2022-10-29 11:34:29浏览次数:48  
标签:语句 常用 -- age class student MySql id SELECT


MySql常用语句_数据库


MySql常用语句_条件查询_02

这是数据库的表,数据是自动生成的
增删改查

-- 添加数据
INSERT into student(name,age) VALUES('李四',18);

-- 查询所有数据
SELECT * FROM student;

-- 修改数据
UPDATE student SET age = 52 WHERE id = 2

-- 一次修改多条数据
UPDATE student SET name= '李四',age=30 WHERE id = 3

-- 删除数据
DELETE from student WHERE id = 4

查询

-- 查询指定列的数据
SELECT * FROM student;

-- 去除重复记录
SELECT DISTINCT name from student;

-- as 给表头列取别名
SELECT name as 姓名 FROM student;

-- 条件查询
SELECT * FROM student WHERE age>20;

-- 多个条件查询
SELECT * from student WHERE age>20 AND age<50;

-- 区间条件查询
SELECT * from student WHERE age BETWEEN 10 AND 30;

-- 不等于查询
SELECT * from student WHERE age!=30;

-- 或者查询
SELECT * from student WHERE age=30 OR age=12;

-- null查询
SELECT * from student WHERE age IS NULL;

-- 非null查询
SELECT * from student WHERE age IS NOT NULL;




-- 模糊查询 第一个字匹配
SELECT * FROM student WHERE name LIKE '王%';

-- 模糊查询 第二个字匹配
SELECT * FROM student WHERE name LIKE '_王%';

-- 模糊查询 包含字匹配
SELECT * FROM student WHERE name LIKE '%王%';




-- 排序查询 升序排列
SELECT * FROM student ORDER BY age ASC;

-- 排序查询 降序排列
SELECT * FROM student ORDER BY age DESC;

-- 排序查询 多字段排序
-- 先按降序,相同内容再id升序排列
SELECT * FROM student ORDER BY age DESC , id ASC;





-- 统计有多少条数据
SELECT COUNT(*) FROM student;
-- SELECT COUNT(id) FROM student

-- 查询最大年龄
SELECT MAX(age) FROM student;

-- 查询最小年龄
SELECT MIN(age) FROM student;

-- 查询总年龄
SELECT SUM(age) FROM student;

-- 查询平均年龄
SELECT AVG(age) FROM student;




-- 分别查询男女的平均年龄
SELECT AVG(age),COUNT(*) FROM student GROUP BY sex;

-- 分别查询男女的平均年龄和人数
SELECT AVG(age),COUNT(*) FROM student GROUP BY sex;

-- 分别查询男女的人数,人数需要大于等于3
SELECT COUNT(*) FROM student GROUP BY sex HAVING COUNT(3)>=3;




-- 分页查询
-- 起始索引=(当前页码 - 1)*每页条数
-- 第一页的10条记录
SELECT * FROM student LIMIT 0 , 10;

-- 第二页的10条记录
SELECT * FROM student LIMIT 10 , 10;

多表查询

-- 多表查询

-- 隐式内连接查询
SELECT * FROM student,class WHERE student.class_id = class.id;

SELECT student.name,class.class_name FROM student,class WHERE student.class_id = class.id;

-- 显式内连接查询
SELECT * from student INNER JOIN class on student.class_id = class.id;


-- 左外连接
-- 查询student所有数据和对应的部门信息
SELECT * FROM student LEFT JOIN class ON student.class_id = class.id;

-- 右外连接
SELECT * FROM student RIGHT JOIN class ON student.class_id = class.id;


-- 嵌套查询
-- 单行多列
SELECT * FROM student WHERE age > (SELECT age FROM student WHERE id=1);

-- 多行单列
-- 查询班级id等于或等于2
SELECT * FROM student WHERE class_id IN (SELECT id FROM class WHERE id = 1 or id = 2);

-- 多行多列
-- 查询学生id=20的信息和部门信息
SELECT * FROM (SELECT * FROM student WHERE id =20) stu,class WHERE stu.class_id = class.id;


标签:语句,常用,--,age,class,student,MySql,id,SELECT
From: https://blog.51cto.com/u_15709205/5805846

相关文章

  • Java通过jdbc连接MySql数据库进行操作
    下载​​MySql​​驱动包​​https://dev.mysql.com/downloads/connector/j/​​解压,把文件夹中的​​jar​​包拷贝到项目文件中新建一个java类进行连接​​db1​​是我......
  • java常用依赖
    1.测试类<!--测试..............................................--><dependency><groupId>junit</groupId><artifactId>junit</artifactId>......
  • java基础-->流程控制语句
    顺序结构瞬狙结构语句是Java程序默认的执行流程,按照代码的先后顺序,从上到下依次执行。分支结构if判断格式1if(关系表达式){ 语句内容;}格式2if(关系表达式){ 语......
  • 「MySQL高级篇」MySQL锁机制 && 事务
    大家好,我是melo,一名大三后台练习生,最近赶在春招前整理整理发过的博客~......
  • mysql通过内网链接
    1,内网ssh链接  公钥访问2.端口 ......
  • ESB-IBM ESB运维常用命令
    创建队列管理器:crtmqm-q QmgrName :创建一个名为QmgrName的队列管理器启动队列管理器strmqm QmgrName :启动队列管理器 QmgrName查看队列管理器:dspmq-m Qmg......
  • Docker 安装SqlServer、Mysql、MariaDB
    Docker安装SqlServer说明1.拉取镜像dockerpullmcr.microsoft.com/mssql/server:2019-latest2.运行dockerrun--namemssqlserver2019-d--restartunless-st......
  • 三种常用的Vue表单修饰符使用场景...
    vue的项目开发中须知道的三个vue表单修饰符(.lazy,.number,.trim)1,.lazy简单地说:我们在input输入框输入的时候,标签里的内容会实时变化,加了.lazy修饰符后,只有当鼠标光标离......
  • 7 using语句
    目录using语句资源的包装和使用using语句的实例多个资源和嵌套using语句的另外一种形式其他语句using语句using语句不是using指令using指令后面讲解某些类型的非托管......
  • mysql并发插入死锁
    前言开发中遇到多线程并发情况对数据批量插入主键id非雪花id,函数自增id原理分析两个事务都持有该行的S锁,期望获取X锁时被对方阻塞了。通俗讲就是并发插入出现相同......