1913 字
10 分钟
数据库学习笔记
MySQL和MariaDB常用命令
数据库 | 操作 | 命令 | 描述 |
---|---|---|---|
MySQL | 更新软件包列表 | sudo apt update | 更新可用软件包列表 |
安装 MySQL 服务器 | sudo apt install mysql-server | 安装 MySQL 服务器 | |
启动 MySQL 服务 | sudo systemctl start mysql | 启动 MySQL 服务 | |
检查 MySQL 服务状态 | sudo systemctl status mysql | 检查 MySQL 服务的运行状态 | |
运行安全安装脚本 | sudo mysql_secure_installation | 配置 MySQL 安全选项 | |
登录 MySQL | sudo mysql -u root -p | 登录 MySQL,输入 root 用户密码 | |
MariaDB | 更新软件包列表 | sudo apt update | 更新可用软件包列表 |
安装 MariaDB 服务器 | sudo apt install mariadb-server | 安装 MariaDB 服务器 | |
启动 MariaDB 服务 | sudo systemctl start mariadb | 启动 MariaDB 服务 | |
检查 MariaDB 服务状态 | sudo systemctl status mariadb | 检查 MariaDB 服务的运行状态 | |
运行安全安装脚本 | sudo mysql_secure_installation | 配置 MariaDB 安全选项 | |
登录 MariaDB | sudo mysql -u root -p | 登录 MariaDB,输入 root 用户密码 |
功能分类 | 命令 | 描述 |
---|---|---|
登录数据库 | mysql -u 用户名 -p | 登录 MySQL,使用指定的用户名,-p 会提示输入密码 |
显示数据库 | SHOW DATABASES; | 列出当前 MySQL 服务器中的所有数据库 |
使用数据库 | USE 数据库名; | 切换到指定数据库 |
创建数据库 | CREATE DATABASE 数据库名; | 创建一个新的数据库 |
删除数据库 | DROP DATABASE 数据库名; | 删除指定数据库 |
显示当前数据库 | SELECT DATABASE(); | 显示当前正在使用的数据库 |
显示数据库表 | SHOW TABLES; | 列出当前数据库中的所有表 |
查看表结构 | DESCRIBE 表名; | 查看表的结构 (字段、类型、主键等) |
创建表 | CREATE TABLE 表名 (字段1 数据类型, 字段2 数据类型, ...); | 创建一张表,指定列和数据类型 |
删除表 | DROP TABLE 表名; | 删除指定的表 |
插入数据 | INSERT INTO 表名 (字段1, 字段2, ...) VALUES (值1, 值2, ...); | 插入一条数据 |
查询数据 | SELECT 字段1, 字段2 FROM 表名 WHERE 条件; | 查询表中的数据,可以使用条件过滤 |
更新数据 | UPDATE 表名 SET 字段1=值1 WHERE 条件; | 更新指定的表数据 |
删除数据 | DELETE FROM 表名 WHERE 条件; | 删除符合条件的数据 |
显示创建表语句 | SHOW CREATE TABLE 表名; | 显示指定表的创建语句 |
清空表数据 | TRUNCATE TABLE 表名; | 清空表中的所有数据,但保留表结构 |
查看索引 | SHOW INDEX FROM 表名; | 查看表中所有的索引 |
创建索引 | CREATE INDEX 索引名 ON 表名 (字段); | 创建索引,提升查询速度 |
删除索引 | DROP INDEX 索引名 ON 表名; | 删除指定的索引 |
备份数据库 | mysqldump -u 用户名 -p 数据库名 > 备份文件.sql | 备份数据库,将数据库内容导出为 .sql 文件 |
恢复数据库 | mysql -u 用户名 -p 数据库名 < 备份文件.sql | 恢复数据库,将 .sql 文件导入指定数据库 |
创建用户 | CREATE USER '用户名'@'localhost' IDENTIFIED BY '密码'; | 创建一个新的 MySQL 用户 |
删除用户 | DROP USER '用户名'@'localhost'; | 删除 MySQL 用户 |
授权权限 | GRANT ALL PRIVILEGES ON 数据库名.* TO '用户名'@'localhost'; | 授予用户对某个数据库的所有权限 |
显示用户权限 | SHOW GRANTS FOR '用户名'@'localhost'; | 显示指定用户的权限 |
撤销权限 | REVOKE ALL PRIVILEGES ON 数据库名.* FROM '用户名'@'localhost'; | 撤销指定用户对某个数据库的权限 |
刷新权限 | FLUSH PRIVILEGES; | 刷新 MySQL 权限表,使权限更改生效 |
查看服务器状态 | SHOW STATUS; | 查看 MySQL 服务器的状态和性能指标 |
查看数据库引擎 | SHOW ENGINES; | 显示 MySQL 支持的所有存储引擎 |
查看连接信息 | SHOW PROCESSLIST; | 显示当前 MySQL 的所有连接信息 |
- 大多数 SQL 语句都以分号
;
结尾。 - 如果 MySQL 的权限系统发生变动(如添加或撤销用户权限),建议运行
FLUSH PRIVILEGES;
以刷新权限。
SQLite常用命令
功能分类 | 命令 | 描述 |
---|---|---|
安装 SQLite | sudo apt install sqlite3 | 在 Linux(Ubuntu)中安装 SQLite |
连接 SQLite | sqlite3 数据库名.db | 连接到 SQLite 数据库(如果不存在则创建) |
退出 SQLite | .quit | 退出 SQLite 命令行工具 |
显示数据库表 | .tables | 显示当前数据库中的所有表 |
查看表结构 | .schema 表名 | 显示指定表的创建语句 |
创建表 | CREATE TABLE 表名 (字段1 数据类型, 字段2 数据类型, ...); | 创建一张表,指定字段和数据类型 |
插入数据 | INSERT INTO 表名 (字段1, 字段2, ...) VALUES (值1, 值2, ...); | 插入一条数据 |
查询数据 | SELECT 字段1, 字段2 FROM 表名 WHERE 条件; | 查询表中的数据,可以使用条件过滤 |
更新数据 | UPDATE 表名 SET 字段1=值1 WHERE 条件; | 更新指定的表数据 |
删除数据 | DELETE FROM 表名 WHERE 条件; | 删除符合条件的数据 |
删除表 | DROP TABLE 表名; | 删除指定的表 |
查看索引 | PRAGMA index_list(表名); | 查看指定表的索引 |
创建索引 | CREATE INDEX 索引名 ON 表名 (字段); | 创建索引,提升查询速度 |
删除索引 | DROP INDEX 索引名; | 删除指定的索引 |
导出数据库 | 先.output 文件名.sql 再.dump | 导出整个数据库,保存到指定的 SQL 文件 |
导入数据库 | .read 文件名.sql | 从 SQL 文件导入数据到当前数据库 |
打开数据库 | .open 数据库名.db | 打开或切换到另一个数据库 |
PostgreSQL常用命令
操作 | 命令 | 说明 |
---|---|---|
安装 PostgreSQL | sudo apt update sudo apt install postgresql postgresql-contrib | 更新包管理器并安装 PostgreSQL 和相关插件 |
启动 PostgreSQL 服务 | sudo systemctl start postgresql | 启动 PostgreSQL 服务 |
重启 PostgreSQL 服务 | sudo systemctl restart postgresql | 重启 PostgreSQL 服务 |
停止 PostgreSQL 服务 | sudo systemctl stop postgresql | 停止 PostgreSQL 服务 |
检查 PostgreSQL 状态 | sudo systemctl status postgresql | 检查 PostgreSQL 服务的当前状态 |
设置 PostgreSQL 开机启动 | sudo systemctl enable postgresql | 设置 PostgreSQL 随系统启动自动运行 |
切换到 postgres 用户 | sudo -i -u postgres | 以 postgres 管理员用户登录 |
以指定用户登录 | psql -U 用户名 -d 数据库名 | 以指定用户登录指定数据库 |
进入 PostgreSQL shell | psql | 进入 PostgreSQL 的交互式命令行 shell |
退出 PostgreSQL shell | \q | 退出 PostgreSQL shell |
查看数据库列表 | \l | 显示当前 PostgreSQL 实例中的所有数据库 |
创建数据库 | CREATE DATABASE 数据库名; | 创建一个新数据库 |
删除数据库 | DROP DATABASE 数据库名; | 删除指定的数据库 |
查看表格列表 | \dt | 显示当前数据库中的所有表格 |
创建表格 | CREATE TABLE 表格名 (列1 数据类型, 列2 数据类型, ...); | 在数据库中创建一个新表格,并定义其列和数据类型 |
插入数据 | INSERT INTO 表格名 (列1, 列2, ...) VALUES (值1, 值2, ...); | 向表格中插入一条数据记录 |
查询数据 | SELECT * FROM 表格名; | 从表格中查询所有数据 |
创建用户 | CREATE USER 用户名 WITH PASSWORD '密码'; | 创建一个新用户,并为其设置密码 |
给用户授权 | GRANT ALL PRIVILEGES ON DATABASE 数据库名 TO 用户名; | 为指定的用户授权访问和操作指定数据库的所有权限 |
删除用户 | DROP USER 用户名; | 删除一个指定的用户 |
修改用户密码 | ALTER USER 用户名 WITH PASSWORD '新密码'; | 修改指定用户的密码 |
备份数据库 | pg_dump 数据库名 > 备份文件名.sql | 将指定数据库备份到一个 .sql 文件中 |
还原数据库 | psql 数据库名 < 备份文件名.sql | 从备份的 .sql 文件还原数据库 |