菜鸟科技网

MySQL5.6命令有哪些常用操作及语法?

MySQL 5.6作为一款广泛使用的关系型数据库管理系统,其命令行工具是数据库管理员和开发人员进行日常操作的核心手段,掌握MySQL 5.6的命令不仅能够高效地管理数据库,还能确保数据的安全性和完整性,以下将详细介绍MySQL 5.6中常用的命令,涵盖数据库的连接、管理、表操作、数据操作、用户权限管理等多个方面,并通过表格形式对比部分命令的参数和功能,最后附上相关问答。

MySQL5.6命令有哪些常用操作及语法?-图1
(图片来源网络,侵删)

MySQL 5.6命令行连接与基础操作

要使用MySQL 5.6命令行工具,首先需要连接到MySQL服务器,常用的连接命令如下:

mysql -h [主机名] -u [用户名] -p[密码] -P [端口号] -D [数据库名]

-h指定主机名(默认为localhost),-u指定用户名,-p后直接跟密码(注意无空格)或提示输入密码,-P指定端口号(默认为3306),-D指定连接后默认操作的数据库,连接到本地MySQL服务器的test数据库,用户名为root,密码为123456,命令为:

mysql -h localhost -u root -p123456 -D test

连接成功后,会显示MySQL的提示符mysql>,此时可以输入SQL命令进行操作,基础命令包括:

  • SHOW DATABASES;:列出所有数据库。
  • USE [数据库名];:切换到指定数据库。
  • SHOW TABLES;:列出当前数据库的所有表。
  • DESC [表名];:查看表结构(字段名、数据类型、是否为空、键信息等)。
  • EXIT;QUIT;:退出MySQL命令行。

数据库与表的管理命令

  1. 数据库管理
    创建数据库:CREATE DATABASE [数据库名] [CHARACTER SET utf8mb4];
    删除数据库:DROP DATABASE [数据库名];
    修改数据库字符集:ALTER DATABASE [数据库名] CHARACTER SET utf8mb4;

    MySQL5.6命令有哪些常用操作及语法?-图2
    (图片来源网络,侵删)
  2. 表管理
    创建表:

    CREATE TABLE [表名] (
        [字段名1] [数据类型] [约束],
        [字段名2] [数据类型] [约束],
        ...
        PRIMARY KEY ([主键字段])
    ) [表选项];

    创建一个用户表(users),包含id(自增主键)、username(唯一)、password、email字段:

    CREATE TABLE users (
        id INT AUTO_INCREMENT PRIMARY KEY,
        username VARCHAR(50) NOT NULL UNIQUE,
        password VARCHAR(100) NOT NULL,
        email VARCHAR(100),
        created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

    删除表:DROP TABLE [表名];
    修改表结构(如添加字段):ALTER TABLE [表名] ADD COLUMN [字段名] [数据类型];
    修改字段类型:ALTER TABLE [表名] MODIFY [字段名] [新数据类型];
    删除字段:ALTER TABLE [表名] DROP COLUMN [字段名];

数据操作命令(CRUD)

  1. 插入数据(INSERT)
    单行插入:INSERT INTO [表名] ([字段1], [字段2]) VALUES ('值1', '值2');
    多行插入:INSERT INTO [表名] VALUES ('值1', '值2'), ('值3', '值4');
    插入查询结果:INSERT INTO [表1] SELECT * FROM [表2] WHERE [条件];

    MySQL5.6命令有哪些常用操作及语法?-图3
    (图片来源网络,侵删)
  2. 查询数据(SELECT)
    基础查询:SELECT * FROM [表名] WHERE [条件] ORDER BY [字段] LIMIT [数量];
    条件查询:SELECT * FROM users WHERE age > 18 AND gender = '男';
    模糊查询:SELECT * FROM users WHERE username LIKE '张%';(%表示任意多个字符,_表示单个字符)
    聚合函数:SELECT COUNT(*) AS total, AVG(age) AS avg_age FROM users;

  3. 更新数据(UPDATE)
    UPDATE [表名] SET [字段1] = '新值' WHERE [条件];
    更新用户名为“admin”的密码:UPDATE users SET password = 'newpass' WHERE username = 'admin';

  4. 删除数据(DELETE)
    DELETE FROM [表名] WHERE [条件];
    注意:不带WHERE条件的DELETE会删除表中所有数据,需谨慎使用。

用户与权限管理命令

MySQL 5.6通过GRANT和REVOKE命令管理用户权限。

  1. 创建用户
    CREATE USER '[用户名]'@'[主机]' IDENTIFIED BY '[密码]';
    创建本地用户testuser,密码为testpass:CREATE USER 'testuser'@'localhost' IDENTIFIED BY 'testpass';

  2. 授权
    GRANT [权限列表] ON [数据库名].[表名] TO '[用户名]'@'[主机]';
    权限列表包括SELECT、INSERT、UPDATE、DELETE、ALL PRIVILEGES等,授予testuser对test数据库所有表的查询和插入权限:
    GRANT SELECT, INSERT ON test.* TO 'testuser'@'localhost';

  3. 刷新权限
    FLUSH PRIVILEGES;(修改权限后需执行此命令使权限生效)

  4. 撤销权限
    REVOKE [权限列表] ON [数据库名].[表名] FROM '[用户名]'@'[主机]';

  5. 删除用户
    DROP USER '[用户名]'@'[主机]';

常用命令参数与功能对比

以下表格列举了部分MySQL 5.6命令的参数和功能对比:

命令类型 命令格式 功能说明
数据库连接 mysql -u root -p 以root用户连接本地MySQL服务器,提示输入密码
数据库连接 mysql -h 192.168.1.100 -P 3306 -u test -p123 连接指定IP和端口的MySQL服务器,用户名为test,密码为123
数据库查看 SHOW DATABASES; 列出所有数据库
表结构查看 DESCRIBE users; 查看users表的结构
索引创建 CREATE INDEX idx_username ON users(username); 为users表的username字段创建索引
事务操作 START TRANSACTION; COMMIT; ROLLBACK; 开始事务、提交事务、回滚事务
数据导出 mysqldump -u root -p test > test.sql 导出test数据库到test.sql文件
数据导入 mysql -u root -p test < test.sql 从test.sql文件导入数据到test数据库

相关问答FAQs

问题1:MySQL 5.6中如何修改root用户的密码?
解答:可以通过以下步骤修改root密码:

  1. 停止MySQL服务:sudo service mysql stop(Linux系统)或通过任务管理器停止(Windows系统)。
  2. 以安全模式启动MySQL:sudo mysqld_safe --skip-grant-tables(Linux)或在命令行中跳过权限表启动。
  3. 连接MySQL并更新密码:mysql -u root,然后执行:
    UPDATE mysql.user SET password=PASSWORD('新密码') WHERE User='root';
    FLUSH PRIVILEGES;
  4. 重启MySQL服务使密码生效。

问题2:MySQL 5.6中如何备份和恢复单个表?
解答:

  • 备份单个表:使用mysqldump命令指定数据库名和表名,例如备份test数据库中的users表:
    mysqldump -u root -p test users > users_backup.sql
  • 恢复单个表:使用mysql命令导入备份文件,例如将users_backup.sql恢复到test数据库:
    mysql -u root -p test < users_backup.sql

    注意:恢复时目标表必须存在,若不存在需先创建表结构。

分享:
扫描分享到社交APP
上一篇
下一篇