zoukankan      html  css  js  c++  java
  • MYSQL基础操作之单表的增删改查

     个人博客地址:https://www.vastyun.com

    一、添加数据。

    -- 1.创建表,并插入一定的数据。

     1 CREATE TABLE STUDENT(
     2 ID INT,
     3 USERNAME VARCHAR(20),
     4 SERVLET INT,
     5 JSP INT,
     6 ADDRESS VARCHAR(30)
     7 );
     8 INSERT INTO STUDENT VALUES (1,'张三',23,84,'京口区');
     9 INSERT INTO STUDENT VALUES (2,'李四',36,74,'润州区');
    10 INSERT INTO STUDENT VALUES (3,'王五',74,24,'京口区');
    11 INSERT INTO STUDENT VALUES (4,'赵六',87,85,'京口区');
    12 INSERT INTO STUDENT VALUES (5,'李七',63,98,'大港区');
    13 INSERT INTO STUDENT VALUES (6,'郑八',99,89,null);
    14 INSERT INTO STUDENT VALUES (7,'孙九',60,84,'');

    -- 2.插入部分数据

    INSERT INTO STUDENT (ID,USERNAME) VALUES(8,'李十十');

    二、修改数据

    --1.根据条件修改数据

     UPDATE STUDENT SET SERVLET = 86 WHERE ID =1;

    --2.修改多个字段的内容

    UPDATE STUDENT SET SERVLET = 65,JSP = 73 WHERE ID = 2;

     

    三、删除数据(暂无演示)

    -- 7.删除所有数据

    -- 可以带条件删除,只能删除表的数据,不能删除表的约束,即自增长数值接着上次删除的数值增长,删除数据可以回滚。
    DELETE FROM STUDENT;

    -- 8.带条件删除
    DELETE FROM STUDENT WHERE SID = 2;
    -- 9.另一种删除方式,输出表中所有数据

    -- 不能带条件删除,既可以删除表的数据,也可以删除表的约束,永久删除。

    TRUNCATE TABLE STUDENT;

    四、单表查询

    -- 1.查询所有列

    SELECT * FROM STUDENT;

     

    -- 2.查询指定列

    SELECT ID ,USERNAME FROM STUDENT;

    -- 3.查询时指定别名
    -- 在多表查询时经常使用表的别名

    SELECT ID AS '编号' ,USERNAME AS '用户名' FROM STUDENT AS S;

     

    -- 4.A查询时添加常量列

    SELECT ID ,USERNAME,'这是一个班' AS '备注' FROM STUDENT;

    -- 5.查询时合并列
    -- 查询每个学生的SERVLET和JSP的总成绩
    -- 合并列只能合并数值类型的字段。

    SELECT ID ,USERNAME ,(SERVLET+JSP) AS '总成绩' FROM STUDENT;

     

    -- 6.查询去除重复记录
    -- 查询所有JSP成绩可以出现的情况

    SELECT DISTINCT ADDRESS FROM STUDENT;

    -- 另一种语法

    SELECT DISTINCT(ADDRESS) FROM STUDENT; 

    -- 7.条件查询(WHERE)
    -- 7.1逻辑条件 AND OR
    -- 查询 SID为2,且姓名为李四的学生

    SELECT * FROM STUDENT WHERE ID = 2 AND USERNAME = '李四';

     

    -- 7.1.1查询 SID为2,或姓名为张三的学生

    SELECT * FROM STUDENT WHERE ID = 2 OR USERNAME = '张三';

    -- 7.2比较条件 > < >= <= == <> BETWEEN AND
    -- 7.2.1查询 SERVLET 成绩大于70分的学生

    SELECT * FROM STUDENT WHERE SERVLET > 70;

     

    -- 7.2.2查询 SERVLET 成绩大于60分小于80分的学生

    SELECT * FROM STUDENT WHERE SERVLET >60 AND SERVLET < 80;

    -- 7.2.3查询 SERVLET 成绩大于等于70小于等于80的学生

    SELECT * FROM STUDENT WHERE SERVLET >=70 AND SERVLET <=80;

    -- 7.2.4另外一种语法

    SELECT * FROM STUDENT WHERE SERVLET BETWEEN 70 AND 80;

    -- 7.2.5查询 姓名不等于张三的记录

    SELECT * FROM STUDENT WHERE USERNAME <>'张三';

     

    -- 7.3判空(null 空字符串) IS NULL IS NOT NULL ='' <>''
    -- 7.3.1判断NULL

    SELECT * FROM STUDENT WHERE ADDRESS IS NULL;

    -- 7.3.2判断空字符串

    SELECT * FROM STUDENT WHERE ADDRESS ='';

    -- 7.3.3查询地址为空的记录

    SELECT * FROM STUDENT WHERE ADDRESS IS NULL OR ADDRESS = '';

    -- 7.3.4查询地址不为空的记录

    SELECT * FROM STUDENT WHERE ADDRESS IS NOT NULL AND ADDRESS <>'';

    -- 7.4模糊条件 LIKE
    -- 通常使用以下替换的标记:%:表示任意字符;_:表示一个字符
    -- 7.4.1查询姓李学生的记录

    SELECT * FROM STUDENT WHERE USERNAME LIKE '李%';

     

    -- 8.聚合查询
    -- 常用的聚合函数:SUM() AVG() MAX() MIN() COUNT()
    -- 8.1查询学生SERVLET 总成绩

    SELECT SUM(SERVLET) AS 'SERVLET的总成绩' FROM STUDENT;

    -- 8.2查询 学生 SERVLET 的平均分

    SELECT AVG(SERVLET) AS 'SERVLET的平均分' FROM STUDENT;

    -- 8.3查询当前 SERVLET 的最高分

    SELECT MAX(SERVLET) AS '最高分' FROM STUDENT;

    -- 8.4查询 SERVLET的最低分

    SELECT MIN(SERVLET) AS '最低分' FROM STUDENT;

    -- 查询当前有多少学生 COUNT(字段)

    SELECT COUNT(*) FROM STUDENT;

    -- 9.分页查询 LIMIT 起始行,查询几行。主要用于分页。
    -- 查询第1,2条记录

    SELECT * FROM STUDENT LIMIT 0,2;

    -- 10.排序,默认情况下按插入记录的顺序排序。ORDER BY
    -- 10.1ASC 正序 DESC 倒序

    SELECT * FROM STUDENT ORDER BY ID DESC;

    -- 10.2按照SERVLET正序,再JSP倒序

    SELECT * FROM STUDENT ORDER BY SERVLET ASC ,JSP DESC;

    -- 11.分组查询 GROUP BY
    -- 查询每个地区的人数

    SELECT ADDRESS,COUNT(*) FROM STUDENT GROUP BY ADDRESS;

    -- 12.分组查询后筛选
    -- 查询分组后区域人数超过1个人的区域 GROUP BY 后面不能再跟条件where

    SELECT ADDRESS ,COUNT(*) FROM STUDENT GROUP BY ADDRESS HAVING COUNT(*)>1;

  • 相关阅读:
    从零开始入门 K8s | 应用编排与管理
    209. Minimum Size Subarray Sum
    208. Implement Trie (Prefix Tree)
    207. Course Schedule
    203. Remove Linked List Elements
    183. Customers Who Never Order
    182. Duplicate Emails
    181. Employees Earning More Than Their Managers
    1261. Find Elements in a Contaminated Binary Tree
    1260. Shift 2D Grid
  • 原文地址:https://www.cnblogs.com/vastsum/p/5988597.html
Copyright © 2011-2022 走看看