# ๐๏ธ EasySQL





**็ฐไปฃๅๅคๆฐๆฎๅบ็ฎก็ๅทฅๅ
ท**
*่ฝป้ใ้ซๆง่ฝใ่ทจๅนณๅฐ*
---
## โจ ็นๆง
- ๐ **่ถ
่ฝป้** - ๅบไบ Tauri 2.0 + Rust๏ผๅฎ่ฃ
ๅ
ไป
~10MB
- โก **้ซๆง่ฝ** - Rust ๅ็ๆฐๆฎๅบ้ฉฑๅจ๏ผๆฏซ็ง็บงๅๅบ
- ๐จ **็ฒพ็พ UI** - Windows Metro ้ฃๆ ผ๏ผๆทฑ่ฒไธป้ข
- ๐ **ๅคๆฐๆฎๅบ** - ๆฏๆ MySQLใPostgreSQLใSQLiteใSQL Server ็ญ
- ๐ **SSH ้ง้** - ๅฎๅ
จ่ฟๆฅ่ฟ็จๆฐๆฎๅบ
- ๐ **ๆบ่ฝ็ผ่พๅจ** - SQL ่ฏญๆณ้ซไบฎใๆบ่ฝ่กฅๅ
จใไปฃ็ ็ๆฎต
- ๐ **ๆฐๆฎ็ผ่พ** - ๆฏๆ็ดๆฅ็ผ่พ่กจๆ ผๆฐๆฎ
- ๐ค **ๅฏผๅ
ฅๅฏผๅบ** - ๆฏๆ JSONใNavicat NCX ๆ ผๅผ
## ๐๏ธ ๆฏๆ็ๆฐๆฎๅบ
| ๆฐๆฎๅบ | ็ถๆ | ่ฏดๆ |
|--------|------|------|
| ๐ฌ MySQL | โ
| ๅฎๅ
จๆฏๆ |
| ๐ PostgreSQL | โ
| ๅฎๅ
จๆฏๆ |
| ๐พ SQLite | โ
| ๅฎๅ
จๆฏๆ |
| ๐ SQL Server | โ
| ๅฎๅ
จๆฏๆ |
| ๐ฆญ MariaDB | โ
| ๅฎๅ
จๆฏๆ |
| ๐ MongoDB | ๐ | ๅผๅไธญ |
| โก Redis | ๐ | ๅผๅไธญ |
| ๐ถ Oracle | ๐ | ่ฎกๅไธญ |
| โ๏ธ Snowflake | ๐ | ่ฎกๅไธญ |
## ๐ ๅฟซ้ๅผๅง
### ็ฏๅข่ฆๆฑ
- Node.js 18+
- Rust (rustup)
- [Tauri ไพ่ต](https://tauri.app/v1/guides/getting-started/prerequisites)
### ๅฎ่ฃ
```bash
# ๅ
้้กน็ฎ
git clone https://github.com/your-repo/easysql.git
cd easysql
# ๅฎ่ฃ
ไพ่ต
npm install
# ๅผๅๆจกๅผ่ฟ่ก
npm run tauri:dev
# ๆๅปบๅบ็จ
npm run tauri:build
```
## ๐ธ ็้ข้ข่ง
```
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๐๏ธ EasySQL โ โก โ โ
โโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โ ๐ ไธป้กต โ ๐ ๆฅ่ฏข1 โ ๐ users โ + โ
โ + ๆฐๅปบ่ฟๆฅ โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โ SELECT * FROM users โ โ
โ โ ่ฟๆฅ โโโโโโโ โ โ WHERE status = 'active' โ โ
โ โ โ ORDER BY created_at DESC โ โ
โ ๐ฌ MySQLๆฌๅฐ โ โ LIMIT 100; โ โ
โ ๐ PostgreSQL โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค โ
โ ๐ SQL Server โ โ โโโโโโฌโโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโโโโ โ โ
โ โ โ โ id โ name โ email โ created_at โ โ โ
โ โ mydb โโโโโโโ โ โ โโโโโโผโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโโโโค โ โ
โ ๐ users โ โ โ 1 โ Alice โ a@... โ 2024-01-01 โ โ โ
โ ๐ orders โ โ โ 2 โ Bob โ b@... โ 2024-01-02 โ โ โ
โ ๐ products โ โ โโโโโโดโโโโโโโโโดโโโโโโโโโโดโโโโโโโโโโโโโ โ โ
โโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โ ๅฐฑ็ปช ยท 2 ่ก (0.05s) EasySQL v2.0 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
```
## ๐ ๏ธ ๆๆฏๆ
- **่ฟ่กๆถ**: Tauri 2.0 (Rust + WebView)
- **ๅ็ซฏ**: Rust + SQLx + Tiberius
- **ๅ็ซฏ**: React 18 + TypeScript 5
- **ๆ ทๅผ**: Tailwind CSS 3
- **ๆๅปบ**: Vite 5
- **็ผ่พๅจ**: Monaco Editor
## ๐ ้กน็ฎ็ปๆ
```
easysql/
โโโ src-tauri/ # Tauri/Rust ๅ็ซฏ
โ โโโ src/
โ โ โโโ main.rs # ไธป็จๅบๅ
ฅๅฃ
โ โ โโโ commands.rs # Tauri ๅฝไปค
โ โ โโโ database.rs # ๆฐๆฎๅบ่ฟๆฅ็ฎก็
โ โ โโโ config.rs # ้
็ฝฎ็ฎก็
โ โ โโโ ssh.rs # SSH ้ง้
โ โโโ Cargo.toml
โ โโโ tauri.conf.json
โโโ src/ # React ๅ็ซฏ
โ โโโ components/ # UI ็ปไปถ
โ โ โโโ TitleBar.tsx
โ โ โโโ Sidebar.tsx
โ โ โโโ MainContent.tsx
โ โ โโโ SqlEditor.tsx
โ โ โโโ ConnectionModal.tsx
โ โโโ lib/
โ โ โโโ tauri-api.ts # Tauri API ๅฐ่ฃ
โ โ โโโ hooks.ts # ่ชๅฎไน Hooks
โ โโโ App.tsx
โ โโโ types.ts
โ โโโ index.css
โโโ index.html
โโโ package.json
โโโ tailwind.config.js
โโโ tsconfig.json
โโโ vite.config.ts
```
## โจ๏ธ ๅฟซๆท้ฎ
| ๅฟซๆท้ฎ | ๅ่ฝ |
|--------|------|
| `Ctrl+Enter` | ๆง่ก SQL |
| `Ctrl+S` | ไฟๅญๆไปถ/ไฟๅญไฟฎๆน |
| `Ctrl+O` | ๆๅผ SQL ๆไปถ |
| `Ctrl+Shift+F` | ๆ ผๅผๅ SQL |
| `Ctrl+Q` | ๆฐๅปบๆฅ่ฏข |
| `Ctrl+W` | ๅ
ณ้ญๅฝๅๆ ็ญพ |
| `Ctrl+F` | ๆ็ดข๏ผไพง่พนๆ /่กจๆ ผ๏ผ |
## ๐ง ้
็ฝฎ่ฏดๆ
่ฟๆฅ้
็ฝฎไฟๅญๅจ็จๆท้
็ฝฎ็ฎๅฝ๏ผ
- Windows: `%APPDATA%\easysql\connections.json`
- macOS: `~/Library/Application Support/easysql/connections.json`
- Linux: `~/.config/easysql/connections.json`
## ๐ค ่ดก็ฎ
ๆฌข่ฟๆไบค Issue ๅ Pull Request๏ผ
## ๐ License
MIT
---
Made with โค๏ธ using Tauri + React + Rust