快速安装MySQL及常用SQL基操

76 阅读4分钟

前言

本文记录mysql在window的安装流程以及基本的操作指令汇总

安装MySQL以及相关配置

工具准备

MySQL安装包链接选择zip安装包解压

配置步骤

  • 把安装包解压到指定的目录里例如:D:\MySQL
  • 设置环境变量:打开系统属性=>选择高级=>环境变量=>系统变量中的Path添加mysql解压包中的bin路径 例如:D:\mysql\bin 步骤如下:

屏幕截图 2025-03-23 150238.png

屏幕截图 2025-03-23 145203.png

屏幕截图 2025-03-23 145432.png

屏幕截图 2025-03-23 145541.png

终端设置

  • 搜索框输入cmd使用快捷键(Ctrl+Shift+Enter)以管理员身份运行
  • 在终端中输入:mysqld install 成功会返回:service successfully installed
  • 继续输入:mysqld --initialize-insecure --user=root(没有反应就会最好的反应)
  • 继续输入:net start mysql 会返回启动成功
  • 验证:mysql -u root -p 初次没有密码回车两次
  • 设置密码:alter user 'root'@'localhost' identified by '你要设置的新密码'; 设置成功后
  • 验证密码设置是否成功:输入quit 首先退出 然后输入 mysql -u root -p 这时候输入刚设置的新密码进入mysql 接下来就可以操作mysql了

MySQL操作指令

注意输入指令后不要忘记输入分号结尾;

登入数据库

链接数据库:mysql -u root -p

数据库操作

  • 显示所有数据库:show databases;

  • 创建数据库:create database 数据库名 (例如:mysql);

  • 切换到指定数据库:use 数据库名(例如:mysql);

  • 删除数据库:drop database 数据库名(例如:mysql);

数据表操作

  • 显示当前数据库中的所有表:show tables;
  • 创建表: CREATE TABLE 表名 ( 列名1 数据类型 约束, 列名2 数据类型 约束, ... ); 例如:
CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100) NOT NULL,
    email VARCHAR(100) NOT NULL UNIQUE,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
  • 查看表结构:describe 表名(例如:users);
  • 删除表:drop table 表名(例如:users);
  • 修改表结构:
  1. 添加列:ALTER TABLE 表名 ADD COLUMN 列名 数据类型 约束;
# 例如:
ALTER TABLE users ADD COLUMN sex VARCHAR(1);

2. 删除列:ALTER TABLE 表名 DROP COLUMN 列名;

# 例如:
ALTER TABLE users DROP COLUMN sex;

3. 修改列数据类型或约束:ALTER TABLE 表名 MODIFY COLUMN 列名 新数据类型 新约束;

# 例如:
ALTER TABLE users MODIFY COLUMN name VARCHAR(10) NOT NULL;

数据操作

  • 插入数据
  1. 插入完整行:INSERT INTO 表名 (列名1, 列名2, ...) VALUES (值1, 值2, ...);
# 例如
INSERT INTO users (name, email, ...) VALUES ('boyka', 'xxx@163.com', ...);

2. 插入多行: INSERT INTO 表名 (列名1, 列名2, ...) VALUES (值1, 值2, ...), (值1, 值2, ...);

# 例如
INSERT INTO users (name,email) VALUES
('Bob','1xxx@163.com' ),
('Charlie', '2xxx@163.com'),
('Yuli', '3xxx@163.com');

3. 插入默认值:INSERT INTO 表名 VALUES (列名1, 列名2, ...);

# 例如
INSERT INTO users VALUES(id,name,email,created_at);
  • 查询数据:
  1. 查询所有数据:SELECT * FROM 表名;
# 例如
SELECT * FROM users;

2. 查询指定列:SELECT 列名1, 列名2 FROM 表名;

# 例如
SELECT name, email FROM users;

3. 带条件查询:SELECT * FROM 表名 WHERE 条件;

# 例如
SELECT * FROM users WHERE id > 1;

4. 排序查询:SELECT * FROM 表名 ORDER BY 列名 ASC|DESC;

# 例如
SELECT * FROM users ORDER BY id DESC;//或者ASC(正序)

5. 分组查询:SELECT 列名, 聚合函数 FROM 表名 GROUP BY 列名;

# 例如
SELECT email, COUNT(*) FROM users GROUP BY email;
  • 更新数据:UPDATE 表名 SET 列名1 = 值1, 列名2 = 值2 WHERE 条件;
# 例如
UPDATE users SET email ='0xxx@163.com' WHERE name = 'lly';
  • 删除数据:DELETE FROM 表名 WHERE 条件;
# 例如
DELETE FROM users WHERE name = 'boyka';

用户和权限操作

  • 查看当前用户:SELECT CURRENT_USER();
  • 创建用户:CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';
# 例如
CREATE USER 'user'@'localhost' IDENTIFIED BY '123456';
  • 删除用户: DROP USER '用户名'@'主机名';
# 例如
DROP USER 'user'@'localhost';
  • 授予权限:GRANT 权限 ON 数据库名.表名 TO '用户名'@'主机名';
# 例如
GRANT SELECT, INSERT ON nestapi.users TO 'testuser'@'localhost';
# 授予所有权限:
GRANT ALL PRIVILEGES ON nestapi.* TO 'testuser'@'localhost';
  • 撤销权限:REVOKE 权限 ON 数据库名.表名 FROM '用户名'@'主机名';
# 例如
REVOKE INSERT ON nestapi.users FROM 'user'@'localhost';
# 撤销用户对所有数据库和表的权限
REVOKE ALL PRIVILEGES ON *.* FROM 'user'@'localhost';
# 撤销用户对特定数据库的权限
REVOKE ALL PRIVILEGES ON nestapi.* FROM 'user'@'localhost';
# 撤销用户对特定表的权限
REVOKE ALL PRIVILEGES ON nestapi.users FROM 'user'@'localhost';
# 撤销特定权限
REVOKE SELECT ON nestapi.* FROM 'user'@'localhost';
# 检查用户权限
SHOW GRANTS FOR 'user'@'localhost';
  • 刷新权限:FLUSH PRIVILEGES;

其他常用命令

  • 退出 MySQL 命令行:quit or exit;
  • 查看当前数据库版本:select version();
  • 查看当前数据库字符集:SHOW VARIABLES LIKE 'character_set%';
  • 备份数据库:mysqldump -u 用户名 -p 数据库名 > 备份文件.sql;
# 例如
mysqldump -u root -p mydb > mydb_backup.sql;
  • 恢复数据库: SOURCE 备份文件路径 or mysql -u 用户名 -p 数据库名 < 备份文件.sql;
# 例如
mysql -u root -p mydb < mydb_backup.sql;

总结

以上就是MySQL在window上安装的详细步骤,以及常用sql语句的汇总,包含了数据库、数据表、数据、用户和权限等相关操作;