您现在的位置是:烟消火灭网 > 探索

mysql数据库使用教程

烟消火灭网2026-10-17 07:47:12【探索】6人已围观

简介装完MySQL后第一件事不是急着建表,而是打开命令行敲一句 mysql -u root -p。密码输进去,看到那个 mysql> 提示符,才算真正进了门。我见过太多人卡在这一步——Windows下没配

装完MySQL后第一件事不是数使用急着建表,而是据库教程打开命令行敲一句 mysql -u root -p。密码输进去,数使用看到那个 mysql> 提示符,据库教程才算真正进了门。数使用我见过太多人卡在这一步——Windows下没配环境变量,据库教程终端里死活找不到mysql命令,数使用折腾半小时最后重装了事。据库教程其实把bin目录加到PATH里就行,数使用两分钟的据库教程事。

进去之后先别动生产库。数使用建一个自己的据库教程测试库:

CREATE DATABASE testdb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; USE testdb;

字符集这块我踩过坑。早年用默认的数使用latin1,存中文直接变问号,据库教程查半天以为是数使用连接配置问题。现在一律utf8mb4,连emoji都能存,省心。collate选unicode_ci还是general_ci?除非你有特殊排序需求,否则差别不大,别在这纠结太久。

建表语句才是日常写得最多的。举个实际的例子,用户表:

CREATE TABLE users ( id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50) NOT NULL, email VARCHAR(100) NOT NULL UNIQUE, age TINYINT UNSIGNED DEFAULT 0, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, INDEX idx_username (username) ) ENGINE=InnoDB;

几个点值得说。主键用INT UNSIGNED还是BIGINT?小项目INT够用,但如果你预感数据量会上去,直接BIGINT省得以后改。AUTO_INCREMENT配合主键是标配,别自己生成ID,数据库干这事比你靠谱。

VARCHAR长度别拍脑袋写255。username给50足够,email给100也够,写太大浪费索引空间。TEXT和VARCHAR的区别不只是长度——TEXT不占行内空间,但查询时可能多一次磁盘IO。短文本老老实实用VARCHAR。

索引这块,新手最容易犯的错是“给每个字段都加索引”。我见过一张十几列的表加了八个单列索引,写入慢得像蜗牛。索引是拿写入性能换查询性能,只在WHERE、JOIN、ORDER BY频繁用到的列上加。上面那个idx_username就是因为登录时要按用户名查才加的。

插入数据没什么好说的,但批量插入有个技巧:

INSERT INTO users (username, email, age) VALUES ('alice', 'alice@test.com', 25), ('bob', 'bob@test.com', 30), ('carol', 'carol@test.com', 28);

一条INSERT带多组值比三条单条INSERT快好几倍,尤其是走网络连接远程库的时候。差距肉眼可见。

查询才是重头戏。SELECT * 这个东西,调试时用用可以,代码里千万别写。你永远不知道表结构哪天会加一个TEXT大字段,SELECT * 直接把它拖出来,网络传输和内存都遭殃。明确写字段名,多敲几个字的事。

WHERE条件里对字段做函数运算会让索引失效。比如 WHERE YEAR(created_at) = 2024,改成 WHERE created_at >= '2024-01-01' AND created_at < '2025-01-01',索引才能用上。这个坑我调过一个慢查询,三百万数据的表,改完从8秒降到0.1秒。

UPDATE和DELETE记得带WHERE。不带WHERE的DELETE等于清空表,手一抖就出事。我自己的习惯是先写WHERE条件,再回头补DELETE或UPDATE关键字。另外大表批量删除要分批做,一次删几万行会锁表,影响线上业务。

最后说个实用的:EXPLAIN。任何你觉得慢的查询,前面加个EXPLAIN看执行计划。type列出现ALL就是全表扫描,key列是NULL就是没走索引。这两个信号一出来,基本就能定位问题。不用背那些理论,看这两个字段就够应付大部分场景了。

MySQL这东西,学起来门槛不高,但细节多。上面这些是我这几年实际用下来觉得最值得先掌握的部分。剩下的,遇到问题再查,比从头啃手册效率高得多。

很赞哦!(7332)

上一篇: 红网怀化论坛

下一篇: 岳阳晚报