Python更新pip到最新版本

用pip更新

1
2
pip install --upgrade pip
pip install -U pip

用python命令來安裝

1
2
python -m pip install --upgrade pip
python -m pip install -U pip

在Windows中,若遇權限問題而無法執行,可加上–user試看看

繼續閱讀

(MSSQL)資料轉置PIVOT(Row2Col)

Syntax

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
SELECT <non-pivoted column>,  
[first pivoted column] AS <column name>,
[second pivoted column] AS <column name>,
...
[last pivoted column] AS <column name>
FROM
(<SELECT query that produces the data>)
AS <alias for the source query>
PIVOT
(
<aggregation function>(<column being aggregated>)
FOR
[<column that contains the values that will become column headers>]
IN ( [first pivoted column], [second pivoted column],
... [last pivoted column])
) AS <alias for the pivot table>
<optional ORDER BY clause>;
繼續閱讀

(MSSQL)查詢table/view欄位DATATYPE

透過SYS.COLUMNS JOIN SYS.TYPES查詢

1
2
3
4
5
6
7
8
9
10
SELECT c.name,
t.name,
c.max_length,
c.precision,
c.scale
FROM SYS.COLUMNS c
JOIN SYS.TYPES t
ON t.user_type_id = c.user_type_id
AND t.system_type_id = c.system_type_id
WHERE object_id = OBJECT_ID('TABLENAME/VIEWNAME')
繼續閱讀

(Python)爬蟲偽裝User-Agent - fake_useragent套件

前言

爬蟲程式會消耗網站伺服器系統資源,因此有些網站會檢查偵測網站訪問是否為爬蟲程式,並進一步阻擋爬蟲程式,常見的像是封鎖IP來阻擋請求。

本文介紹一個Python套件fake_useragent,將爬蟲程式偽裝為瀏覽器提出請求訪問網站。

什麼是User-Agent

User-Agnet(使用者代理,簡稱UA),會告訴網站伺服器,你是透過什麼工具(作業系統、瀏覽器名稱、瀏覽器版本、渲染引擎、外掛程式…等資訊)發送請求的。

繼續閱讀

(MySQL)Error Code 1175解決方法,關閉Safe Update Mode

MySQL有個叫SQL_SAFE_UPDATES的變數,為了資料庫更新操作的安全性,此值預設為ON。

1
2
3
4
5
6
7
8
mysql> show variables like '%safe_updates%';
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| sql_safe_updates | ON |
+------------------+-------+

1 row in set (0.00 sec)

在Safe Update Mode開啟的狀態下,在沒有 WHERE 或 LIMIT 條件的 UPDATE 或 DELETE 動作會拒絕執行,而即使是有 WHERE 和 LIMIT 條件,但沒有 KEY column 的 WHERE 條件也會拒絕執行。此時就會出現Error Code 1175的訊息。

Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column To disable safe mode, toggle the option…

繼續閱讀

(MSSQL)尋找含有特定欄位名稱的Tables/Views

搜尋含有特定欄位名稱的Tables

1
2
3
4
5
6
7
-- Search tables with specified column name
SELECT c.name AS 'ColumnName',
t.name AS 'TableName'
FROM sys.columns c
JOIN sys.tables t ON c.object_id = t.object_id
WHERE c.name LIKE '%MyName%'
ORDER BY TableName ,ColumnName;
繼續閱讀

(MSSQL)查詢排程工作(schedule jobs)

在SSMS中,點開DB -> SQL Server Agent -> 作業,裡面可以查詢各排程工作的設定及狀況,但只能一個一個點開來看。有時會想一次盤點所有的排程作業的排程名稱、設定、啟用狀態、執行頻率、執行狀況…等資料,可使用下面SQL指令查詢。

繼續閱讀