当前位置: 首页 > news >正文

01 MySQL数据库基础入门指南

本文是MySQL数据库系列教程的第一篇,将带你了解数据库的基本概念和核心知识。

目录

一、什么是数据库
  1.1 数据库的定义
  1.2 数据库管理系统(DBMS)
二、SQL语言简介
  2.1 SQL的作用
  2.2 SQL注释语法
三、数据库核心概念
  3.1 表(Table)
  3.2 列(Column)
  3.3 行(Record)
  3.4 主键(Primary Key)
四、数据类型详解
  4.1 列的数据类型
  4.2 数据类型的重要性
五、实战演练


一、什么是数据库

1.1 数据库的定义

数据库是以某种有组织的方式存储的数据集合。可以把它想象成一个电子化的文件柜,用来存储各种类型的信息。

简单来说:

  • 数据库是一个容器,用来存储有组织的数据
  • 就像你的电脑文件夹一样,但更加智能和高效
  • 可以快速查找、更新和管理大量数据

1.2 数据库管理系统(DBMS)

数据库管理系统是用来创建和操纵数据库的软件工具。常见的DBMS包括:

  • MySQL - 开源、免费、性能优秀
  • SQL Server - 微软出品,Windows环境友好
  • Oracle - 企业级,功能强大
  • PostgreSQL - 开源、功能丰富

注意:数据库是通过DBMS创建和操纵的容器,DBMS是操作数据库的工具软件。


二、SQL语言简介

2.1 SQL的作用

SQL(Structured Query Language)是一种专门用来与数据库通信的语言。

SQL的主要功能:

  • 查询数据(SELECT)
  • 插入数据(INSERT)
  • 更新数据(UPDATE)
  • 删除数据(DELETE)
  • 创建和修改数据库结构

2.2 SQL注释语法

在编写SQL代码时,注释可以帮助我们理解代码的含义:

-- 这是单行注释# 这也是单行注释(MySQL特有)/* 
这是多行注释
可以跨越多行
*/

示例:

-- 查询所有用户信息
SELECT * FROM users;/* 查询活跃用户条件:最近30天有登录记录
*/
SELECT username, last_login 
FROM users 
WHERE last_login >= DATE_SUB(NOW(), INTERVAL 30 DAY);

三、数据库核心概念

3.1 表(Table)

是一种结构化的文件,用于存储某种特定类型的数据。

特点:

  • 表是数据库中的基本存储单位
  • 一个数据库可以包含多个表
  • 每个表都有唯一的名称
  • 表以行和列的形式组织数据

示例: 一个电商系统可能包含以下表:

  • users - 用户表
  • products - 商品表
  • orders - 订单表
  • categories - 分类表

3.2 列(Column)

是表中的一个字段,表示某种特定类型的信息。

特点:

  • 每个列都有特定的数据类型
  • 列名在表中必须唯一
  • 列定义了表可以存储什么样的数据

示例: users表可能包含以下列:

CREATE TABLE users (user_id INT,           -- 用户IDusername VARCHAR(50),  -- 用户名email VARCHAR(100),    -- 邮箱age INT,              -- 年龄created_at DATETIME   -- 注册时间
);

3.3 行(Record)

是表中的一条记录,代表一个具体的数据实体。

特点:

  • 表中的数据按行存储
  • 每一行包含该记录的所有列信息
  • 行数表示表中有多少条数据

示例: users表中的数据:

user_idusernameemailagecreated_at
1zhangsanzhang@example.com252024-01-15 10:30:00
2lisili@example.com302024-02-20 14:20:00
3wangwuwang@example.com282024-03-10 09:15:00

3.4 主键(Primary Key)

主键是表中每一行的唯一标识符。

主键的特点:

  • 每个表应该有一个主键
  • 主键值必须唯一,不能重复
  • 主键列不能包含NULL值
  • 主键不可修改或重用
  • 可以使用多个列作为主键(复合主键)

示例:

CREATE TABLE products (product_id INT PRIMARY KEY,        -- 主键product_name VARCHAR(100) NOT NULL,price DECIMAL(10, 2),stock_quantity INT
);-- 复合主键示例
CREATE TABLE order_items (order_id INT,product_id INT,quantity INT,PRIMARY KEY (order_id, product_id)  -- 复合主键
);

最佳实践:任何需要引用特定行的操作,都应该使用主键。


四、数据类型详解

4.1 列的数据类型

每个列都必须指定数据类型,这决定了该列可以存储什么样的数据。

常用数据类型:

4.1.1 数值类型
INT           -- 整数,范围:-2147483648 到 2147483647
BIGINT        -- 大整数
DECIMAL(M,D)  -- 精确小数,M是总位数,D是小数位数
FLOAT         -- 浮点数
DOUBLE        -- 双精度浮点数
4.1.2 字符串类型
CHAR(N)       -- 固定长度字符串,最大255字符
VARCHAR(N)    -- 可变长度字符串,最大65535字符
TEXT          -- 长文本,最大65535字符
LONGTEXT      -- 超长文本,最大4GB
4.1.3 日期时间类型
DATE          -- 日期,格式:YYYY-MM-DD
TIME          -- 时间,格式:HH:MM:SS
DATETIME      -- 日期时间,格式:YYYY-MM-DD HH:MM:SS
TIMESTAMP     -- 时间戳

4.2 数据类型的重要性

选择正确的数据类型非常重要,原因如下:

  1. 存储优化:合适的数据类型可以节省存储空间
  2. 性能提升:正确的类型可以提高查询效率
  3. 数据完整性:类型约束可以防止错误数据

示例:

CREATE TABLE blog_posts (post_id INT AUTO_INCREMENT PRIMARY KEY,title VARCHAR(200) NOT NULL,content TEXT,author_id INT,view_count INT DEFAULT 0,is_published BOOLEAN DEFAULT FALSE,published_at DATETIME,created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

五、实战演练

让我们创建一个简单的图书管理系统数据库:

-- 创建数据库
CREATE DATABASE library_system;
USE library_system;-- 创建图书表
CREATE TABLE books (book_id INT AUTO_INCREMENT PRIMARY KEY,title VARCHAR(200) NOT NULL,author VARCHAR(100),isbn VARCHAR(20) UNIQUE,price DECIMAL(10, 2),publish_date DATE,stock_quantity INT DEFAULT 0,category VARCHAR(50)
);-- 插入示例数据
INSERT INTO books (title, author, isbn, price, publish_date, stock_quantity, category) 
VALUES 
('MySQL从入门到精通', '张三', '978-7-111-12345-6', 89.00, '2024-01-15', 50, '数据库'),
('Python编程实战', '李四', '978-7-111-23456-7', 79.00, '2024-02-20', 30, '编程语言'),
('数据结构与算法', '王五', '978-7-111-34567-8', 99.00, '2024-03-10', 25, '计算机科学');-- 查询所有图书
SELECT * FROM books;-- 查询数据库类图书
SELECT title, author, price 
FROM books 
WHERE category = '数据库';

总结

本文介绍了数据库的基础知识:

  1. 数据库是有组织的数据集合,通过DBMS进行管理
  2. SQL是与数据库通信的专用语言
  3. 由行和列组成,是数据存储的基本单位
  4. 主键是每行数据的唯一标识符
  5. 数据类型决定了列可以存储什么样的数据

掌握这些基础概念后,你就可以开始学习如何使用SQL检索和操作数据了。


下一篇: SQL数据检索入门 - SELECT语句详解

http://www.dtcms.com/a/486992.html

相关文章:

  • 医疗网站建设代理商动漫设计师资格证
  • 从零理解 KV Cache:大语言模型推理加速的核心机制
  • Nginx部署Vue项目,网页界面返回404 Not Found
  • 建设部招标网站郑州企业建设网站有什么好处
  • 天硕国产工业级固态硬盘:主动浪涌防护,破解工业存储安全难题
  • 多重防护设计:BL-08plus如何杜绝交叉污染保障检测安全
  • 小说一键生成动漫重庆seo整站优化效果
  • dz门户网站模板比较有名的公司网站
  • 中小企业智能云MES系统源码,实时采集生产现场数据,优化生产流程
  • 建设网站的一般步骤是机械设备网站源码
  • IIS 配置和重写模块下载
  • Centos Stream 9 中Docker安装出现 download.docker.com:443 的问题解决
  • 医院 AI + 冷热源集群控制系统:医疗场景下的能效与安全双保障方案​
  • 初始yolo
  • 知名做网站哪家好wordpress ckplay播放
  • 什么程序做网站安全网站集约建设后网站域名规范
  • 自己做网站 知乎兰州网络推广电话
  • 隧道COVI检测仪:守护隧道安全与畅通
  • MySQL数据库基本命令的8个模块
  • HIS系统天花板,十大核心模块,门诊/住院/医保全流程打通,医院数字化转型首选
  • 做营销型网站的公司做医疗器械网站怎么找高清大图
  • 网站建设教程学习在百度平台如何做营销
  • 【日常学习】10-15 学习re
  • 跨平台驱动开发:打造兼容多款MCU的硬核方案
  • Linux文件存储结构原理:从dentry到inode再到硬链接
  • 丹阳网站怎么做seo电商网站开发文档
  • 简单使用Marker
  • 网站开发 盈利百度网游排行榜
  • elementUI 表单验证-联动型校验
  • vue2+elementUi实现自定义表格框选复制粘贴