三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

MySQL 基础用法(上):库表管理与数据增删改

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;

默认会包含mysqlinformation_schemaperformance_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、TIMESTAMPDATE 仅存日期,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:自增,每插入一条数据自动 + 1
  • NOT 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,无法回滚
谢谢
← 返回列表