????????????????????????? ?1.capitalize()表示將字符串第一個字符轉換為大寫
2.pop()方法:指定一個鍵(key)作為參數來刪除并返回對應的值,不傳入任何參數報錯。
3.測試方法:黑盒測試(等價類劃分法、邊界值分析、因果圖分析:錯誤猜測)
4.SQL的執行順序是:
5.數據庫范式從低到高分別是1NF、2NF、3NF、BCNF、4NF、5NF。
6.executeUpdate()方法用于執行INSERT、UPDATE或DELETE等DML語句,其返回值表示受影響的行數。
7.union all和union
8.看到性能選時間!
9.軟件調試技術: 試探法(強行排錯法)、回溯法:人工沿著程序的控制流程往跟蹤代碼,直到找出錯誤根源為止、對分查找法:縮小錯誤的范圍、歸納演繹 、 原因排除法
10.在Python中,當字符串前加上字母r時,表示這是一個原始字符串(raw string)。原始字符串會將反斜杠()當作普通字符處理,而不是轉義字符。
11.*p是解包操作
12.__name__定義在一個模塊中,當解釋器執行這個py文件時,__name__的值就為__main__; 當這個模塊被引用即被其他模塊import時,__name__的值就是模塊名,也就是py文件名。
13.map()函數:返回布爾值(True/False)
14.*表示強迫使用關鍵字傳參,即必須寫成fun(1,b=某個值)的形式。 def f1(a, *, b, c): ????return a + b + c ?對于上面這個函數而言,調用時參數a可以任意值, 但b,c參數一定要以關鍵字參數的形式傳參,如f1(1, b=4, c=5),否則將會報錯。 ????
15. enumerate()函數會返回一個包含索引和元素的迭代器,其中i是索引(從0開始),j是對應的元素值。
16. locate函數:Locate(str,sub) > 0,表示sub字符串包含str字符串;Locate(str,sub) = 0,表示sub字符串不包含str字符串。
17.字符串的截取:substring(字符串,起始位置,截取字符數)
1.capitalize()表示將字符串第一個字符轉換為大寫
2.pop()方法:指定一個鍵(key)作為參數來刪除并返回對應的值,不傳入任何參數報錯。
3.測試方法:黑盒測試(等價類劃分法、邊界值分析、因果圖分析:錯誤猜測)
4.SQL的執行順序是:
FROM--WHERE--GROUP?BY--HAVING--SELECT--ORDER BY(先查詢where條件,having條件,其次是分組,最后排序)(WHERE子句和GROUP BY子句。WHERE用于過濾行,而GROUP BY用于分組。)
5.數據庫范式從低到高分別是1NF、2NF、3NF、BCNF、4NF、5NF。
各范式之間的關系是:
- BCNF是在3NF的基礎上進一步改進的,要求所有非主屬性對每一個候選碼都完全函數依賴
- 3NF在2NF基礎上消除了非主屬性對候選碼的傳遞函數依賴
- 2NF在1NF的基礎上,消除了非主屬性對碼的部分函數依賴
- 1NF是最基本的范式,要求屬性不可再分
范式級別越高,冗余度越小,數據一致性越好。但實際應用中,并不一定要遵循最高范式,需要在查詢性能和數據一致性之間做平衡。
6.executeUpdate()方法用于執行INSERT、UPDATE或DELETE等DML語句,其返回值表示受影響的行數。
- executeUpdate()方法返回值的具體含義:
- 對于INSERT語句:返回新增的記錄數
- 對于UPDATE語句:返回更新的記錄數
- 對于DELETE語句:返回刪除的記錄數
- 如果執行失敗則會拋出SQLException異常,而不是返回特殊值。
7.union all和union
特性 | UNION ALL | UNION |
去重 | 保留所有行(包括重復行) | 自動去重(刪除完全相同的行) |
執行效率 | 高(無需額外計算去重) | 低(需排序/去重操作) |
結果順序 | 按查詢順序拼接(如先男生后女生) | 通常按去重后的順序返回(不保證原始順序) |
適用場景 | 需保留所有記錄時(如日志合并) | 需唯一結果時(如用戶列表去重) |
注:因無需去重操作,執行效率通常高于UNION,尤其適合大數據量場景。
語法要求:
每個SELECT語句的列數必須相同。
對應列的數據類型需兼容(如數值型與字符型需隱式轉換,否則報錯)。
列名以第一個SELECT語句為準,后續語句的列名會被忽略。
8.看到性能選時間!
性能測試是正常情況下的性能指標;
壓力測試是測試系統的瓶頸所在;
負載測試是指系統重負荷性能指標;
壓力測試理解起來更像是測試高壓情況下的性能指標,負載更像是一步一步增加負載,測試各個負載的指標,從而最后找到瓶頸 ????
9.軟件調試技術: 試探法(強行排錯法)、回溯法:人工沿著程序的控制流程往跟蹤代碼,直到找出錯誤根源為止、對分查找法:縮小錯誤的范圍、歸納演繹 、 原因排除法
10.在Python中,當字符串前加上字母r時,表示這是一個原始字符串(raw string)。原始字符串會將反斜杠()當作普通字符處理,而不是轉義字符。
11.*p是解包操作
12.__name__定義在一個模塊中,當解釋器執行這個py文件時,__name__的值就為__main__; 當這個模塊被引用即被其他模塊import時,__name__的值就是模塊名,也就是py文件名。
13.map()函數:返回布爾值(True/False)
filter()函數:保留滿足條件的元素
reduce()函數:對列表元素累加求和。
insert()方法:在索引3處插入25(原索引3的元素19后移)。
關鍵點:insert()方法返回None(它直接修改列表,不返回值)。
14.*表示強迫使用關鍵字傳參,即必須寫成fun(1,b=某個值)的形式。 def f1(a, *, b, c): ????return a + b + c ?對于上面這個函數而言,調用時參數a可以任意值, 但b,c參數一定要以關鍵字參數的形式傳參,如f1(1, b=4, c=5),否則將會報錯。 ????
15. enumerate()函數會返回一個包含索引和元素的迭代器,其中i是索引(從0開始),j是對應的元素值。
16. locate函數:Locate(str,sub) > 0,表示sub字符串包含str字符串;Locate(str,sub) = 0,表示sub字符串不包含str字符串。
17.字符串的截取:substring(字符串,起始位置,截取字符數)
字符串的拼接:concat(字符串1,字符串2,字符串3,...)
字母大寫:upper(字符串)
18.DROP TABLE 表名,刪除表結構和數據。DELETE或TRUNCATE命令,刪除表中的數據但保留表結構。
19.在使用 INSERT 語句插入數據時,插入的數據類型必須與表中對應列的數據類型兼容。如果不兼容,數據庫會報錯或進行類型轉換(若數據庫支持類型轉換),但是不能完全不關聯。
20.GROUP BY子句、ORDER BY子句和聚合函數、DISTINCT、集合運算符(UINION、EXCEPT)以及窗口函數都是會進行排序的運算。
21.SQL中顯式事務和隱式事物的區別:?
? 隱式事務:在連接的基礎上,每一條語句都以單獨事務運行。?
? 顯式事務:存在開始/結束標志,例如:
?BEGIN TRANSACTION
?...具體事務?
? END TRANSACTION。?
SQL Server中每一條select、insert、update、delete語句都是隱形事務的一部分,顯性事務用BEGIN TRANSACTION明確指定事務。
22.