上一篇
场景引入:
刚入职的小白程序员阿杰接到第一个任务——为公司新项目搭建MySQL数据库,看着空荡荡的终端窗口,他挠头嘀咕:"这玩意儿从哪开始啊?" 别慌!今天我们就用"做菜"的思维,从建库(买冰箱)到建表(分抽屉),一步步拆解MySQL基础操作!
-- 连接MySQL服务后,输入以下命令: CREATE DATABASE 项目名称 DEFAULT CHARACTER SET utf8mb4 -- 支持存储表情包哦 😉 COLLATE utf8mb4_unicode_ci; -- 中文排序更准确 -- 举个栗子 🌰 CREATE DATABASE my_shop DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
关键点:
小写英文+下划线
(避免大小写敏感问题) utf8mb4
比传统utf8多支持emoji存储(2025年依然是最佳选择) 建表就像设计收纳格,需要考虑三要素:
USE my_shop; -- 进入刚创建的数据库 CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, -- 自增主键(每个用户唯一ID) username VARCHAR(50) NOT NULL UNIQUE, -- 用户名不允许重复 password CHAR(60) NOT NULL, -- 加密密码建议定长存储 age TINYINT UNSIGNED, -- 年龄无符号数(0-255) email VARCHAR(100) UNIQUE, -- 邮箱唯一 created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, -- 自动记录创建时间 updated_at TIMESTAMP ON UPDATE CURRENT_TIMESTAMP -- 自动更新时间 ) ENGINE=InnoDB; -- 2025年依然推荐的事务引擎
设计技巧:
AUTO_INCREMENT
:自动编号,省去手动分配ID UNIQUE
:避免重复数据(如用户名/邮箱) TIMESTAMP
自动时间戳:省去手动记录时间 CHAR(60)
:适配主流加密算法长度 |----------------|-------------------|----------------------|
| 短文本 | VARCHAR(长度) | 用户名VARCHAR(20) |
| 长文本 | TEXT | 商品详情描述 |
| 整数 | INT/TINYINT | 年龄TINYINT UNSIGNED |
| 精确小数 | DECIMAL(总位数,小数位) | 价格DECIMAL(10,2) |
| 日期时间 | DATETIME | 订单支付时间 |
CREATE TABLE products ( id INT PRIMARY KEY, name VARCHAR(100) NOT NULL, -- 非空约束 stock INT DEFAULT 0, -- 默认值约束 category_id INT, FOREIGN KEY (category_id) REFERENCES categories(id) -- 外键约束 );
snake_case
命名法(如user_role) 总结流程:
CREATE DATABASE
→ 2. USE 数据库名
→ 3. CREATE TABLE
现在阿杰已经顺利建好了数据库,正喝着咖啡☕准备往表里导入数据啦!你也快打开MySQL客户端试试吧~
本文由 陀侬 于2025-08-01发表在【云服务器提供商】,文中图片由(陀侬)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vps.7tqx.com/wenda/509039.html
发表评论