MySQL 是一种开源的关系型数据库管理系统,广泛应用于各种 Web 应用、数据分析和数据存储领域,通过命令行终端操作 MySQL 数据库,可以高效地管理和维护数据库系统,以下是对 MySQL 数据库操作命令行的详细介绍:
基本操作
1、连接到 MySQL 数据库
命令:mysql u 用户名 p
示例:mysql u root p
说明: 输入该命令后,系统会提示输入密码,成功登录后进入 MySQL 命令行模式。
2、查看所有数据库
命令:SHOW DATABASES;
示例:SHOW DATABASES;
说明: 列出当前 MySQL 服务器中所有的数据库。
3、选择数据库
命令:USE 数据库名;
示例:USE test_db;
说明: 选择要操作的数据库。
4、查看当前数据库的所有表
命令:SHOW TABLES;
示例:SHOW TABLES;
说明: 列出当前数据库中的所有表。
5、查看表结构
命令:DESCRIBE 表名;
或SHOW COLUMNS FROM 表名;
示例:DESCRIBE users;
说明: 显示指定表的结构信息。
数据库操作
1、创建数据库
命令:CREATE DATABASE 数据库名;
示例:CREATE DATABASE my_db;
说明: 创建一个新的数据库。
2、删除数据库
命令:DROP DATABASE 数据库名;
示例:DROP DATABASE my_db;
说明: 删除指定的数据库。
数据表操作
1、创建表
命令:CREATE TABLE 表名 (列名1 数据类型 [约束], 列名2 数据类型 [约束], ...);
示例:CREATE TABLE users (id INT NOT NULL AUTO_INCREMENT, name VARCHAR(50), age INT, PRIMARY KEY (id));
说明: 创建一个包含多个列的新表。
2、删除表
命令:DROP TABLE 表名;
示例:DROP TABLE users;
说明: 删除指定的表。
3、修改表结构
添加列:ALTER TABLE 表名 ADD 列名 数据类型 [约束];
示例:ALTER TABLE users ADD email VARCHAR(100);
说明: 向表中添加新列。
删除列:ALTER TABLE 表名 DROP COLUMN 列名;
示例:ALTER TABLE users DROP COLUMN email;
说明: 从表中删除指定的列。
修改列属性:ALTER TABLE 表名 MODIFY COLUMN 列名 新数据类型 [新约束];
示例:ALTER TABLE users MODIFY COLUMN name VARCHAR(100);
说明: 修改列的数据类型或其他属性。
4、重命名表
命令:ALTER TABLE 旧表名 RENAME TO 新表名;
示例:ALTER TABLE old_users RENAME TO new_users;
说明: 将旧表重命名为新表。
数据操作
1、插入数据
命令:INSERT INTO 表名 (列1, 列2, ...) VALUES (值1, 值2, ...);
示例:INSERT INTO users (name, age) VALUES ('Alice', 30);
说明: 向表中插入一条新记录。
2、查询数据
命令:SELECT 列1, 列2, ... FROM 表名 [WHERE 条件];
示例:SELECT name, age FROM users;
说明: 查询并显示符合条件的记录。
3、更新数据
命令:UPDATE 表名 SET 列1 = 值1, 列2 = 值2, ... [WHERE 条件];
示例:UPDATE users SET age = 31 WHERE name = 'Alice';
说明: 更新符合条件的记录。
4、删除数据
命令:DELETE FROM 表名 [WHERE 条件];
示例:DELETE FROM users WHERE name = 'Alice';
说明: 删除符合条件的记录。
索引操作
1、创建索引
命令:CREATE INDEX 索引名 ON 表名 (列名);
示例:CREATE INDEX idx_name ON users (name);
说明: 为表中的某列创建索引。
2、删除索引
命令:DROP INDEX 索引名 ON 表名;
示例:DROP INDEX idx_name ON users;
说明: 删除指定的索引。
事务管理
1、开始事务
命令:START TRANSACTION;
或BEGIN;
示例:START TRANSACTION;
说明: 开始一个新的事务。
2、提交事务
命令:COMMIT;
示例:COMMIT;
说明: 提交当前事务,使所有更改永久生效。
3、回滚事务
命令:ROLLBACK;
示例:ROLLBACK;
说明: 回滚当前事务,撤销所有未提交的更改。
权限管理
1、创建用户
命令:CREATE USER '用户名'@'主机' IDENTIFIED BY '密码';
示例:CREATE USER 'alice'@'localhost' IDENTIFIED BY 'password';
说明: 创建一个新的用户。
2、授权用户权限
命令:GRANT 权限 ON 数据库名.* TO '用户名'@'主机';
示例:GRANT ALL PRIVILEGES ON test_db.* TO 'alice'@'localhost';
说明: 授予用户在指定数据库上的权限。
3、刷新权限
命令:FLUSH PRIVILEGES;
示例:FLUSH PRIVILEGES;
说明: 刷新系统权限相关表,使权限更改立即生效。
常见问题解答(FAQs)
Q1: 如果忘记了 MySQL 的 root 密码怎么办?
A1: 如果忘记了 MySQL 的 root 密码,可以通过以下步骤重置:
1、停止正在运行的 MySQL 服务,对于 Windows,可以使用“net stop mysql”命令;对于 Linux,可以使用“sudo systemctl stop mysqld”或“sudo service mysql stop”。
2、启动 MySQL 服务,跳过授权表验证,对于 Windows,可以使用“mysqld skipgranttables”命令;对于 Linux,可以在启动命令中加入“skipgranttables”参数。
3、以安全模式登录到 MySQL,使用“mysql u root”命令。
4、在 MySQL 命令行中执行以下 SQL 语句来重置 root 密码:
FLUSH PRIVILEGES; ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
5、退出 MySQL,然后重新启动 MySQL 服务,对于 Windows,使用“net start mysql”命令;对于 Linux,使用“sudo systemctl start mysqld”或“sudo service mysql start”。
6、现在应该可以使用新设置的密码登录到 MySQL。
Q2: 如何查看当前数据库中的表结构?
A2: 你可以使用以下命令来查看当前数据库中某个表的结构:
DESCRIBE table_name;
或者:
SHOW COLUMNS FROM table_name;
这些命令会显示表中每个字段的名称、数据类型和其他属性。
DESCRIBE users;
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1083819.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复