timmy / 簡單實作資料庫依賴注入
0 gustos
0 bifurcaciones
1 archivos
Última actividad 7 months ago
| 1 | from abc import ABC, abstractmethod |
| 2 | |
| 3 | # 定義一個資料庫介面,規定大家都要有 connect 方法 |
| 4 | class IDatabase(ABC): |
| 5 | @abstractmethod |
| 6 | def connect(self): |
| 7 | pass |
| 8 | |
| 9 | # 具體實作 MySQL 版資料庫 |
| 10 | class MySQLDatabase(IDatabase): |
timmy / 📝 資料庫也要有備註!MySQL 註解操作大全
0 gustos
0 bifurcaciones
1 archivos
Última actividad 8 months ago
資料表跟欄位都能加上說明!用 COMMENT 打造自帶說明的資料庫結構,不再只有你看得懂。
| 1 | -- 建立一個名為 your_table_name 的資料表,並加上 Table 註解 |
| 2 | CREATE TABLE your_table_name ( |
| 3 | id INT PRIMARY KEY AUTO_INCREMENT, -- 自動遞增的主鍵 |
| 4 | name VARCHAR(100) NOT NULL -- 使用者名稱(不可為 NULL) |
| 5 | ) |
| 6 | COMMENT = '這是儲存使用者基本資訊的資料表'; -- Table 註解 |
| 7 | |
| 8 | -- 修改 your_table_name 的 Table 註解為新內容 |
| 9 | ALTER TABLE your_table_name |
| 10 | COMMENT = '更新後的資料表註解內容'; |
timmy / MySQL 與 phpMyAdmin 容器部署
1 gustos
0 bifurcaciones
1 archivos
Última actividad 9 months ago
利用 Docker 快速部署 MySQL 資料庫與 phpMyAdmin 管理介面,方便管理及測試資料庫。
| 1 | services: |
| 2 | mysql: |
| 3 | container_name: database_server |
| 4 | image: mysql:latest |
| 5 | ports: |
| 6 | - "3306:3306" |
| 7 | environment: |
| 8 | MYSQL_ROOT_PASSWORD: StrongRootPass123 # MySQL 的根密碼 |
| 9 | MYSQL_DATABASE: production_db # 要建立的資料庫名稱 |
| 10 | MYSQL_USER: db_user # 新使用者的名稱 |
timmy / MySQL 資料庫與表格查詢
0 gustos
0 bifurcaciones
1 archivos
Última actividad 9 months ago
這組 SQL 指令可查詢資料庫與各表的紀錄數及大小,方便監控與管理資料庫資源。
| 1 | SHOW DATABASES; |
| 2 | |
| 3 | USE myapp; |
| 4 | SHOW TABLES; |
| 5 | |
| 6 | SELECT TABLE_NAME, TABLE_ROWS |
| 7 | FROM INFORMATION_SCHEMA.TABLES |
| 8 | WHERE TABLE_SCHEMA = 'myapp'; |
| 9 | |
| 10 | SELECT TABLE_NAME, |
timmy / Docker Compose 部署 MySQL
1 gustos
0 bifurcaciones
6 archivos
Última actividad 9 months ago
| 1 | MYSQL_USER=user |
| 2 | MYSQL_PASSWORD=password |
| 3 | MYSQL_ROOT_PASSWORD=rootpassword |
timmy / 進階 Mixin 設計與用戶管理
0 gustos
0 bifurcaciones
1 archivos
Última actividad 10 months ago
此 Python 程式使用多個 Mixin,提供日誌記錄、時間標記、資料儲存、權限管理、事件監聽與異常處理功能,使 User 類別具備完整的資料管理與行為追蹤能力,適用於使用者管理與系統監控應用。
| 1 | import datetime |
| 2 | import json |
| 3 | import traceback |
| 4 | |
| 5 | class LoggingMixin: |
| 6 | """ 提供日誌功能的 Mixin 類別 """ |
| 7 | |
| 8 | def log(self, message): |
| 9 | """ 記錄日誌 """ |
| 10 | timestamp = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") |
timmy / 進階 Mixin 設計與用戶管理
0 gustos
0 bifurcaciones
1 archivos
Última actividad 10 months ago
此 Python 程式使用多個 Mixin,提供日誌紀錄、時間標記、數據儲存與權限管理功能,適用於構建可擴展的用戶管理系統,提升代碼的模組化與可重用性。
| 1 | import datetime |
| 2 | |
| 3 | class LoggingMixin: |
| 4 | """ 提供日誌功能的 Mixin 類別 """ |
| 5 | |
| 6 | def log(self, message): |
| 7 | """ 簡單的日誌紀錄方法 """ |
| 8 | timestamp = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") |
| 9 | print(f"[{timestamp}] {self.__class__.__name__}: {message}") |
timmy / SQL Server 資料表空間使用查詢
0 gustos
0 bifurcaciones
1 archivos
Última actividad 10 months ago
這段 SQL 查詢會列出指定資料庫中每個資料表的名稱、所屬 Schema、行數(Row Count)、總佔用空間(KB)、已使用空間(KB)以及未使用空間(KB),並依據總佔用空間進行降序排序。這對於 資料庫管理與最佳化 非常有用,能幫助 DBA 或開發人員分析表的大小、尋找可能需要清理或最佳化的表,提升資料庫效能。
| 1 | USE [你的資料庫名稱]; |
| 2 | SELECT |
| 3 | s.name AS SchemaName, |
| 4 | t.name AS TableName, |
| 5 | p.rows AS RowCounts, |
| 6 | SUM(a.total_pages) * 8 AS TotalSizeKB, |
| 7 | SUM(a.used_pages) * 8 AS UsedSizeKB, |
| 8 | (SUM(a.total_pages) - SUM(a.used_pages)) * 8 AS UnusedSizeKB |
| 9 | FROM |
| 10 | sys.tables t |
timmy / Docker 部署 SQL Server 2019
1 gustos
0 bifurcaciones
2 archivos
Última actividad 9 months ago
這是一個 Docker Compose 配置檔,用於設定 Microsoft SQL Server 環境,包括一個 mssql-server 容器(SQL Server Express 版本)和一個 sqlcmd 容器(用於執行 SQL 命令)。兩個容器透過自定義網路連接,並將資料庫數據保存到命名卷 mssql_data。
| 1 | services: |
| 2 | mssql-server: |
| 3 | image: mcr.microsoft.com/mssql/server:2019-latest |
| 4 | container_name: mssql-server |
| 5 | environment: |
| 6 | ACCEPT_EULA: "Y" |
| 7 | SA_PASSWORD: "StrongP@ssw0rd!" |
| 8 | MSSQL_PID: "Express" |
| 9 | ports: |
| 10 | - "1433:1433" |
Siguiente
Anterior