博客
关于我
【数据库学习】数据库平台:Access,mysql,sql server,neo4j
阅读量:237 次
发布时间:2019-03-01

本文共 3628 字,大约阅读时间需要 12 分钟。

数据库管理系统(DBMS)及其常见类型

数据库管理系统(DBMS)是系统软件,是数据库系统的核心。它提供了标准化的接口和工具,以便用户可以与数据库进行交互。常见的数据库管理系统包括Access、MySQL和SQL Server等。

Access

Access(或Microsoft Access)是一款轻量级的关系型数据库管理系统,主要用于小型到中型应用开发。它的界面友好,易于操作,适合非技术用户。此外,Access也支持通过OLEDB或ODBC协议与其他数据库系统连接。

MySQL

MySQL是世界上最广泛使用的开源数据库管理系统,由Oracle公司开发。它支持多种通信协议,包括TCP/IP、Unix Socket、Shared Memory和Named Pipes,确保在不同操作系统和网络环境中都能高效运行。

通信协议

MySQL实现了四种通信协议:

  • TCP/IP协议:这是最常用的协议,用于跨机器的数据库连接,各种编程语言都基于此协议实现了连接模块。

  • Unix Socket协议:通常用于在MySQL服务器内部或本地机器上连接数据库,效率最高。

  • Shared Memory协议:仅适用于Windows操作系统,使用时需要指定–shared-memory参数,但由于一个host上只能有一个server,这一协议实际应用有限。

  • Named Pipes协议:同样仅适用于Windows,使用时需要指定–enable-named-pipe选项,适用于局域网环境。

  • macOS安装及配置

    在macOS上安装并配置MySQL需要遵循以下步骤:

  • 安装过程记录:安装时记录弹窗中的密码,若忘记可重新登录并修改。

  • 配置bash配置文件

    • 打开终端,输入命令open .bash_profile(不需touch该文件)。
    • 编辑文件并添加MySQL安装路径:
      PATH=$PATH:/usr/local/mysql/bin
    • 保存修改并执行source ~/.bash_profile使配置生效。
  • 登录MySQL

    • 输入命令mysql -uroot -p,输入保留的密码。
    • 若忘记密码,可按照以下步骤重置:
      SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpassword');
  • MySQL忘记密码恢复

  • 关闭MySQL偏好设置:关闭数据库服务。

  • 终端登录

    • 输入命令cd /usr/local/mysql/bin进入MySQL安装目录。
    • 输入sudo su,提供管理员密码。
  • 启动MySQL

    • 输入命令./mysqld_safe --skip-grant-tables,这将禁用表级权限以便重新登录。
  • 重新登录

    • 在新终端中输入mysql -u root(无需密码),即可重新登录。
  • 修改root密码

    • 执行FLUSH PRIVILEGES;,赋予权限。
    • 输入命令SET PASSWORD FOR root@'localhost' = PASSWORD('newpassword');,并执行FLUSH PRIVILEGES;刷新权限。
  • 正常使用

    • 输入mysql -uroot -p,输入新密码即可登录。
  • MySQL使用

    SQL语句基础

    MySQL的SQL语句与标准SQL基本一致。要进入MySQL:

    cd /usr/local/mysql/bin
    mysql -uroot -p

    数据库操作

  • 创建库

    create database testDB character set utf8;
  • 修改库编码

    alter database app_relation character set utf8;
  • 表操作

    • 自增字段:使用AUTO_INCREMENT,示例:
      id int AUTO_INCREMENT primary key not null
    • 文本字段:MySQL的varchar(MAX)类型可替代SQL Server的varchar(MAX)
  • 数据库备份与恢复

    备份

  • 使用mysqldump
    • 打开终端,进入要存储备份的目录。
    • 输入命令:
      mysqldump -u root -p databaseName > test.sql
  • 恢复

  • 进入MySQL

    mysql -uroot -p
  • 恢复数据

    use newDatabaseName;
    source /path/to/test.sql;
  • 可视化工具

    PHPMyAdmin

    PHPMyAdmin是免费的开源工具,界面简洁,支持主要数据库类型。安装后可通过浏览器连接数据库,操作步骤如下:

  • 安装PHP和Apache。
  • 配置PHPMyAdmin,创建数据库并添加用户。
  • 使用URL连接数据库,输入数据库名称和密码。
  • Navicat是另一种免费工具,支持多种数据库类型,界面友好。安装后可通过创建数据库连接,选择数据库并进行操作。

    Android中的SQLite

    SQLite概述

    SQLite是一款轻量级数据库,支持ACID事务。默认开启事务支持,适合嵌入式设备使用。

    数据库安全

    • root权限下数据库可位于/data/data/package_name/database/,敏感数据需加密。
    • SQLite不支持加密,需对数据库文件或数据进行加密。

    加密方法

  • 数据加密

    • 对明文数据加密生成密文。
    • 解密时返回明文。
  • 文件加密

    • 修改SQLite源码,添加加密功能。
    • 编译并部署加密库文件,修改数据库访问逻辑。
  • 数据库操作

    SQLiteOpenHelper

    继承SQLiteOpenHelper类实现数据库操作:

  • 创建Helper类

    public class MyHelper extends SQLiteOpenHelper {
    private static final String DB_NAME = "luoDB.db";
    public static final String TABLE_NAME_TASK = "Task";
    public MyHelper(Context context) {
    super(context, DB_NAME, null, 1);
    }
    @Override
    public void onCreate(SQLiteDatabase db) {
    // 创建表
    db.execSQL("CREATE TABLE Task (" +
    "TaskCode TEXT PRIMARY KEY," +
    "TaskName TEXT," +
    "TaskState TEXT" +
    ");");
    }
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    // 数据库升级逻辑
    }
    }
  • 使用数据库

    • 获取可读或可写数据库。
    • 执行查询、插入、更新和删除操作。
  • 事务管理

    • 数据库操作应包围在beginTransaction()commit()内,确保数据完整性。
    • 处理异常时使用rollBack()

    Neo4j

    标签属性图模型

    Neo4j采用标签属性图模型,擅长网络数据分析。节点代表实体,关系表示连接,属性存储元数据。

    Cypher语法

    Neo4j的查询语言Cypher支持复杂图遍历和模式匹配。常用命令包括CREATEMATCHRETURNWHEREDELETE等。

    常用命令示例

    • 创建节点和关系

      CREATE (:Movie {title: "The Matrix"});
      CREATE (:Person {name: "Neo"});
      CREATE (:Person)-[:ACTED_IN]-(:Movie);
    • 查询示例

      MATCH (m:Movie) 
      RETURN m.title, m.releaseYear;

    数据库管理

    • 备份:使用neo4j-admin dump命令备份数据库。
    • 恢复:使用neo4j-admin restore命令还原数据库。
    • 清空数据:使用match (n) detach delete n命令清空所有数据。

    shell命令

    • 重启服务
      ./bin/neo4j start
    • 重置密码
      ./bin/neo4j-admin set-initial-password password

    通过以上内容,可以全面了解数据库管理系统及其常见类型,包括安装配置、操作命令、安全性等方面。

    转载地址:http://luqt.baihongyu.com/

    你可能感兴趣的文章
    node环境:Error listen EADDRINUSE :::3000
    查看>>
    Node的Web应用框架Express的简介与搭建HelloWorld
    查看>>
    Node第一天
    查看>>
    node编译程序内存溢出
    查看>>
    Node读取并输出txt文件内容
    查看>>
    node防xss攻击插件
    查看>>
    noi 1996 登山
    查看>>
    noi 7827 质数的和与积
    查看>>
    NOI-1.3-11-计算浮点数相除的余数
    查看>>
    noi.ac #36 模拟
    查看>>
    NOI2010 海拔(平面图最大流)
    查看>>
    NOIp2005 过河
    查看>>
    NOIP2011T1 数字反转
    查看>>
    NOIP2014 提高组 Day2——寻找道路
    查看>>
    noip借教室 题解
    查看>>
    NOIP模拟测试19
    查看>>
    NOIp模拟赛二十九
    查看>>
    Vue3+element plus+sortablejs实现table列表拖拽
    查看>>
    Nokia5233手机和我装的几个symbian V5手机软件
    查看>>
    non linear processor
    查看>>