
MySQL 数据定义与数据操作 学习笔记一、单元3数据定义DDL1. 数据库的创建与管理创建数据库有着固定的书写语法编写语句时加入 IF NOT EXISTS 判断能避免重复创建数据库出现报错还可自定义字符集与校对规则满足不同存储需求。sqlCREATE DATABASE IF NOT EXISTS Bookstore DEFAULT CHARACTER SET utf8mb4;日常常用管理操作语句sqlUSE Bookstore; -- 切换数据库ALTER DATABASE Bookstore CHARACTER SET utf8; -- 修改字符集DROP DATABASE IF EXISTS Bookstore; -- 删除数据库SHOW DATABASES; -- 查看所有数据库学习中要熟练运用以上指令合理完成数据库创建、切换、修改与删除做好资源整理。2. 数据表的创建与管理数据表是数据存储核心创建时需定义字段名、数据类型、约束及存储引擎基础创建代码如下sqlCREATE TABLE IF NOT EXISTS student(id INT,name VARCHAR(20),birth DATE)ENGINEInnoDB;常用数据类型分为数值型、字符串型、日期时间型设计表格按需选择。数据表建成后可灵活调整结构实操常用代码sqlALTER TABLE student ADD age INT; -- 新增字段ALTER TABLE student RENAME TO stu; -- 修改表名CREATE TABLE stu_copy LIKE stu; -- 仅复制表结构DROP TABLE IF EXISTS stu; -- 删除数据表DESC stu; -- 查看表结构3. 数据完整性约束设置约束可以保障数据准确规范统一存储格式避免无效数据录入。各类约束实战写法sqlCREATE TABLE user(uid INT PRIMARY KEY AUTO_INCREMENT, -- 主键约束、自增uname VARCHAR(30) NOT NULL, -- 非空约束sex VARCHAR(10) DEFAULT 未知, -- 默认值约束phone VARCHAR(11) UNIQUE, -- 唯一约束score INT CHECK(score0), -- 检查约束class_id INT,FOREIGN KEY(class_id) REFERENCES class(cid) -- 外键约束);外键包含 RESTRICT 、 CASCADE 、 SET NULL 等联动规则可实现数据表之间数据联动管控维护数据关联完整性。4. 图形化管理工具Navicat除手写SQL语句外可使用Navicat可视化工具直观完成库表创建、修改、删除鼠标点击即可设置各类约束。完成图形化操作后可自动生成对应SQL代码方便对照学习大幅降低手写代码出错概率。二、单元4数据操作DMLDML为数据操纵语言主要对表内真实数据进行增、改、删日常管理。1. 数据插入INSERT用于向数据表录入数据写法灵活多样实操常用代码sql-- 指定字段插入INSERT INTO student(id,name) VALUES(1,张三);-- 全字段插入INSERT INTO student VALUES(2,李四,2005-01-10);-- 批量插入数据INSERT INTO student(name) VALUES(王五),(赵六);-- SET方式插入INSERT INTO student SET name孙七;录入字符串、日期必须使用单引号包裹未赋值字段自动填充默认值或空值。2. 数据修改UPDATE用于更新表中已有数据可修改单个或多个字段基础语法sqlUPDATE student SET name小明 WHERE id1;UPDATE student SET age18,sex男 WHERE id2;重点注意语句中 WHERE 条件必不可缺若无条件会修改整张表全部数据极易造成数据错乱实操务必谨慎。3. 数据删除DELETE TRUNCATE两种常用删除方式用法与效果区别明显sql-- 条件删除指定数据DELETE FROM student WHERE id3;-- 清空整张表所有数据TRUNCATE TABLE student;DELETE 按条件删除支持事务回滚安全性高不会重置自增主键 TRUNCATE 直接清空全表数据速度快但数据无法恢复同时重置自增编号日常学习尽量少用。所有删除操作都必须添加筛选条件杜绝误删全部数据。4. 重难点总结与易错点1. DDL操作数据库与数据表结构DML只操作表内存储数据二者用途严格区分2. CHAR 固定长度查询更快 VARCHAR 可变长度节省空间按场景选用3. 主键非空唯一一张表仅有一个唯一约束允许为空数量不受限制4. 外键关联字段数据类型必须保持一致否则无法建立关联5. 批量插入数据效率更高适合大量数据录入6. 正式使用中严禁编写无条件的修改、删除语句。三、学习心得经过第三单元与第四单元的学习我熟练掌握了MySQL数据库从搭建库表结构到录入管理数据的整套基础流程。DDL语句搭建起数据库整体框架依靠各类完整性约束规范数据标准让整个数据库结构稳定合理。DML语句负责日常数据更新、录入与清理是实际使用中最常用的操作内容。在动手编写SQL代码的过程中我清楚认识到数据库操作严谨性极强一句简单的代码遗漏就会引发大量数据问题。今后我会多加练习各类基础SQL语句熟记常用代码写法严格遵守数据库操作规范在进行数据修改和删除前仔细核对条件养成规范书写代码的好习惯。扎实学好本章基础知识不断提升实操能力为后续学习数据库查询、多表联合操作等更深层次内容打好坚实基础。