MySQL 数据库核心操作指南
1. 数据库与数据表的创建
数据库管理系统的基本操作涵盖了从创建库表到数据维护的全过程。
-- 创建数据库并指定字符集
CREATE DATABASE IF NOT EXISTS school_db DEFAULT CHARACTER SET 'utf8mb4';
USE school_db;
-- 创建数据表示例
CREATE TABLE IF NOT EXISTS student_info (
student_id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
nick_name VARCHAR(30) NOT NULL,
grade TINYINT,
email VARCHAR(100),
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- 查看表结构
DESC student_info;
SHOW CREATE TABLE student_info;
2. 完整性约束的应用
约束条件用于确保数据的准确性与一致性。常用的约束包括主键(PRIMARY KEY)、自增(AUTO_INCREMENT)、非空(NOT NULL)、唯一性(UNIQUE)及默认值(DEFAULT)。
CREATE TABLE IF NOT EXISTS account_list (
uid INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL UNIQUE,
status TINYINT DEFAULT 1 COMMENT '1为激活,0为禁用',
reg_ip VARCHAR(15) NOT NULL
);
3. 表结构的变更
使用 ALTER TABLE 可以动态调整表结构,如添加、修改或删除字段。
-- 添加字段 ALTER TABLE account_list ADD phone_number CHAR(11) AFTER username; -- 修改字段类型或位置 ALTER TABLE account_list MODIFY status SMALLINT DEFAULT 0; -- 删除字段 ALTER TABLE account_list DROP COLUMN reg_ip; -- 重命名表 RENAME TABLE account_list TO user_registry;
4. 数据增删改操作
数据的操作主要通过 INSERT, UPDATE, DELETE 实现。
-- 插入多条记录
INSERT INTO user_registry (username, phone_number) VALUES
('alice', '13800138000'),
('bob', '13900139000');
-- 更新数据
UPDATE user_registry SET status = 1 WHERE username = 'alice';
-- 删除记录
DELETE FROM user_registry WHERE uid = 1;
5. 数据查询与过滤
查询是数据库最频繁的操作,支持模糊匹配、逻辑运算及范围查询。
-- 基础查询与别名 SELECT uid AS id, username AS user_name FROM user_registry; -- 模糊查询与逻辑条件 SELECT * FROM user_registry WHERE username LIKE 'a%' AND status = 1; -- 范围查询 SELECT * FROM user_registry WHERE uid BETWEEN 10 AND 20;
6. 高级统计与分组
利用聚合函数和 GROUP BY 可以进行复杂的数据分析。
-- 按状态分组并统计人数 SELECT status, COUNT(*) AS count_num, AVG(grade) AS avg_score FROM student_info GROUP BY status HAVING COUNT(*) > 5 ORDER BY avg_score DESC LIMIT 0, 10;