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

本文共 3605 字,大约阅读时间需要 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/binmysql -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/

    你可能感兴趣的文章
    mysql自增id超大问题查询
    查看>>
    MySQL锁与脏读、不可重复读、幻读详解
    查看>>
    MySQL集群解决方案(4):负载均衡
    查看>>
    mysql颠覆实战笔记(八)--mysql的自定义异常处理怎么破
    查看>>
    MySQL高级-MySQL并发参数调整
    查看>>
    MySQL高级-视图
    查看>>
    MySQL:判断逗号分隔的字符串中是否包含某个字符串
    查看>>
    Nacos在双击startup.cmd启动时提示:Unable to start embedded Tomcat
    查看>>
    Nacos安装教程(非常详细)从零基础入门到精通,看完这一篇就够了
    查看>>
    Nacos配置中心集群原理及源码分析
    查看>>
    nacos配置自动刷新源码解析
    查看>>
    Nacos集群搭建
    查看>>
    nacos集群搭建
    查看>>
    Navicat for MySQL 查看BLOB字段内容
    查看>>
    Neo4j电影关系图Cypher
    查看>>
    Neo4j的安装与使用
    查看>>
    Neo4j(2):环境搭建
    查看>>
    Neo私链
    查看>>
    nessus快速安装使用指南(非常详细)零基础入门到精通,收藏这一篇就够了
    查看>>
    Nessus漏洞扫描教程之配置Nessus
    查看>>