Linux下常用的MySQL 命令详解

06-01 1399阅读

戳底部名片,体验知识变现的乐趣

1. 安装与启动 MySQL

安装 MySQL

根据你的 Linux 发行版选择合适的包管理器来安装 MySQL:

  • 基于 Debian 的系统(如 Ubuntu)

    sudo apt update
    sudo apt install mysql-server
    
  • 基于 Red Hat 的系统(如 CentOS 或 Fedora)

    sudo yum install mysql-server  # 对于 CentOS 7 及更早版本
    # 或者
    sudo dnf install mysql-server  # 对于 Fedora 和 CentOS 8 及更高版本
    

    启动 MySQL 服务

    安装完成后,启动 MySQL 服务,并设置为开机自启:

    sudo systemctl start mysql
    sudo systemctl enable mysql
    

    安全配置

    首次启动后运行 mysql_secure_installation 来提高安全性:

    sudo mysql_secure_installation
    

    这将引导你完成一系列的安全选项配置,包括移除匿名用户、禁止远程 root 登录等。

    2. 连接到 MySQL

    连接到本地 MySQL 服务器:

    mysql -u root -p
    

    系统会提示你输入密码。成功登录后,你会进入 MySQL shell 环境。

    3. 创建和管理数据库

    创建数据库

    在 MySQL shell 中创建一个新的数据库:

    CREATE DATABASE database_name;
    

    列出所有数据库

    查看当前 MySQL 实例中的所有数据库:

    Linux下常用的MySQL 命令详解
    (图片来源网络,侵删)
    SHOW DATABASES;
    

    选择数据库

    切换到特定的数据库以执行后续操作:

    Linux下常用的MySQL 命令详解
    (图片来源网络,侵删)
    USE database_name;
    

    删除数据库

    删除不再需要的数据库:

    DROP DATABASE database_name;
    
    4. 创建和管理表

    创建表

    定义并创建一个新的表结构:

    CREATE TABLE table_name (
        column1 datatype constraints,
        column2 datatype constraints,
        ...
    );
    

    例如,创建一个名为 users 的表:

    CREATE TABLE users (
        id INT AUTO_INCREMENT PRIMARY KEY,
        username VARCHAR(50) NOT NULL,
        password VARCHAR(255) NOT NULL,
        created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
    );
    

    查看表结构

    检查现有表的列信息:

    DESCRIBE table_name;
    

    或者使用 SHOW COLUMNS FROM table_name;

    修改表

    添加新列或更改现有列:

    ALTER TABLE table_name ADD COLUMN new_column datatype constraints;
    ALTER TABLE table_name MODIFY COLUMN existing_column datatype new_constraints;
    

    删除表

    彻底删除一个表及其所有数据:

    DROP TABLE table_name;
    
    5. 插入、更新和删除数据

    插入数据

    向表中添加新的记录:

    INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);
    

    例如,向 users 表中插入一行:

    INSERT INTO users (username, password) VALUES ('john_doe', 'hashed_password');
    

    更新数据

    修改已有的记录:

    UPDATE table_name SET column1=value1, column2=value2, ... WHERE condition;
    

    例如,更新用户名为 john_doe 的用户密码:

    UPDATE users SET password='new_hashed_password' WHERE username='john_doe';
    

    删除数据

    从表中移除特定记录:

    DELETE FROM table_name WHERE condition;
    

    例如,删除用户名为 john_doe 的用户:

    DELETE FROM users WHERE username='john_doe';
    
    6. 查询数据

    基本查询

    从表中检索数据:

    SELECT column1, column2, ... FROM table_name WHERE condition;
    

    例如,获取所有用户的用户名和创建时间:

    SELECT username, created_at FROM users;
    

    条件查询

    使用 WHERE 子句过滤结果集:

    SELECT * FROM table_name WHERE column = value;
    

    例如,查找所有姓氏为 Smith 的用户:

    SELECT * FROM users WHERE last_name = 'Smith';
    

    排序查询

    按指定列对结果进行排序:

    SELECT * FROM table_name ORDER BY column [ASC|DESC];
    

    例如,按创建时间降序排列用户列表:

    SELECT * FROM users ORDER BY created_at DESC;
    

    分页查询

    限制返回的结果数量,并支持分页:

    SELECT * FROM table_name LIMIT offset, count;
    

    例如,分页显示每页 10 条记录:

    SELECT * FROM users LIMIT 0, 10; -- 第一页
    SELECT * FROM users LIMIT 10, 10; -- 第二页
    

    聚合函数

    计算总数、平均值、最大值、最小值等统计信息:

    SELECT COUNT(*), AVG(column), MAX(column), MIN(column) FROM table_name;
    

    例如,计算用户的总数和平均年龄:

    SELECT COUNT(*), AVG(age) FROM users;
    
    7. 用户权限管理

    创建用户

    创建一个新的 MySQL 用户:

    CREATE USER 'user_name'@'host' IDENTIFIED BY 'password';
    

    例如,创建一个名为 app_user 的用户,允许其从任何主机连接:

    CREATE USER 'app_user'@'%' IDENTIFIED BY 'secure_password';
    

    授予权限

    授予用户对特定数据库或表的操作权限:

    GRANT ALL PRIVILEGES ON database_name.* TO 'user_name'@'host';
    

    例如,授予 app_user 对 my_database 的所有权限:

    GRANT ALL PRIVILEGES ON my_database.* TO 'app_user'@'%';
    

    撤销权限

    收回之前授予的权限:

    REVOKE ALL PRIVILEGES ON database_name.* FROM 'user_name'@'host';
    

    删除用户

    删除不再需要的用户:

    DROP USER 'user_name'@'host';
    
    8. 备份与恢复

    备份数据库

    使用 mysqldump 工具导出整个数据库或单个表:

    mysqldump -u user_name -p database_name > backup.sql
    

    恢复数据库

    将 SQL 文件导入现有数据库中:

    mysql -u user_name -p database_name  
    

    或者创建一个新的数据库并将数据导入其中:

    mysql -u user_name -p -e "CREATE DATABASE new_database;"
    mysql -u user_name -p new_database  
    
    9. 其他有用命令

    退出 MySQL Shell

    离开 MySQL shell 并返回到终端:

    EXIT;
    

    或者使用 QUIT; 或直接按 Ctrl+D。

    显示当前使用的数据库

    确认当前正在使用的数据库:

    SELECT DATABASE();
    

    显示表中的所有数据

    查看表中的所有记录:

    SELECT * FROM table_name;
    

    显示 MySQL 版本

    获取 MySQL 的版本信息:

    SELECT VERSION();
    

    戳底部名片,体验知识变现的乐趣

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。

目录[+]

取消
微信二维码
微信二维码
支付宝二维码