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 表名; |
查看表的结构 (字段、类型、主键等) |
查看表数据 | SELECT * FROM 表名; |
查看表里的数据 |
创建表 | 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;
以刷新权限。
忘记密码后重置密码
- 编辑配置文件
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf # MariaDB
# 或
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf # MySQL
在[mysqld]
段落下添加配置开启无密码登录:
[mysqld]
skip-grant-tables
skip-networking
- 重启服务
sudo systemctl restart mysql
- 无密码登录并修改密码
mysql -u root
执行SQL命令:
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
-
恢复配置文件:删除刚添加的两行,然后重启
-
重启服务
sudo systemctl restart mysql
- 使用新密码登录
mysql -u root -p
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 文件还原数据库 |
❤️转载请注明出处❤️