SQL学习

SQL学习

基础了解

  • 没有数据库的时候,用excel表格

  • 数据库的不同操作指令

  • SQL语言分类

    • DDL数据定义语言(对于数据库,数据表的索引、修改、创建、删除)
    • DML数据操作语言()
    • TCL事务处理语言

    数据库自增序列机制(设置主键时,很多时候由系统生成)

DDL(了解)语句有

CREATE TABLE +表名{变量名字id+变量类型+"变量解释"}

DML(重点掌握)语句有:增删改查

插入数据(插入的数据需要和列名相匹配):insert -- INSERT INTO +NOT NULL AUTO_INCREMENT / DEFAULT NULL COMMENRT / COMMENT+表名 +(表头列名,表头列名,表头列名...) VALUES (列名对应的数据+列名对应的数据+列名对应的数据.....);【其中主键自增长的数据不用填写,默认为null】
删除表里的内容:delete -- DELETE + FROM + 表名;
更新数据:update -- UPDATE + 表名 + SET + 想要修改的数据的数据表头列名 = 自己想改的数据 + WHERE + 对应的数据的拥有者的名字的表头列名 = '对应的数据的拥有者的名字';
查询数据:select -- SELECT + 想要查询的表头列名/*(全部内容) +FROM + 表名;

面试题:

  1. 往一个表里插入n条数据如何一条语句实现?
INSERT INTO 表名
(表头列名,表头列名,表头列名)
VALUES
(列名对应的数据+列名对应的数据+列名对应的数据),
(列名对应的数据+列名对应的数据+列名对应的数据),
(列名对应的数据+列名对应的数据+列名对应的数据),
(列名对应的数据+列名对应的数据+列名对应的数据),
(列名对应的数据+列名对应的数据+列名对应的数据),
...............,
...............;//最终以分号表示结束
  1. 我要删除student_score表里的student_name为张三的这个人对应的所有数据如何删除?
DELETE FROM student_score WHERE student_name = '张三';
  1. 我要删除student_score表里的student_name为张三的这个人的course为JAVA的成绩如何删除?
DELETE FROM student_score WHERE student_name = '张三' AND course = 'JAVA';
  1. 查询出每个学生,每一门课的成绩,(表头为student_name,course,score)

    结果展示:数据库里是 一行记录、一个学生、一门课程

    页面展示:姓名、Linux、java、python

    测试人员如何确定数据和数据库中一致?(行转列解决)

    • 发现数据库字段和页面展示字段不一样

    • 确定要输出的内容结构

    • SELECT student_name AS '姓名','Linux','java','python' FROM student_score;--输出数据库中没有的字段
      
    • --为自定义字段赋值(静态赋值)
      SELECT 
      	student_name AS '姓名',
      	0 AS 'Linux',
      	0 AS'java',
      	0 AS 'python' 
      	FROM student_score;
      
    • --动态赋值(表的真实数据)
      --如何选择合适的数据进行展示【最大值函数MAX()】
      --IF(判断条件, 成立的结果, 不成立的结果)
      SELECT 
      	student_name AS '姓名',
      	MAX(IF(course = 'Linux', score 0)) AS 'Linux',
      	MAX(IF(course = 'java', score 0)) AS'java',
      	MAX(IF(course = 'python', score 0)) AS 'python' 
      	FROM student_score
      --分组 GROUP BY
      GROUP BY student_score;
      

    主要是思路要清晰

posted @ 2026-07-23 20:23  星之奔流  阅读(4)  评论(0)    收藏  举报