本文共 3605 字,大约阅读时间需要 12 分钟。
数据库管理系统(DBMS)是系统软件,是数据库系统的核心。它提供了标准化的接口和工具,以便用户可以与数据库进行交互。常见的数据库管理系统包括Access、MySQL和SQL Server等。
Access(或Microsoft Access)是一款轻量级的关系型数据库管理系统,主要用于小型到中型应用开发。它的界面友好,易于操作,适合非技术用户。此外,Access也支持通过OLEDB或ODBC协议与其他数据库系统连接。
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上安装并配置MySQL需要遵循以下步骤:
安装过程记录:安装时记录弹窗中的密码,若忘记可重新登录并修改。
配置bash配置文件:
open .bash_profile(不需touch该文件)。PATH=$PATH:/usr/local/mysql/bin
source ~/.bash_profile使配置生效。登录MySQL:
mysql -uroot -p,输入保留的密码。SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpassword');关闭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语句与标准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
varchar(MAX)类型可替代SQL Server的varchar(MAX)。mysqldump -u root -p databaseName > test.sql
进入MySQL:
mysql -uroot -p
恢复数据:
use newDatabaseName;source /path/to/test.sql;
PHPMyAdmin是免费的开源工具,界面简洁,支持主要数据库类型。安装后可通过浏览器连接数据库,操作步骤如下:
Navicat是另一种免费工具,支持多种数据库类型,界面友好。安装后可通过创建数据库连接,选择数据库并进行操作。
SQLite是一款轻量级数据库,支持ACID事务。默认开启事务支持,适合嵌入式设备使用。
/data/data/package_name/database/,敏感数据需加密。数据加密:
文件加密:
继承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支持复杂图遍历和模式匹配。常用命令包括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命令清空所有数据。./bin/neo4j start
./bin/neo4j-admin set-initial-password password
通过以上内容,可以全面了解数据库管理系统及其常见类型,包括安装配置、操作命令、安全性等方面。
转载地址:http://luqt.baihongyu.com/