日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

软件测试面试笔试题准备(sql增删改查语句超全整理!看这篇就够了)

發布時間:2023/12/9 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 软件测试面试笔试题准备(sql增删改查语句超全整理!看这篇就够了) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Sql語句真的是測試人員必備技能了,當然也是面試筆試題必有的

以下場景都能用到

2 獲取驗證碼

2 核對后端返回的數據是否與數據庫一致(這點在大數據相關產品的測試中比重很大)

2 修改數據創建測試場景(比如你需要測試驗證幾個月以后賬單,那么需要修改時間)

2 核對一些公式計算(如求和、環比等)

2 Python連接數據庫獲取數據庫數據

、、、等等

接下來咱們準備一些常見語句

建議配合mysql+navicat使用(下次出安裝教程)

如果對軟件測試有興趣,想了解更多的測試知識,解決測試問題,以及入門指導,幫你解決測試中遇到的困惑,我們這里有技術高手。如果你正在找工作或者剛剛學校出來,又或者已經工作但是經常覺得難點很多,覺得自己測試方面學的不夠精想要繼續學習的,想轉行怕學不會的, 都可以加入我們810119819,群內可領取最新軟件測試大廠面試資料和Python自動化、接口、框架搭建學習資料!微信公號【程序員阿沐】

1. 新建student、score表

CREATE TABLE student ( id INT(10) NOT NULL UNIQUE PRIMARY KEY, name VARCHAR(20) NOT NULL, sex VARCHAR(4), birth YEAR, department VARCHAR(20) , address VARCHAR(50) ); CREATE TABLE score ( id INT(10) NOT NULL UNIQUE PRIMARY KEY AUTO_INCREMENT, stu_id INT(10) NOT NULL , c_name VARCHAR(20) , grade INT(10) );

2. 增INSERT INTO

  • 向student表插入記錄:
  • INSERT INTO student VALUES( 901,'張老大', '男',1999,'計算機系', '北京市海淀區'); INSERT INTO student VALUES( 902,'張老二', '男',1998,'中文系', '北京市昌平區'); INSERT INTO student VALUES( 903,'張三', '女',1997,'中文系', '湖南省永州市'); INSERT INTO student VALUES( 904,'李四', '男',1996,'英語系', '遼寧省阜新市'); INSERT INTO student VALUES( 905,'王五', '女',1995,'英語系', '福建省廈門市'); INSERT INTO student VALUES( 906,'王六', '男',1994,'計算機系', '湖南省衡陽市');


    2) 向score表插入記錄:

    INSERT INTO score VALUES(NULL,901, '計算機',98); INSERT INTO score VALUES(NULL,901, '英語', 80); INSERT INTO score VALUES(NULL,902, '計算機',65); INSERT INTO score VALUES(NULL,902, '中文',88); INSERT INTO score VALUES(NULL,903, '中文',95); INSERT INTO score VALUES(NULL,904, '計算機',70); INSERT INTO score VALUES(NULL,904, '英語',92); INSERT INTO score VALUES(NULL,905, '英語',94); INSERT INTO score VALUES(NULL,906, '計算機',90); INSERT INTO score VALUES(NULL,906, '英語',85);


    3) 補充excel批量生成sql語句批量插入記錄
    https://jingyan.baidu.com/article/ca41422f99bdfc5eae99edb1.html

    3. 刪DELETE

    delete:delete from表名1 where范圍(刪除表內符合條件的內容)

    delete from表名1(清空數據表內容,不釋放空間,即:下次插入表數據,id依然接著刪除數據的id繼續增加)

    truncate:truncate table表名1(清空表數據,釋放空間,即:下次插入表數據,id從1重新開始)

    drop:drop table表名1(整張表被刪除,要使用該表必須重新建)

  • 刪除student表名字為張老大的記錄
  • delete from student where name="張老大";

    4. 改Update

    UPDATE 表名稱SET列名稱=新值WHERE列名稱=某值

  • 將student表張老大的名字改成大老張
  • update Student set name='大老張'where name='張老大' select * from student

    觀察改變

    5. 查(重點!!!)

    select 查詢字段from表名where查詢條件

    舉例說明:

  • 查詢出表student中性別為女的所有學生信息
    select * from student where sex=“女”
  • 查詢student表的第2條到4條記錄

    SELECT * FROM student LIMIT 1,3;
  • 計算并查詢出院系為中文系的學生的總分數(雙表連接查詢)
  • select sum(grade),department from (select score.grade,student.department from score INNER JOIN student ON score.stu_id=student.id) AS a GROUP BY department
  • 計算并查詢出表score中計算機的平均分數
  • select AVG(grade) from score where c_name="計算機"
  • 計算并查詢出表score中計算機的最低/最高分數
  • select MIN(grade) from score where c_name="計算機" select max(grade) from score where c_name="計算機"
  • 查詢出表score中計算機的信息按照分數倒序排列(desc是逆序排序,asc是正序排序,asc可省略不寫)
  • select * from score where c_name="計算機" order by grade desc
  • 統計每個院系學生人數
  • select count(id),department from student group by department
  • 從student表中查詢年齡18~22歲的學生信息
  • SELECT id,name,sex,2019-birth AS age,department,addressFROM studentWHERE 2019-birth BETWEEN 18 AND 22;SELECT id,name,sex,2019-birth AS age,department,addressFROM studentWHERE 2019-birth>=18 AND 2019-birth<=22;

    6. 數據檢索-多表查詢

  • 查詢李四的考試科目(c_name)和考試成績(grade)
  • SELECT c_name, grade FROM score WHEREstu_id=(SELECT id FROM student WHERE name= '李四' );
  • 用連接的方式查詢所有學生的信息和考試信息
  • SELECT student.id,name,sex,birth,department,address,c_name,gradeFROM student,scoreWHERE student.id=score.stu_id;

    作業:左連接右鏈接,內連接和外鏈接的區別。

  • 計算每個學生的總成績
  • SELECT student.id,name,SUM(grade)FROM student,scoreWHERE student.id=score.stu_idGROUP BY id;
  • 查詢計算機成績低于95的學生信息
  • SELECT * FROM student WHERE id IN (SELECT stu_id FROM score WHERE c_name="計算機" and grade<95);
  • 查詢同時參加計算機和英語考試的學生的信息
  • SELECT * FROM studentWHEREid =ANY( SELECT stu_id FROM score WHERE stu_id IN (SELECT stu_id FROM score WHERE c_name= '計算機') AND c_name= '英語' );SELECT a.* FROM student a ,score b ,score c WHEREa.id=b.stu_id AND b.c_name='計算機' AND a.id=c.stu_id AND c.c_name='英語';
  • 從student表和score表中查詢出學生的學號,然后合并查詢結果
  • SELECT id FROM student UNION SELECT stu_id FROM score;
  • 查詢姓張或者姓王的同學的姓名、院系和考試科目及成績
  • SELECT student.id, name,sex,birth,department, address, c_name,gradeFROM student, scoreWHERE(name LIKE '張%' OR name LIKE '王%')ANDstudent.id=score.stu_id ;
  • 查詢都是湖南的學生的姓名、年齡、院系和考試科目及成績
  • SELECT student.id, name,sex,birth,department, address, c_name,gradeFROM student, scoreWHERE address LIKE '湖南%' ANDstudent.id=score.stu_id; Score、student兩張表內連接 select score.stu_id,score.grade,score.c_name,student.department,student.name from score INNER JOIN student ON score.stu_id=student.id

    其他一些補充(與插入記錄無關):

  • 查詢去重單個字段后顯示所有列
    select * from 表名where主鍵in(select max(主鍵) from表名group by要去重的字段)
  • eg:

    SELECT * FROM user_bill where bill_no in(select max(bill_no) from user_bill group by subsidy_order_no);
  • 查詢不為空
  • select * from 表名where不為空的字段名is not null
  • 查詢在字段=(xx,xx,xx,xx)的數據
  • SELECT column_name(s) FROM table_name WHERE column_name IN (value1,value2,...)
  • having分組過濾條件
    按照年齡分組,過濾年齡為空的數據,并且統計分組的條數和現實年齡信息
  • select count(*), age from student group by age having age is not null;
  • 查詢含某字段的所有表
  • SELECT TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME = 'cycle'

    如果直接使用Navicat。。。


    總結

    以上是生活随笔為你收集整理的软件测试面试笔试题准备(sql增删改查语句超全整理!看这篇就够了)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。