sql的使用

MySQL、PostgreSQL关系型和MongoDB 和 Redis非关系型数据库

一、前期准备

在安装和使用数据库之前,确保你的 CentOS 7 系统具备以下条件:

  • 系统安装了基本的开发工具:如 gccmake 等。
  • 有权限使用 sudo 命令。
  • 有良好的网络环境以下载软件包。

你可以通过以下命令确保系统软件包是最新的:

sudo yum update -y

二、关系型数据库

1. MySQL

MySQL 是最流行的开源关系型数据库之一,广泛应用于Web应用、ERP系统等场景。接下来详细讲解如何在 CentOS 7上安装、配置、使用以及开发中的 SQL 示例。

1.1 CentOS 7 安装 MySQL
  1. 安装 MySQL 官方源
    CentOS 7 默认的 yum 源中没有 MySQL,因此需要先下载安装 MySQL 官方源。

    sudo yum install https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
    
  2. 安装 MySQL

    sudo yum install mysql-server -y
    
  3. 启动 MySQL 并设置为开机自启

    sudo systemctl start mysqld
    sudo systemctl enable mysqld
    
  4. 设置初始 root 密码
    MySQL 安装完成后会生成一个初始密码,使用以下命令查看:

    sudo grep 'temporary password' /var/log/mysqld.log
    

    使用这个密码登录并强制修改:

    mysql -u root -p
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword123!';
    
1.2 MySQL 开发使用
  1. 创建数据库

    CREATE DATABASE testdb;
    
  2. 创建表

    USE testdb;
    CREATE TABLE users (
        id INT AUTO_INCREMENT PRIMARY KEY,
        username VARCHAR(50),
        email VARCHAR(50),
        password VARCHAR(255)
    );
    
  3. 插入数据

    INSERT INTO users (username, email, password) VALUES ('user1', 'user1@example.com', 'pass123');
    
  4. 查询数据

    SELECT * FROM users;
    
  5. 高级操作:复杂查询与事务

    • 联合查询
      SELECT u.username, o.order_id FROM users u JOIN orders o ON u.id = o.user_id;
      
    • 事务操作
      START TRANSACTION;
      UPDATE users SET password='newpass' WHERE username='user1';
      COMMIT;
      
1.3 PC 上的 MySQL 安装

在 PC(Windows 或 macOS)上安装 MySQL,可以通过 MySQL 官网下载合适版本:

下载完成后按照安装向导安装,并根据需求设置用户名和密码。


2. PostgreSQL

PostgreSQL 是一个高扩展性和标准化的关系型数据库,支持复杂的数据类型和查询,常用于金融、GIS等高要求的数据处理场景。

2.1 CentOS 7 安装 PostgreSQL
  1. 添加 PostgreSQL 仓库

    sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-centos10-10-2.noarch.rpm
    
  2. 安装 PostgreSQL

    sudo yum install -y postgresql10-server postgresql10
    
  3. 初始化数据库并启动

    sudo /usr/pgsql-10/bin/postgresql-10-setup initdb
    sudo systemctl start postgresql-10
    sudo systemctl enable postgresql-10
    
2.2 PostgreSQL 开发使用
  1. 创建用户和数据库

    sudo -u postgres psql
    

    psql 中:

    CREATE USER devuser WITH PASSWORD 'devpassword';
    CREATE DATABASE devdb OWNER devuser;
    GRANT ALL PRIVILEGES ON DATABASE devdb TO devuser;
    
  2. 表和数据操作

    \c devdb;
    CREATE TABLE products (
        id SERIAL PRIMARY KEY,
        name VARCHAR(100),
        price NUMERIC(12, 2)
    );
    INSERT INTO products (name, price) VALUES ('Laptop', 999.99);
    SELECT * FROM products;
    
  3. 高级操作:复杂查询与函数

    • 窗口函数
      SELECT name, price, RANK() OVER (ORDER BY price DESC) FROM products;
      
    • 自定义函数
      CREATE FUNCTION calculate_discount(price NUMERIC) RETURNS NUMERIC AS $$
      BEGIN
          RETURN price * 0.9;
      END;
      $$ LANGUAGE plpgsql;
      

  1. MySQLPostgreSQL 是关系型数据库,适合复杂事务和查询的场景。MySQL 更加简便,PostgreSQL 更加标准化和强大

三、非关系型数据库

1. MongoDB

MongoDB 是一种文档型的 NoSQL 数据库,使用 JSON 风格的 BSON 文档存储数据,常用于海量数据存储和实时分析场景。

1.1 CentOS 7 安装 MongoDB
  1. 添加 MongoDB 仓库

    cat <<EOF | sudo tee /etc/yum.repos.d/mongodb-org-4.4.repo
    [mongodb-org-4.4]
    name=MongoDB Repository
    baseurl=https://repo.mongodb.org/yum/redhat/\$releasever/mongodb-org/4.4/x86_64/
    gpgcheck=1
    enabled=1
    gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc
    EOF
    
  2. 安装 MongoDB

    sudo yum install -y mongodb-org
    
  3. 启动 MongoDB

    sudo systemctl start mongod
    sudo systemctl enable mongod
    
1.2 MongoDB 开发使用
  1. 连接 MongoDB

    mongo
    
  2. 创建数据库与集合

    use mydb;
    db.createCollection("users");
    db.users.insert({ name: "Alice", age: 25, email: "alice@example.com" });
    
  3. 查询数据

    db.users.find();
    
  4. 高级操作:索引与聚合

    • 创建索引
      db.users.createIndex({ email: 1 });
      
    • 聚合操作
      db.users.aggregate([
        { $match: { age: { $gt: 20 } } },
        { $group: { _id: null, avgAge: { $avg: "$age" } } }
      ]);
      

2. Redis

Redis 是一种基于内存的键值存储数据库,广泛用于缓存、消息队列等需要高性能的场景。

2.1 CentOS 7 安装 Redis
  1. 安装 EPEL 仓库

    sudo yum install epel-release -y
    
  2. 安装 Redis

    sudo yum install redis -y
    
  3. 启动 Redis

    sudo systemctl start redis
    sudo systemctl enable redis
    
2.2 Redis 开发使用
  1. 连接 Redis

    redis-cli
    
  2. 基本操作

    SET user:1 "Alice"
    GET user:1
    
  3. 高级操作:集合与发布订阅

    • 集合操作
      SADD myset "item1" "item2" "item3"
      SMEMBERS myset
      
    • 发布订阅
      SUBSCRIBE mychannel
      PUBLISH mychannel "Hello, Redis!"
      

连接工具

在 CentOS 7 环境中,安装好 MySQL、PostgreSQL、MongoDB 和 Redis 后,可以使用图形化界面工具和命令行工具连接和管理数据库。以下是常用的数据库连接工具介绍,以及它们在不同操作系统下的安装方式。

1. MySQL

常用连接工具
  • MySQL Workbench: 官方提供的图形化管理工具,支持查询、设计和管理 MySQL 数据库。
  • DBeaver: 一款跨平台数据库管理工具,支持多种数据库,包括 MySQL。
  • HeidiSQL: 轻量级的 MySQL 图形化管理工具。
安装和使用
  • MySQL Workbench

  • DBeaver

    • DBeaver 在 官方页面 提供下载包,支持多平台。
    • CentOS 安装:
      1. 下载 DBeaver 的 RPM 包:
        wget https://dbeaver.io/files/dbeaver-ce-latest-stable.x86_64.rpm
        
      2. 安装 DBeaver:
        sudo yum install -y ./dbeaver-ce-latest-stable.x86_64.rpm
        
  • HeidiSQL(仅支持 Windows):

连接示例
  1. 打开 MySQL Workbench 或 DBeaver。
  2. 选择 “New Connection”。
  3. 输入以下连接信息:
    • Host: localhost(或远程服务器的 IP 地址)
    • Port: 3306
    • Username: root
    • Password: 你设置的密码
    • Database: mydb(可选)

2. PostgreSQL

常用连接工具
  • pgAdmin: 官方提供的图形化管理工具,支持查询、设计和管理 PostgreSQL 数据库。
  • DBeaver: 同样支持 PostgreSQL。
安装和使用
  • pgAdmin

    • Windows 和 macOS 用户可以从 pgAdmin 官方网站 下载。
    • CentOS 安装:
      1. 安装 EPEL 仓库:
        sudo yum install -y epel-release
        
      2. 安装 pgAdmin 4:
        sudo yum install -y pgadmin4
        
  • DBeaver:如上所述,DBeaver 支持 PostgreSQL。

连接示例
  1. 打开 pgAdmin 或 DBeaver。
  2. 创建一个新连接,输入以下信息:
    • Host: localhost(或远程服务器的 IP 地址)
    • Port: 5432
    • Username: postgres(或创建的用户)
    • Password: 对应用户密码
    • Database: mydb(可选)

3. MongoDB

常用连接工具
  • MongoDB Compass: MongoDB 官方提供的图形化工具,支持管理和查询 MongoDB 数据。
  • Robo 3T: 轻量级的 MongoDB 管理工具。
安装和使用
  • MongoDB Compass

    • MongoDB 官方网站 下载适用于你的系统的 Compass 版本。
    • CentOS 安装:
      1. 下载 MongoDB Compass:
        wget https://downloads.mongodb.com/compass/mongodb-compass-1.33.1.x86_64.rpm
        
      2. 安装 Compass:
        sudo yum install -y ./mongodb-compass-1.33.1.x86_64.rpm
        
  • Robo 3T

连接示例
  1. 打开 MongoDB Compass 或 Robo 3T。
  2. 输入以下连接信息:
    • Host: localhost
    • Port: 27017
    • Authentication: 使用你设置的用户名和密码(如果启用了身份验证)
    • Database: mydb(可选)

4. Redis

常用连接工具
  • RedisInsight: Redis 官方提供的图形化管理工具,支持 Redis 查询和数据管理。
  • Another Redis Desktop Manager (RDM): 跨平台的 Redis 管理工具。
安装和使用
连接示例
  1. 打开 RedisInsight 或 RDM。
  2. 新建一个 Redis 连接,输入以下信息:
    • Host: localhost(或远程 Redis 服务器的 IP 地址)
    • Port: 6379
    • Password: 如果 Redis 设置了密码,请填写,否则留空。

总结

  • MySQL:可使用 MySQL Workbench、DBeaver、HeidiSQL 等工具。
  • PostgreSQL:可使用 pgAdmin、DBeaver 等工具。
  • MongoDB:可使用 MongoDB Compass、Robo 3T 等工具。
  • Redis:可使用 RedisInsight、RDM 等工具。

这些工具提供了方便的图形界面,帮助开发者可视化管理数据库,执行查询,并进行调试和优化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值