MySQL 基础用法(上):库表管理与数据增删改
本篇为 MySQL 入门第一篇,覆盖数据库核心概念、库级操作、表结构管理与数据增删改,是所有 MySQL 操作的基础。
一、MySQL 概述与连接方式
MySQL 是一款开源关系型数据库管理系统(RDBMS),采用客户端 - 服务器架构,通过 SQL(结构化查询语言)进行数据管理。
1. 命令行连接数据库
安装 MySQL 服务端后,通过终端执行连接命令:
sql
-- 基础连接,-u 指定用户名,-p 表示需要输入密码 mysql -u root -p回车后输入密码即可进入 MySQL 命令行交互界面。
2. 常用环境命令
sql
-- 查看 MySQL 版本 SELECT VERSION(); -- 查看当前用户 SELECT USER(); -- 退出 MySQL exit;二、数据库(Database)基本操作
数据库是数据表的容器,一个 MySQL 服务可以管理多个独立数据库。
1. 查看所有数据库
sql
SHOW DATABASES;默认会包含mysql、information_schema、performance_schema等系统库,请勿随意修改。
2. 创建数据库
sql
-- 创建数据库并指定字符集(推荐 utf8mb4,支持完整 emoji 等字符) CREATE DATABASE IF NOT EXISTS test_db DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_general_ci;IF NOT EXISTS:避免重复创建报错CHARSET:指定字符集COLLATE:指定排序规则
3. 切换 / 进入数据库
操作数据表前必须先指定数据库:
sql
USE test_db;4. 删除数据库
sql
DROP DATABASE IF EXISTS test_db;⚠️ 删除操作不可逆,生产环境严禁随意执行。
三、数据表(Table)基本操作
数据表是存储数据的核心单元,由行(记录)和列(字段)组成。
1. 常用数据类型
表格
| 类型分类 | 代表类型 | 说明 |
|---|---|---|
| 数值型 | INT、BIGINT、DECIMAL | 整数用 INT/BIGINT,金额用 DECIMAL |
| 字符串型 | VARCHAR、TEXT | 定长用 CHAR,变长用 VARCHAR,长文本用 TEXT |
| 日期时间 | DATE、DATETIME、TIMESTAMP | DATE 仅存日期,DATETIME 存日期 + 时间 |
2. 创建数据表
sql
CREATE TABLE IF NOT EXISTS student ( id INT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID', name VARCHAR(50) NOT NULL COMMENT '姓名', age INT DEFAULT 0 COMMENT '年龄', gender CHAR(1) COMMENT '性别', create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='学生表';关键字说明:
PRIMARY KEY:主键,唯一标识一条记录AUTO_INCREMENT:自增,每插入一条数据自动 + 1NOT NULL:非空约束,该字段不允许为空DEFAULT:默认值COMMENT:字段 / 表注释
3. 查看表信息
sql
-- 查看当前库所有表 SHOW TABLES; -- 查看表结构 DESC student; -- 查看建表语句 SHOW CREATE TABLE student;4. 修改表结构
sql
-- 添加字段 ALTER TABLE student ADD COLUMN email VARCHAR(100) COMMENT '邮箱'; -- 修改字段类型/属性 ALTER TABLE student MODIFY COLUMN age TINYINT COMMENT '年龄'; -- 修改字段名 ALTER TABLE student CHANGE COLUMN email user_email VARCHAR(100) COMMENT '用户邮箱'; -- 删除字段 ALTER TABLE student DROP COLUMN user_email; -- 修改表名 ALTER TABLE student RENAME TO student_info;5. 删除数据表
sql
DROP TABLE IF EXISTS student;四、数据操作:增、删、改
对表内数据进行写入操作,属于 DML(数据操作语言)范畴。
1. 插入数据(INSERT)
sql
-- 插入单条(指定字段) INSERT INTO student(name, age, gender) VALUES ('张三', 18, '男'); -- 插入多条 INSERT INTO student(name, age, gender) VALUES ('李四', 20, '女'), ('王五', 19, '男'), ('赵六', 21, '女'); -- 全字段插入(不推荐,表结构变更后易出错) INSERT INTO student VALUES (5, '孙七', 22, '男', NOW());2. 更新数据(UPDATE)
sql
-- 更新单条记录(必须加 WHERE 条件,否则会更新全表!) UPDATE student SET age = 20 WHERE id = 1; -- 同时更新多个字段 UPDATE student SET name = '张三三', gender = '女' WHERE id = 1;⚠️ 严禁省略 WHERE 子句执行 UPDATE,会导致全表数据被覆盖。
3. 删除数据(DELETE)
sql
-- 删除指定记录 DELETE FROM student WHERE id = 5; -- 清空整张表(保留表结构) DELETE FROM student;4. TRUNCATE 与 DELETE 的区别
DELETE FROM 表名:逐行删除,可加 WHERE 条件,速度慢,自增主键不会重置TRUNCATE TABLE 表名:直接销毁并重建表,速度极快,自增主键重置,不可加 WHERE,无法回滚
