MySQL基础教程

这个MySQL基础教程解释一些基本的SQL语句。 如果这是您第一次使用关系数据库管理系统,本教程将为您提供使用MySQL数据库服务器所需的一切内容,例如查询数据,更新数据,管理数据库和创建表。

如果您已经熟悉其他关系数据库管理系统(如PostgreSQLOracle或Microsoft SQL Server等),则可以使用本教程来刷新您的知识,并了解MySQL的SQL方言与其他数据库系统的不同之处。

第1节. MySQL入门

本节将开始介绍和学习使用MySQL。我们将开始安装MySQL,下载示例数据库并将数据导入到MySQL服务器以进行练习。

第2节. 查询数据

本节将帮助您了解如何从MySQL数据库服务器查询数据。 我们将从一个简单的SELECT语句开始,从单个表查询数据。

  • SELECT语句 - 显示如何使用简单的SELECT语句来查询单个表中的数据。
  • SELECT DISTINCT语句 - 了解如何在SELECT语句中使用DISTINCT运算符来消除结果集中的重复行。

第3节. 过滤数据

  • WHERE - 学习如何使用WHERE子句根据指定的条件过滤行记录。
  • AND运算符 - 介绍如何使用AND运算符以组合布尔表达式以形成用于过滤数据的复杂条件。
  • OR运算符 - 介绍OR运算符,并展示如何将OR运算符与AND运算符组合以过滤数据。
  • IN运算符 - 学习如何在WHERE子句中使用IN运算符来确定值是否匹配列表或子查询中的指定值。
  • BETWEEN运算符 - 显示如何使用BETWEEN运算符来根据指定范围查询数据。
  • LIKE - 提供基于特定模式匹配查询数据的技术示例,以执行一些模糊查询。
  • LIMIT子句 - 使用LIMIT来限制SELECT语句返回的行数
  • IS NULL - 使用IS NULL运算符测试值是否为NULL

第4节. 排序数据

  • ORDER BY - 显示如何使用ORDER BY子句排序结果集。还将介绍使用FIELD函数的自定义排序顺序。
  • 使用ORDER BY子句进行自然排序 - 通过使用ORDER BY子句,演示MySQL中的各种自然排序技术。

第5节. 连接表

  • MySQL别名 - 引入别名,包括表别名和列别名,以提高复杂查询的可读性,并避免在查询具有相同列名称的多个表中的数据时发生歧义错误。
  • INNER JOIN - 应用内部联接技术来查询来自多个相关表的数据。
  • LEFT JOIN - 学习如何使用左连接来生成包含来自连接左侧表中的行的结果集,并使用NULL值来补充不匹配行。
  • CROSS JOIN - 学习如何使来自多个表的行的笛卡尔乘积。
  • 自连接 – 使用表别名将表连接到自身,并使用其他类型的连接(如INNER JOINLEFT JOIN)连接同一表中的行记录。

第6节. 分组数据

第7节. MySQL子查询,派生表和通用表达式

  • MySQL子查询 - 学习如何在另一个查询(外部查询)中嵌套另一个查询语句(内部查询),并使用内部查询的结果值作为外部查询条件。
  • MySQL派生表 - 介绍派生表概念,并演示如何使用它来简化复杂查询。
  • MySQL通用表表达式 - 解释通用表表达式概念,并向您展示如何使用CTE查询表中的数据。
  • 递归CTE - 演示如何使用递归通用表表达式(CTE)遍历分层数据。

第8节. 使用SET操作符

  • UNION和UNION ALL - 使用UNIONUNION ALL操作符将两个或多个多个SELECT语句的结果集合合并到一个结果集中。
  • INTERSECT模拟 - 显示了几种模拟MySQL中INTERSECT运算符的方法。

第9节. 修改MySQL中的数据

在本节中,将学习如何使用各种MySQL语句来在表上执行插入,更新和删除数据操作。

  • INSERT语句 - 学习如何使用各种形式的INSERT语句将数据插入到数据库表中。
  • INSERT IGNORE - 解释将数据行插入到表中并忽略导致错误或异常的行的INSERT IGNORE语句。
  • UPDATE语句 - 了解如何使用UPDATE语句及其选项来更新数据库表中的数据。
  • UPDATE JOIN语句 - 显示如何使用带有INNER JOINLEFT JOINUPDATE JOIN语句执行交叉表更新。
  • DELETE - 学习如何使用DELETE语句从一个或多个表中删除数据。
  • ON DELETE CASCADE - 学习如何从父表中删除数据时,使用外部键从DELETE CASCADE引用动作删除子表中的数据。
  • DELETE JOIN - 学习如何从多个表中删除数据。
  • REPLACE语句 - 学习如何插入或更新数据,这取决于数据是否存在于表中。
  • PREPARE语句 - 显示如何使用PREPARE语句执行查询。

第10节. MySQL事务

  • MySQL事务 - 了解MySQL事务,以及如何使用COMMITROLLBACK来管理MySQL中的事务。
  • MySQL表锁定 - 了解如何使用MySQL锁来协调会话之间的表访问。

第11节. 管理MySQL数据库和表

本节介绍如何管理MySQL中最重要的数据库对象,包括数据库和表。

  • MySQL数据库管理 - 学习各种语句来管理MySQL数据库,包括创建新数据库,删除现有数据库,选择数据库以及列出所有数据库。
  • MySQL表类型 - 了解每个表类型的功能至关重要,以便您可以有效地使用它们来最大限度地提高数据库的性能。
  • CREATE TABLE - 学习如何使用CREATE TABLE语句在数据库中创建新表。
  • MySQL序列 - 学习如何使用序列为表的主键列自动生成唯一的数字。
  • ALTER TABLE - 学习如何使用ALTER TABLE语句来更改现有表的结构。
  • 重命名表 - 演示如何使用RENAME TABLE语句重命名表。
  • 从表中删除列 - 学习如何使用ALTER TABLE DROP COLUMN语句从表中删除一个或多个列。
  • 向表中添加新列 - 学习如何使用ALTER TABLE ADD COLUMN语句向现有表添加一个或多个列。
  • 删除表 - 学习如何使用DROP TABLE语句删除现有表。
  • MySQL临时表 - 讨论MySQL临时表,并学习如何管理临时表。
  • TRUNCATE TABLE - 学习如何使用TRUNCATE TABLE语句删除表中的所有数据。

第12节. MySQL索引

第13节. MySQL数据类型

  • MySQL数据类型 - 学习MySQL中的各种数据类型,以便您可以在设计数据库表时有效应用它们。
  • INT - 学习如何使用整数数据类型。并演示如何使用ZEROFILL和整数列的宽度属性。
  • DECIMAL - 学习如何使用DECIMAL数据类型存储十进制格式的精确值。
  • BIT - 介绍BIT数据类型以及如何在MySQL中存储位值。
  • BOOLEAN - 学习MySQL如何通过内部使用TINYINT(1)来处理布尔值。
  • CHAR - 学习如何使用存储固定长度字符串的CHAR数据类型。
  • VARCHAR - 提供VARCHAR数据类型的基本指南。
  • TEXT - 演示如何使用TEXT数据类型存储文本数据。
  • DATE - 介绍DATE数据类型,并显示一些日期功能来有效处理日期数据。
  • TIME - 学习TIME数据类型的功能,并向您演示如何使用一些有用的时间功能来处理时间数据。
  • DATETIME - 介绍DATETIME数据类型和一些有用的函数来操作日期时间值。
  • TIMESTAMP - 介绍TIMESTAMP类型及其功能,调用自动初始化和自动更新,允许您为表定义自动初始化和自动更新的列。
  • JSON格式类型 - 显示如何使用JSON数据类型来存储JSON文档。
  • ENUM - 了解如何正确使用ENUM数据类型来存储枚举值。

第14节. MySQL约束

  • NOT NULL约束 - 引入NOT NULL约束,并显示如何为列定义NOT NULL约束或将NOT NULL约束添加到现有列。
  • 主键约束 - 指导如何使用主键约束来创建表的主键。
  • 外键约束 - 学习外键概念,并逐步显示如何创建和删除外键。
  • UNIQUE约束 - 显示如何使用UNIQUE约束来强制表中列或一组列的值的唯一性。
  • CHECK约束 - 通过各种方式来模拟MySQL中的CHECK约束。

第15节. MySQL全球化

  • MySQL字符集 - 本教程讨论MySQL字符集,并演示如何对字符集执行各种操作。
  • MySQL排序规则 - 本教程讨论了MySQL排序规则,并向您展示了如何为MySQL服务器,数据库,表和列设置字符集和排序规则。

第16节. MySQL导入和导出

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容