mysql常用命令

目录

[一、连接与退出 MySQL](#一、连接与退出 MySQL)

(1)连接数据库

(2)连接指定数据库

[(3)退出 MySQL](#(3)退出 MySQL)

二、数据库操作

(1)查看所有数据库

(2)创建数据库

(3)使用数据库

(4)删除数据库

三、数据表操作

(1)查看当前数据库中的所有表

(2)查看表结构

(3)创建表

字段数据类型(常用)

[约束关键字(约束 = 数据规则)(常见)](#约束关键字(约束 = 数据规则)(常见))

[FOREIGN KEY的使用:](#FOREIGN KEY的使用:)

[第一步:创建父表 departments](#第一步:创建父表 departments)

[第二步:创建子表 employees,添加外键约束](#第二步:创建子表 employees,添加外键约束)

(4)删除表

(5)重命名表

(6)修改表结构

四、数据操作(增删改查)

(1)插入数据

(2)查询数据

(3)更新数据

(4)删除数据

五、用户权限管理

(1)查看所有用户

(2)创建新用户

(3)授权

(4)刷新权限

(5)撤销权限

(6)删除用户

六、备份与恢复

(1)备份数据库

(2)恢复数据库

七、其他实用命令


一、连接与退出 MySQL

(1)连接数据库

复制代码
mysql -u 用户名 -p

说明:

  • -u:指定用户名

  • -p:提示输入密码,注意不要写密码本身

示例:

复制代码
mysql -u root -p

(2)连接指定数据库

复制代码
mysql -u 用户名 -p 数据库名

示例:

复制代码
mysql -u root -p mydb

(3)退出 MySQL

复制代码
exit;
-- 或者
quit;

二、数据库操作

(1)查看所有数据库

复制代码
SHOW DATABASES;

(2)创建数据库

复制代码
CREATE DATABASE 数据库名;

示例:

复制代码
CREATE DATABASE mydb;

(3)使用数据库

复制代码
USE 数据库名;

示例:

复制代码
USE mydb;

(4)删除数据库

复制代码
DROP DATABASE 数据库名;

示例:

复制代码
DROP DATABASE mydb;

三、数据表操作

(1)查看当前数据库中的所有表

复制代码
SHOW TABLES;

(2)查看表结构

复制代码
DESC 表名;
-- 或
SHOW COLUMNS FROM 表名;

(3)创建表

复制代码
CREATE TABLE 表名 (
    字段名1 数据类型 [约束],
    字段名2 数据类型 [约束],
    ...
) [表选项,如 ENGINE、CHARSET];(可无)

示例:

复制代码
CREATE TABLE users (
    id INT PRIMARY KEY AUTO_INCREMENT,          -- 用户ID,主键且自动递增
    username VARCHAR(50) NOT NULL UNIQUE,       -- 用户名,不为空且唯一
    age INT NOT NULL,                           -- 年龄,不能为空
    gender VARCHAR(10) DEFAULT '未知',           -- 性别,默认值是 '未知'
    email VARCHAR(100),                         -- 邮箱,可以为空
    created_at DATETIME DEFAULT CURRENT_TIMESTAMP -- 注册时间,默认当前时间
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;  --(可无)存储引擎为 InnoDB,默认的字符编码为 utf8mb4

字段数据类型(常用)

类型分类 常用类型 描述
数值型 INT / BIGINT / FLOAT / DECIMAL 整数或浮点数、精确小数
字符串 VARCHAR(n) / CHAR(n) / TEXT 可变/固定长度字符串、长文本
日期时间 DATE / DATETIME / TIMESTAMP 日期、时间戳类型
布尔型 BOOLEAN / TINYINT(1) 通常以0/1实现布尔值

约束关键字(约束 = 数据规则)(常见)

约束名 含义
PRIMARY KEY 主键,唯一且不为空
AUTO_INCREMENT 自增,用于主键
NOT NULL 不允许为空
UNIQUE 唯一值(可空)
DEFAULT 默认值
CHECK(...) 检查条件
FOREIGN KEY 外键,关联其他表

FOREIGN KEY的使用:

第一步:创建父表 departments
复制代码
CREATE TABLE departments (
    dept_id INT PRIMARY KEY,
    dept_name VARCHAR(100) NOT NULL
);
第二步:创建子表 employees,添加外键约束
复制代码
CREATE TABLE employees (
    emp_id INT PRIMARY KEY AUTO_INCREMENT,
    emp_name VARCHAR(100) NOT NULL,
    dept_id INT,  -- 外键列

    FOREIGN KEY (dept_id) REFERENCES departments(dept_id)
);

employees.dept_id 是外键,插入该employees表时,其dept_id 的值 必须已存在于 departments.dept_id

(4)删除表

复制代码
DROP TABLE 表名;

示例:

复制代码
DROP TABLE users;

(5)重命名表

复制代码
RENAME TABLE 原表名 TO 新表名;

(6)修改表结构

  • 添加字段:

    ALTER TABLE 表名 ADD 列名 数据类型;

  • 修改字段类型或名称:

    ALTER TABLE 表名 MODIFY 列名 新数据类型;

    ALTER TABLE 表名 CHANGE 旧列名 新列名 数据类型;

  • 删除字段:

    ALTER TABLE 表名 DROP 列名;


四、数据操作(增删改查)

(1)插入数据

复制代码
INSERT INTO 表名 (字段1, 字段2, ...) VALUES (值1, 值2, ...);

示例:

复制代码
INSERT INTO users (name, age) VALUES ('Alice', 25);

(2)查询数据

复制代码
SELECT 字段列表 FROM 表名 [WHERE 条件] [ORDER BY 字段 ASC|DESC] [LIMIT 限制];

示例:

复制代码
--1
SELECT * FROM users;
--2
SELECT name FROM users WHERE age > 18 ORDER BY age DESC LIMIT 5;

users 表中:

只查找 name 列,只查找年龄大于 18 的人,按年龄从大到小排序,最多返回前 5 条记录

(3)更新数据

复制代码
UPDATE 表名 SET 字段1=值1, 字段2=值2 WHERE 条件;

示例:

复制代码
UPDATE users SET age = 30 WHERE name = 'Alice';

(4)删除数据

复制代码
DELETE FROM 表名 WHERE 条件;

示例:

复制代码
DELETE FROM users WHERE age < 18;

五、用户权限管理

(1)查看所有用户

复制代码
SELECT user, host FROM mysql.user;

(2)创建新用户

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

示例:

复制代码
CREATE USER 'testuser'@'localhost' IDENTIFIED BY '123456';

(3)授权

复制代码
GRANT 权限列表 ON 数据库.表 TO '用户名'@'主机';

示例:

复制代码
GRANT ALL PRIVILEGES ON mydb.* TO 'testuser'@'localhost';

(4)刷新权限

复制代码
FLUSH PRIVILEGES;

(5)撤销权限

复制代码
REVOKE 权限列表 ON 数据库.表 FROM '用户名'@'主机';

(6)删除用户

复制代码
DROP USER '用户名'@'主机';

六、备份与恢复

(1)备份数据库

复制代码
mysqldump -u 用户名 -p 数据库名 > 文件名.sql

示例:

复制代码
mysqldump -u root -p mydb > mydb_backup.sql

(2)恢复数据库

复制代码
mysql -u 用户名 -p 数据库名 < 文件名.sql

示例:

复制代码
mysql -u root -p mydb < mydb_backup.sql

七、其他实用命令

  • 查看当前使用的数据库:

    SELECT DATABASE();

  • 查看当前用户:

    SELECT USER();

  • 查看版本信息:

    SELECT VERSION();

  • 设置字符集:

    SET NAMES utf8mb4;

相关推荐
NCIN EXPE14 小时前
redis 使用
数据库·redis·缓存
MongoDB 数据平台14 小时前
为编码代理引入 MongoDB 代理技能和插件
数据库·mongodb
极客on之路14 小时前
mysql explain type 各个字段解释
数据库·mysql
代码雕刻家14 小时前
MySQL与SQL Server的基本指令
数据库·mysql·sqlserver
lThE ANDE14 小时前
开启mysql的binlog日志
数据库·mysql
yejqvow1214 小时前
CSS如何控制placeholder文字的颜色_使用--placeholder伪元素
jvm·数据库·python
oLLI PILO14 小时前
nacos2.3.0 接入pgsql或其他数据库
数据库
m0_7436239214 小时前
HTML怎么创建多语言切换器_HTML语言选择下拉结构【指南】
jvm·数据库·python
pele15 小时前
Angular 表单中基于下拉选择动态启用字段必填校验的完整实现
jvm·数据库·python