https://gitee.com/null_465_7266/sql4helloworld
SQL Hello World 项目
这是一个用于学习各种SQL方言基本用法的Hello World项目。项目包含了MySQL、PostgreSQL、SQLite、SQL Server和Oracle的核心概念和常用功能的示例代码,每行代码都有详细的注释。
📋 项目结构
sql-helloworld/
├── sql/
│ ├── 01_mysql_hello_world.sql # MySQL示例脚本
│ ├── 02_postgresql_hello_world.sql # PostgreSQL示例脚本
│ ├── 03_sqlite_hello_world.sql # SQLite示例脚本
│ ├── 04_sqlserver_hello_world.sql # SQL Server示例脚本
│ └── 05_oracle_hello_world.sql # Oracle示例脚本
├── SQL_README.md # 项目说明文档
└── SQL_LEARNING.md # SQL学习指南
🚀 快速开始
支持的数据库系统
本项目提供以下数据库系统的示例:
- MySQL - 最流行的开源关系型数据库
- PostgreSQL - 功能强大的开源对象关系型数据库
- SQLite - 轻量级嵌入式数据库
- SQL Server - Microsoft的企业级数据库
- Oracle - Oracle公司的企业级数据库
📚 安装和配置指南
1. MySQL
安装 MySQL
Windows:
- 下载 MySQL Installer: https://dev.mysql.com/downloads/installer/
- 运行安装程序,选择"Developer Default"
- 设置root密码
- 完成安装
Linux (Ubuntu/Debian):
sudo apt update
sudo apt install mysql-server
sudo mysql_secure_installation
macOS:
# 使用 Homebrew
brew install mysql
brew services start mysql
连接和运行
# 连接到MySQL
mysql -u root -p
# 运行脚本
mysql -u root -p < sql/01_mysql_hello_world.sql
# 或在MySQL命令行中
source sql/01_mysql_hello_world.sql;
2. PostgreSQL
安装 PostgreSQL
Windows:
- 下载 PostgreSQL: https://www.postgresql.org/download/windows/
- 运行安装程序
- 设置postgres用户密码
- 记住端口号(默认5432)
Linux (Ubuntu/Debian):
sudo apt update
sudo apt install postgresql postgresql-contrib
sudo -u postgres psql
macOS:
# 使用 Homebrew
brew install postgresql
brew services start postgresql
连接和运行
# 连接到PostgreSQL
psql -U postgres -d postgres
# 运行脚本
psql -U postgres -d postgres -f sql/02_postgresql_hello_world.sql
# 或在psql命令行中
\i sql/02_postgresql_hello_world.sql
3. SQLite
安装 SQLite
Windows:
- 下载 SQLite: https://www.sqlite.org/download.html
- 解压到PATH目录中
Linux:
sudo apt install sqlite3
macOS:
# 通常预装,或使用 Homebrew
brew install sqlite
连接和运行
# 创建/连接数据库
sqlite3 hello_world.db
# 运行脚本
.read sql/03_sqlite_hello_world.sql
# 或直接执行
sqlite3 hello_world.db < sql/03_sqlite_hello_world.sql
4. SQL Server
安装 SQL Server
Windows:
- 下载 SQL Server Developer Edition: https://www.microsoft.com/en-us/sql-server/sql-server-downloads
- 运行安装程序
- 选择"Basic"安装
- 安装 SQL Server Management Studio (SSMS)
Linux:
# Ubuntu
curl -fsSL https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
sudo add-apt-repository "$(curl -fsSL https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/mssql-server-2019.list)"
sudo apt update
sudo apt install mssql-server
sudo /opt/mssql/bin/mssql-conf setup
Docker:
docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=YourPassword123" -p 1433:1433 --name sqlserver -d mcr.microsoft.com/mssql/server:2019-latest
连接和运行
# 使用 sqlcmd
sqlcmd -S localhost -U sa -P YourPassword123
# 运行脚本
sqlcmd -S localhost -U sa -P YourPassword123 -i sql/04_sqlserver_hello_world.sql
# 或在SSMS中打开并执行脚本
5. Oracle
安装 Oracle
Oracle Database Express Edition (XE):
- 下载 Oracle XE: https://www.oracle.com/database/technologies/xe-downloads.html
- 运行安装程序
- 设置系统密码
Docker:
docker run -d -p 1521:1521 -e ORACLE_PASSWORD=YourPassword123 gvenzl/oracle-xe
连接和运行
# 使用 SQL*Plus
sqlplus system/YourPassword123@localhost:1521/XE
# 运行脚本
sqlplus system/YourPassword123@localhost:1521/XE @sql/05_oracle_hello_world.sql
# 或在Oracle SQL Developer中执行
🔧 客户端工具推荐
通用工具
- DBeaver - 免费的通用数据库工具
- DataGrip - JetBrains的商业数据库IDE
- Azure Data Studio - Microsoft的跨平台数据库工具
专用工具
- MySQL Workbench - MySQL官方GUI工具
- pgAdmin - PostgreSQL官方管理工具
- SQL Server Management Studio (SSMS) - SQL Server官方工具
- Oracle SQL Developer - Oracle官方开发工具
📖 学习内容
每个SQL脚本都包含以下概念的详细示例:
基础概念
- ✅ 数据库和表的创建
- ✅ 数据类型定义
- ✅ 约束条件(主键、外键、检查约束等)
- ✅ 索引创建和使用
数据操作
- ✅ INSERT - 数据插入
- ✅ SELECT - 数据查询
- ✅ UPDATE - 数据更新
- ✅ DELETE - 数据删除
高级查询
- ✅ 连接查询(INNER JOIN, LEFT JOIN等)
- ✅ 子查询和相关子查询
- ✅ 聚合函数(COUNT, SUM, AVG等)
- ✅ 分组查询(GROUP BY, HAVING)
- ✅ 窗口函数(ROW_NUMBER, RANK等)
数据库特有功能
- ✅ 存储过程和函数
- ✅ 触发器
- ✅ 视图
- ✅ CTE(公共表表达式)
- ✅ 事务处理
各数据库特色功能
- MySQL: 自动递增、字符集设置
- PostgreSQL: JSONB、数组、枚举类型、扩展
- SQLite: 轻量级、嵌入式特性
- SQL Server: T-SQL、IDENTITY、MERGE语句
- Oracle: PL/SQL、序列、分析函数
🎯 使用建议
- 选择数据库: 根据你的需求选择合适的数据库系统
- 逐行学习: 每个脚本都有详细的行内注释
- 实践操作: 在实际数据库中运行脚本
- 对比学习: 比较不同数据库的语法差异
- 修改实验: 尝试修改代码观察结果
🐛 常见问题
1. 连接问题
- 检查数据库服务是否启动
- 确认用户名和密码正确
- 验证端口号和主机地址
2. 权限问题
- 确保用户有足够的权限创建数据库和表
- 检查防火墙设置
3. 字符编码问题
- 使用UTF-8编码保存SQL文件
- 设置正确的数据库字符集
4. 语法差异
- 注意不同数据库的语法差异
- 参考各数据库的官方文档
📊 脚本运行示例
SQLite 快速测试
# 创建数据库并运行脚本
sqlite3 hello_world.db < sql/03_sqlite_hello_world.sql
# 查询数据
sqlite3 hello_world.db "SELECT * FROM published_posts_view;"
MySQL 快速测试
# 运行脚本
mysql -u root -p < sql/01_mysql_hello_world.sql
# 查询数据
mysql -u root -p -e "USE hello_world_db; SELECT * FROM users;"
📖 进一步学习
- 查看
SQL_LEARNING.md
了解详细的SQL学习指南 - 阅读各数据库的官方文档
- 练习更复杂的查询和数据库设计
- 学习数据库性能优化
🤝 贡献
欢迎提交Issue和Pull Request来改进这个学习项目!
📄 许可证
MIT License