跳到主要内容

DOS 命令与 MySQL 常用操作指南

· 阅读需 6 分钟

DOS 命令

关闭端口占用

查看所有端口

netstat -ano

查看指定端口

netstat -ano | findstr "端口号"

关闭端口

taskkill -PID 进程号 -F

taskkill /PID 进程号 /F

启动 MySQL 服务

net start mysql

如果出现"服务名无效"错误,先执行:

mysqld --install

然后再启动:

net start mysql

停止 MySQL 服务

net stop mysql

MySQL 命令

连接与退出

登录 MySQL

mysql -u 用户名 -p

然后输入密码。

或直接在命令行输入密码(不安全,不推荐):

mysql -u 用户名 -p密码

指定主机登录

mysql -h 主机地址 -u 用户名 -p

例如:

mysql -h localhost -u root -p
mysql -h 127.0.0.1 -u root -p

退出 MySQL

exit;
-- 或
quit;
-- 或
\q

数据库操作

查看所有数据库

SHOW DATABASES;

创建数据库

CREATE DATABASE 数据库名;

指定字符集创建数据库

CREATE DATABASE 数据库名 CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

使用/切换数据库

USE 数据库名;

查看当前使用的数据库

SELECT DATABASE();

删除数据库

DROP DATABASE 数据库名;

查看数据库创建语句

SHOW CREATE DATABASE 数据库名;

表操作

查看所有表

SHOW TABLES;

创建表

CREATE TABLE 表名 (
字段名1 数据类型 [约束条件],
字段名2 数据类型 [约束条件],
...
);

示例:

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

查看表结构

DESC 表名;
-- 或
DESCRIBE 表名;
-- 或
SHOW COLUMNS FROM 表名;

查看创建表的 SQL 语句

SHOW CREATE TABLE 表名;

修改表

添加字段
ALTER TABLE 表名 ADD 字段名 数据类型;
修改字段
ALTER TABLE 表名 MODIFY 字段名 新数据类型;
-- 或
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 数据类型;
删除字段
ALTER TABLE 表名 DROP 字段名;
重命名表
RENAME TABLE 旧表名 TO 新表名;
-- 或
ALTER TABLE 旧表名 RENAME TO 新表名;

删除表

DROP TABLE 表名;

清空表数据

TRUNCATE TABLE 表名;

数据操作(CRUD)

插入数据

INSERT INTO 表名 (字段1, 字段2, ...) VALUES (1,2, ...);

插入多条:

INSERT INTO 表名 (字段1, 字段2) VALUES 
(1,2),
(3,4),
(5,6);

查询数据

SELECT * FROM 表名;

条件查询:

SELECT * FROM 表名 WHERE 条件;

示例:

SELECT * FROM users WHERE id = 1;
SELECT username, email FROM users WHERE age > 18;
SELECT * FROM users WHERE username LIKE '%张%';

更新数据

UPDATE 表名 SET 字段1 =1, 字段2 =2 WHERE 条件;

示例:

UPDATE users SET email = 'new@example.com' WHERE id = 1;

删除数据

DELETE FROM 表名 WHERE 条件;

示例:

DELETE FROM users WHERE id = 1;

用户管理

查看所有用户

SELECT user, host FROM mysql.user;

创建用户

CREATE USER '用户名'@'主机' IDENTIFIED BY '密码';

示例:

CREATE USER 'test'@'localhost' IDENTIFIED BY '123456';
CREATE USER 'test'@'%' IDENTIFIED BY '123456';

授权

GRANT 权限 ON 数据库.TO '用户名'@'主机';

示例:

-- 授予所有权限
GRANT ALL PRIVILEGES ON *.* TO 'test'@'localhost';

-- 授予特定数据库权限
GRANT ALL PRIVILEGES ON mydb.* TO 'test'@'localhost';

-- 授予特定权限
GRANT SELECT, INSERT, UPDATE ON mydb.* TO 'test'@'localhost';

刷新权限

FLUSH PRIVILEGES;

撤销权限

REVOKE 权限 ON 数据库.FROM '用户名'@'主机';

删除用户

DROP USER '用户名'@'主机';

修改密码

ALTER USER '用户名'@'主机' IDENTIFIED BY '新密码';

备份与恢复

备份数据库(DOS 命令)

mysqldump -u 用户名 -p 数据库名 > 备份文件.sql

示例:

mysqldump -u root -p mydb > mydb_backup.sql

恢复数据库(DOS 命令)

mysql -u 用户名 -p 数据库名 < 备份文件.sql

示例:

mysql -u root -p mydb < mydb_backup.sql

常用查询技巧

排序

SELECT * FROM 表名 ORDER BY 字段 ASC;   -- 升序
SELECT * FROM 表名 ORDER BY 字段 DESC; -- 降序

分页

SELECT * FROM 表名 LIMIT 数量;
SELECT * FROM 表名 LIMIT 偏移量, 数量;
SELECT * FROM 表名 LIMIT 数量 OFFSET 偏移量;

示例:

SELECT * FROM users LIMIT 10;          -- 前10条
SELECT * FROM users LIMIT 0, 10; -- 第1页,每页10条
SELECT * FROM users LIMIT 10 OFFSET 20; -- 第3页,每页10条

聚合函数

SELECT COUNT(*) FROM 表名;        -- 计数
SELECT SUM(字段) FROM 表名; -- 求和
SELECT AVG(字段) FROM 表名; -- 平均值
SELECT MAX(字段) FROM 表名; -- 最大值
SELECT MIN(字段) FROM 表名; -- 最小值

分组

SELECT 字段, COUNT(*) FROM 表名 GROUP BY 字段;

事务处理

开启事务

START TRANSACTION;
-- 或
BEGIN;

提交事务

COMMIT;

回滚事务

ROLLBACK;

示例:

START TRANSACTION;
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
UPDATE accounts SET balance = balance + 100 WHERE id = 2;
COMMIT;

常用 DOS 网络命令

查看 IP 配置

ipconfig

查看详细信息:

ipconfig /all

测试网络连接

ping 目标地址

示例:

ping www.baidu.com
ping 192.168.1.1

查看路由表

route print

追踪路由

tracert 目标地址

查看 ARP 缓存

arp -a

刷新 DNS 缓存

ipconfig /flushdns

查看系统信息

systeminfo

查看进程列表

tasklist

结束进程

taskkill /IM 进程名 /F

示例:

taskkill /IM notepad.exe /F