0
点赞
收藏
分享

微信扫一扫

软件研发 --- hello world 项目 之 数据库方言 sql

Ad大成 06-24 12:00 阅读 13

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学习指南

 

🚀 快速开始

支持的数据库系统

本项目提供以下数据库系统的示例:

  1. MySQL - 最流行的开源关系型数据库
  2. PostgreSQL - 功能强大的开源对象关系型数据库
  3. SQLite - 轻量级嵌入式数据库
  4. SQL Server - Microsoft的企业级数据库
  5. Oracle - Oracle公司的企业级数据库

📚 安装和配置指南

1. MySQL

安装 MySQL

Windows:

  1. 下载 MySQL Installer: https://dev.mysql.com/downloads/installer/
  2. 运行安装程序,选择"Developer Default"
  3. 设置root密码
  4. 完成安装

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:

  1. 下载 PostgreSQL: https://www.postgresql.org/download/windows/
  2. 运行安装程序
  3. 设置postgres用户密码
  4. 记住端口号(默认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:

  1. 下载 SQLite: https://www.sqlite.org/download.html
  2. 解压到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:

  1. 下载 SQL Server Developer Edition: https://www.microsoft.com/en-us/sql-server/sql-server-downloads
  2. 运行安装程序
  3. 选择"Basic"安装
  4. 安装 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):

  1. 下载 Oracle XE: https://www.oracle.com/database/technologies/xe-downloads.html
  2. 运行安装程序
  3. 设置系统密码

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. 实践操作: 在实际数据库中运行脚本
  4. 对比学习: 比较不同数据库的语法差异
  5. 修改实验: 尝试修改代码观察结果

🐛 常见问题

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

举报

相关推荐

0 条评论