博客
关于我
【数据库学习】数据库平台: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支持复杂图遍历和模式匹配。常用命令包括CREATE、MATCH、RETURN、WHERE、DELETE等。

    常用命令示例

    • 创建节点和关系:

      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/

    你可能感兴趣的文章
    Python 之匿名函数和偏函数
    查看>>
    python 之栈的实现
    查看>>
    python语音播放
    查看>>
    python语言:装饰器原理
    查看>>
    Python 交互式数据可视化详解
    查看>>
    python语言有哪些优点和缺点_Python有哪些优缺点,你了解吗?
    查看>>
    Python 从入门到精通:30天速成教程到底有多狠?你能坚持下来吗?
    查看>>
    Python 从数据库中存储和检索密码的最安全方法
    查看>>
    Python语言及其应用 - 知识点遍历
    查看>>
    Python 优化提速的 8 个小技巧
    查看>>
    Python 余弦相似度与皮尔逊相关系数 计算
    查看>>
    python 使用execjs 报编码错误解决办法,UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xac in position 145: il
    查看>>
    python 使用filetype校验文件
    查看>>
    Python 使用flush函数将缓冲区数据立即写磁盘
    查看>>
    python 使用in判断不准确,in不好使
    查看>>
    Python 使用pandas 进行查询和统计详解
    查看>>
    Redis 配置文件redis.conf详细解释
    查看>>
    python网络爬虫(2)——scrapy框架的基础使用
    查看>>
    python网络爬虫实例教程试读_Python网络爬虫实战教程(全套完整版) - 学途无忧网 - 做技术的王者 - Powered By EduSoho...
    查看>>
    Python 使用哈希函数用于加密
    查看>>