前言
本文记录mysql在window的安装流程以及基本的操作指令汇总
安装MySQL以及相关配置
工具准备
配置步骤
- 把安装包解压到指定的目录里
例如:D:\MySQL
- 设置环境变量:打开系统属性=>选择高级=>环境变量=>系统变量中的Path添加mysql解压包中的bin路径 例如:
D:\mysql\bin
步骤如下:
终端设置
- 搜索框输入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)
; - 修改表结构:
- 添加列: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;
数据操作
- 插入数据
- 插入完整行: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);
- 查询数据:
- 查询所有数据: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语句的汇总,包含了数据库、数据表、数据、用户和权限等相关操作;