mysql使用,MySQL 的基础使用指南

时间:2025-09-20 13:11

MySQL 是一种广泛使用的关系型数据库管理系统,其使用涉及数据库创建、表操作、数据增删改查(CRUD)等核心操作。以下是 MySQL 的基础使用指南:

一、连接 MySQL 服务器

首先需要通过客户端工具或命令行连接到 MySQL 服务器:

命令行连接:

bash
# 基本格式
mysql -u 用户名 -p

# 示例(用户名 root)
mysql -u root -p
# 输入密码后回车(密码输入时不显示)
 
连接成功后,会显示 MySQL 命令行提示符 mysql>

二、数据库操作

1. 查看所有数据库

sql
SHOW DATABASES;
 

2. 创建数据库

sql
# 基本语法:CREATE DATABASE 数据库名;
CREATE DATABASE mydb;  -- 创建名为 mydb 的数据库

# 创建时指定字符集(推荐,避免中文乱码)
CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
 

3. 切换数据库(使用数据库)

sql
USE mydb;  -- 切换到 mydb 数据库(后续操作默认在此库中执行)
 

4. 删除数据库(谨慎操作!)

sql
DROP DATABASE mydb;  -- 删除 mydb 数据库,数据将全部丢失
 

三、表操作(需先切换到目标数据库)

1. 查看当前数据库的所有表

sql
SHOW TABLES;
 

2. 创建表

基本语法:
sql
CREATE TABLE 表名 (
  列名1 数据类型 [约束],
  列名2 数据类型 [约束],
  ...
  [主键/外键等约束]
);
 
示例(创建 users 表):
sql
CREATE TABLE users (
  id INT AUTO_INCREMENT PRIMARY KEY,  -- 自增主键
  name VARCHAR(50) NOT NULL,          -- 姓名(非空)
  age INT,                            -- 年龄
  email VARCHAR(100) UNIQUE,          -- 邮箱(唯一,不重复)
  create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP  -- 创建时间(默认当前时间)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
 

3. 查看表结构

sql
DESCRIBE users;  -- 或简写为 DESC users;
 

4. 修改表(添加 / 修改 / 删除列)

sql
-- 添加列
ALTER TABLE users ADD COLUMN phone VARCHAR(20);

-- 修改列类型或约束
ALTER TABLE users MODIFY COLUMN age TINYINT;

-- 删除列
ALTER TABLE users DROP COLUMN phone;
 

5. 删除表(谨慎操作!)

sql
DROP TABLE users;  -- 删除 users 表,表中数据全部丢失
 

四、数据操作(CRUD)

假设已创建 users 表,以下是基本数据操作:

1. 插入数据(Create)

sql
-- 全列插入(按表结构顺序)
INSERT INTO users (name, age, email) 
VALUES ('Alice', 25, 'alice@example.com');

-- 部分列插入(未指定的列用默认值,如 create_time 会自动取当前时间)
INSERT INTO users (name, email) 
VALUES ('Bob', 'bob@example.com');

-- 批量插入
INSERT INTO users (name, age, email) 
VALUES 
  ('Charlie', 30, 'charlie@example.com'),
  ('Diana', 28, 'diana@example.com');
 

2. 查询数据(Read)

sql
-- 查询所有列和所有行
SELECT * FROM users;

-- 查询指定列
SELECT name, age FROM users;

-- 带条件查询(WHERE 子句)
SELECT * FROM users WHERE age > 25;  -- 年龄大于25的用户

-- 排序(ORDER BY)
SELECT * FROM users ORDER BY age DESC;  -- 按年龄降序排列

-- 限制查询结果(LIMIT)
SELECT * FROM users LIMIT 2;  -- 只返回前2条

-- 条件+排序+限制组合
SELECT * FROM users WHERE age > 20 ORDER BY age ASC LIMIT 3;
 

3. 更新数据(Update)

sql
-- 基本语法:UPDATE 表名 SET 列=值 WHERE 条件;
-- 注意:必须加 WHERE 条件,否则会更新所有行!

-- 将 Alice 的年龄改为 26
UPDATE users 
SET age = 26 
WHERE name = 'Alice';

-- 同时更新多个列
UPDATE users 
SET age = 31, email = 'charlie.new@example.com' 
WHERE id = 3;
 

4. 删除数据(Delete)

sql
-- 基本语法:DELETE FROM 表名 WHERE 条件;
-- 注意:必须加 WHERE 条件,否则会删除所有行!

-- 删除邮箱为 bob@example.com 的用户
DELETE FROM users 
WHERE email = 'bob@example.com';
 

五、常用进阶操作

1. 索引(提升查询效率)

sql
-- 为 email 列创建索引
CREATE INDEX idx_email ON users(email);

-- 查看表的索引
SHOW INDEX FROM users;
 

2. 聚合查询(COUNT/SUM/AVG 等)

sql
-- 统计用户总数
SELECT COUNT(*) AS total_users FROM users;

-- 计算平均年龄
SELECT AVG(age) AS avg_age FROM users;

-- 按条件分组统计(GROUP BY)
SELECT age, COUNT(*) AS count FROM users GROUP BY age;
 

3. 多表关联查询(JOIN)

假设有 orders 表(订单)和 users 表关联:
sql
-- 查询用户及其订单信息
SELECT u.name, o.order_id, o.order_time
FROM users u
JOIN orders o ON u.id = o.user_id;  -- 通过 user_id 关联
 

六、退出 MySQL

sql
EXIT;  -- 或 QUIT;
 

注意事项:

  1. SQL 语句大小写:MySQL 关键字不区分大小写(如 SELECT 和 select 相同),但建议大写关键字以提高可读性。
  2. 分号结尾:每条 SQL 语句需以分号 ; 结束。
  3. 数据备份:重要操作前建议备份数据,避免误删或误改。
  4. 权限控制:生产环境中,避免使用 root 账户直接操作,应创建专用用户并分配最小权限。
通过以上基础操作,可完成 MySQL 的日常数据管理,复杂场景(如事务、存储过程、触发器等)可进一步深入学习。
mysql数据库连接,常见的 MySQL 连接方法
mysql使用,MySQL 的基础使用指南
mysql获取当前时间戳,适用于不同格式和精度的需求
mysql注释符号,MySQL 支持三种注释方式
重启mysql服务命令,常见系统的重启命令
mysql获取当前日期,适用于不同的需求场景
MySQL ADD COLUMN 避坑指南:从基础语法到在线DDL与性能影响
MySQL分页技术选型指南:传统分页与游标分盘的优缺点与适用场景
生产环境MySQL安全实践:创建应用用户的正确姿势与避坑指南
MySQL DDL实战:详解ALTER TABLE DROP COLUMN的原理、语法与高性能方案