数据库基础学习笔记
数据库基础学习笔记数据库是后端开发、数据分析等岗位的必备技能。本文整理了一份数据库基础知识清单涵盖数据库概念、分类、SQL约束、常用语句及MySQL基本操作帮助新手快速上手。一、数据库概述数据库通俗讲就是存储数据的仓库其本质是一个文件系统。用户可以对数据库中的数据进行增、删、改、查操作。与其他存储方式相比数据库有几个显著优势可以结构化存储大量数据能有效保持数据的一致性、完整性读写效率极高适合高频访问场景二、关系型数据库 vs 非关系型数据库1. 关系型数据库采用关系模型来组织数据的数据库关系模型即我们熟悉的二维表格模型行和列。常见的关系型数据库MySQLOracleDB2SQL ServerSQLite特点支持结构化查询语言 SQL事务支持完善ACID数据强一致性2. 非关系型数据库NoSQL又被称为NoSQLNot Only SQL。通常采用Key-Value方式存储数据每个键对应一个唯一的值结构更灵活。常见的非关系型数据库RedisHBaseMongoDB特点存储结构灵活不需要预先定义表结构扩展性好适合大数据量和高并发场景多数为最终一致性三、SQL 约束约束用于规定表中的数据规则保证数据的准确性和可靠性。主要有以下三种基础约束主键约束PRIMARY KEY唯一标识表中的每一行记录不能重复不能为空非空约束NOT NULL强制列不接受 NULL 值插入数据时该字段必须有值唯一约束UNIQUE保证字段值的唯一性可以有多个空值不同数据库处理略有不同四、SQL 通用语法在正式操作数据库之前先了解 SQL 语句的通用规则每条语句以分号;结尾不区分大小写例如SELECT与select效果相同支持三种注释方式-- 单行注释注意 -- 后需加空格# 单行注释MySQL 专用/* 多行注释 */五、SQL 语言分类SQL 语言按功能可分为四大类分类全称作用主要命令DDLData Definition Language数据定义语言操作库和表结构CREATE / ALTER / DROP / RENAMEDMLData Manipulation Language数据操作语言操作表中数据INSERT / UPDATE / DELETEDQLData Query Language数据查询语言查询数据SELECTDCLData Control Language数据控制语言权限管理GRANT / REVOKE六、常用数据类型建表时常用的数据类型类型关键字说明整数INT存储整数浮点型DECIMAL存储精确小数常用来表示金额字符串CHAR(n)定长字符串占用固定空间字符串VARCHAR(n)变长字符串按实际长度存储七、DDL —— 数据定义语言DDL 主要负责数据库和表结构的创建、修改、删除。1. 数据库操作database-- 创建数据库CREATEDATABASE数据库名;-- 查看所有数据库SHOWDATABASES;-- 删除数据库DROPDATABASE数据库名;-- 使用/切换数据库USE数据库名;2. 表操作table-- 创建表CREATETABLE表名(字段名 类型(长度)[约束],...);-- 查看当前数据库中的所有表SHOWTABLES;-- 查看表结构DESC表名;-- 删除表DROPTABLE表名;-- 修改表添加字段ALTERTABLE表名ADD列名 类型(长度)[约束];-- 修改表更改字段名与类型ALTERTABLE表名 CHANGE 旧列名 新列名 类型(长度)[约束];-- 修改表删除字段ALTERTABLE表名DROP列名;-- 重命名表RENAMETABLE表名TO新表名;八、DML —— 数据操作语言DML 主要用于对表中的数据进行增、删、改。1. 插入记录INSERT-- 单行插入INSERTINTO表名(字段1,字段2,...)VALUES(值1,值2,...);-- 多行插入每行值用括号包裹以逗号分隔INSERTINTO表名(字段1,字段2,...)VALUES(值1,值2,...),(值1,值2,...);注意INSERT INTO为固定关键字中间需有空格多行数据间用逗号分隔不要遗漏。2. 更新记录UPDATE-- 更新指定条件的记录UPDATE表名SET字段名值,字段名值WHERE条件;务必带上WHERE条件否则会更新整张表所有记录后果严重。3. 删除记录DELETE / TRUNCATE-- 删除符合条件的数据可回滚DELETEFROM表名[WHERE条件];-- 清空整张表DDL操作不可回滚效率更高TRUNCATE表名;DELETE可以加条件支持回滚逐行删除TRUNCATE直接清空表、重置自增计数且不支持事务回滚。九、DQL —— 数据查询语言条件查询DQL 的核心是SELECT语句用于从表中查询数据。基础语法为SELECT*|字段名FROM表名WHERE条件;注意SELECT、FROM、WHERE是关键字之间必须加空格不要连写成select*字段名form表名where。简单示例-- 查询学生表中年龄大于18的所有学生SELECT*FROMstudentsWHEREage18;-- 查询学生表中的姓名和年龄SELECTname,ageFROMstudents;后续还可以学习ORDER BY、GROUP BY、LIMIT、JOIN等更高级的查询方式。十、MySQL 特点与登录方式MySQL 的特点免费开源社区版即可满足大多数场景支持大型数据库能处理千万级数据量标准的 SQL 语言形式通用性强跨平台可在 Windows、Linux、macOS 等系统运行MySQL 登录的两种方式方法一本地直连mysql-uroot-p123456方法二指定主机和用户远程连接mysql--host192.168.88.161--userroot--password123456生产环境建议使用-p后不加密码回车后交互式输入避免密码泄露。结语数据库基础是后端开发和数据分析的必修课。本文梳理了数据库分类、SQL语句分类、常用数据类型以及MySQL基本操作等核心知识点希望对正在学习数据库的你有所帮助。后续可以继续深入学习多表查询、索引、事务、存储引擎等内容逐步完善自己的数据库知识体系。