mysql初学者教程和练习.docx
- 格式:docx
- 大小:82.48 KB
- 文档页数:29
mysql教程入门到精通MySQL是一种开源的关系型数据库管理系统,它被广泛应用于各种Web应用程序开发中。
本教程将帮助您从入门到精通掌握MySQL的基本概念、语法和特性。
入门部分:1. 下载和安装MySQL:首先,您需要访问MySQL官方网站,下载适用于您的操作系统的MySQL安装程序。
然后,按照安装向导的说明进行安装。
2. 连接到MySQL服务器:安装完成后,您可以使用MySQL提供的命令行工具(如mysql.exe)连接到MySQL服务器。
使用正确的用户名和密码,您将能够与服务器建立连接。
3. 创建和管理数据库:一旦连接成功,您可以使用MySQL提供的命令来创建和管理数据库。
例如,您可以使用"CREATE DATABASE"命令创建一个新的数据库。
基本查询:4. 创建表格:表格是存储数据的基本单位,您可以使用"CREATE TABLE"命令创建表格。
在表格中定义列的名称和数据类型,以及任何约束条件。
5. 插入数据:一旦表格创建完成,您可以使用"INSERT INTO"命令将数据插入表格中。
指定要插入的列和对应的值。
6. 查询数据:使用"SELECT"命令来检索数据。
您可以指定要查询的列,以及约束条件来过滤所需的数据。
进阶部分:7. 更新数据:使用"UPDATE"命令更新表格中的数据。
您可以指定要更新的列和新值,并通过WHERE子句指定要更新的行。
8. 删除数据:使用"DELETE"命令从表格中删除数据。
您可以通过WHERE子句指定要删除的行。
9. 排序和过滤:通过在查询中添加"ORDER BY"子句进行排序,并使用"WHERE"子句过滤数据。
10. 聚合函数:MySQL提供了各种聚合函数,如SUM,AVG,COUNT等,用于计算列或行的总和、平均值、计数等。
MySQL数据库学习教程从⼊门到进阶全套笔记(完整版)【MySQL学习1】SQL语⾔简介及数据库简介本节⼤致介绍数据库。
【MySQL学习2】MySQL简介及安装和卸载熟练地掌握数据库的安装与卸载。
【MySQL学习3】MySQL常⽤的图形管理⼯具图形化管理⼯具是为了更好操作数据库。
【MySQL学习4】MySQL数据库基本操作(⼀)_DDLDDL(Data Definition Language),数据定义语⾔。
本节讲DDL-数据库操作。
- 对数据库的常⽤操作- 对表结构的常⽤操作- 修改表结构【MySQL学习5】MySQL数据库基本操作(⼆)_DMLDML(Data Manipulation Language),指数据操作语⾔,⽤来对数据库中表的数据记录进⾏更新。
插⼊insert、删除delete、更新update。
【MySQL学习6】MySQL约束之主键约束约束实际上就是表中数据的限制条件。
本节介绍添加单列主键、添加多列联合主键、删除主键。
表在设计的时候加⼊约束的⽬的就是为了保证表中的记录完整性和有效性,⽐如⽤户表有些列的值(⼿机号)不能为空,有些列的值(⾝份证号)不能重复。
【MySQL学习7】MySQL约束之⾃增长约束通过给字段添加 auto_increment 属性来实现主键⾃增长。
可以⾃定义起始值。
注意delete和truncate之后的⾃增长的区别。
【MySQL学习8】MySQL约束之⾮空约束与唯⼀约束⾮空约束就是必须有数据,不允许为空。
唯⼀约束就是指定的那个参数,它所在的⼀列⾥每个数据都不允许有重复。
【MySQL学习9】MySQL约束之默认约束和零填充约束默认值约束就是在不指定值的时候使⽤提前设定好的值。
零填充约束只是为了对齐,值的位数不长时在前⾯补0,了解即可。
【MySQL学习10】MySQL数据库DQL基本查询(⼀)数据库管理系统⼀个重要功能就是数据查询,数据查询不应只是简单返回数据库中存储的数据,还应该根据需要对数据进⾏筛选以及确定数据以什么样的格式显⽰。
2020M y S Q L从入门到精通演讲人2021-11-11目录01.0 MySQL学习指南07.附录B 客户端错误代码03.第2篇 核心技术05.第4篇 项目实战02.第1篇 基础知识04.第3篇 高级应用06.附录A MySQL服务器端错误代码和消息08.附录C 其他错误代码和消息010 MySQL学习指南0 MySQL学习指南010.1 什么是数据库020.2 MySQL简介030.3 MySQL的技术体系040.4 MySQL的应用领域和前景050.5 MySQL学习经验谈060.6 MySQL学习路线图02第1篇基础知识1 安装与配置——初识MySQL20171.1 MySQL的特性0120181.2 安装MySQL0220191.3 可视化管理工具的选择和安装0320201.4 测试安装环境0420211.5 卸载MySQL0520221.6 高手点拨068.2 基本查询语句8.4 统计函数和分组记录查询8.6 使用LIMIT限制查询结果的数量8.1 学生——课程数据库8.3 对查询结果进行排序8.5 GROUP BY子句8.8 子查询8.10 使用正则表达式表示查询8.12 高手点拨8.7 连接查询8.9 合并查询结果8.11 综合案例——查询课程数据库8.13 实战练习8 查询语句详解8.2 基本查询语句8.2.1 单表查询8.2.2 查询表中的部分字段8.2.3 查询表中的所有字段8.2.4 查询经过计算的值8.2.5 查询表中的若干记录9 存储过程与函数9.6 高手点拨9.5 综合案例——统计雇员表9.4 自定义函数9.3 存储过程的操作9.2 存储过程的创建9.1 存储过程的定义9 存储过程与函数9.7 实战练习9存储过程与函数9.3 存储过程的操作9.3.1 存储过程的调用9.3.2 存储过程的查看9.3.3 存储过程的删除9存储过程与函数9.4 自定义函数9.4.1 自定义函数的创建9.4.2 自定义函数的调用9.4.3 变量9.4.4 流程控制语句9.4.5 光标的使用9.4.6 定义条件和处理程序10 触发程序10.1 触发程序的定义10.4 综合案例——触发程序的使用10.2 触发程序的创建10.3 触发程序的操作10.5 高手点拨10.6 实战练习100%73%68%44%21%15%10.3.1 查看触发程序10.3.2 删除触发程序11 视图11.5 实战练习11.4 高手点拨11.3视图的使用11.2视图的创建、修改与删除11.1视图的定义11.2.1 创建视图11.2.2 修改视图11.2.3 删除视图04第3篇高级应用12 MySQL的备份和恢复12.1 数据库的备份12.2 通过phpMyAdmin实现备份和恢复12.1.1 数据库备份的意义12.1.2 逻辑备份和恢复12.1.3 物理备份和恢复12.1.4 各种备份与恢复方法的具体实现12.4 实战练习12.3 高手点拨13 MySQL的复制DCBA13.1 认识MySQL复制13.2 控制主服务器的操作13.3 控制从服务器的操作13.4 高手点拨E13.5 实战练习13 MySQL的复制13.1 认识MySQL复制13.1.1 复制的概念13.1.2 复制的用途13.1.3 复制的实现13.1.4 MySQL复制的几种模式13 MySQL的复制13.2 控制主服务器的操作13.2.1 复制前的环境配置13.2.2 复制的过程14 MySQL的日志管理14.1 操作错误日志14.2 操作查询日志14.3 操作二进制日志14.4 操作慢查询日志14.5 高手点拨14.6 实战练习14M y S Q L的日志管理14.1 操作错误日志14.1.1 启动错误日志14.1.2 查看错误日志14.1.3 删除错误日志14M y S Q L的日志管理14.2 操作查询日志14.2.1 启动查询日志14.2.2 查看查询日志14.2.3 删除查询日志14 MySQL的日志管理14.3 操作二进制日志14.3.1 启动二进制日志14.3.2 查看二进制日志14.3.3 删除二进制日志14.3.4 使用二进制日志还原数据库14 MySQL的日志管理14.4 操作慢查询日志14.4.1 启动慢查询日志14.4.2 查看慢查询日志14.4.3 删除慢查询日志15 MySQL分布式应用15.1分布式应用的概念和优势15.2M y S Q L分布式应用的主要技术15.2.1MySQL数据切分15.2.2MySQL读写分离15.2.3MySQL集群15.3M y S Q L分布式应用实例15.4高手点拨15.5实战练习16 MySQL缓存的配置和使用16.4 实战练习16.3 高手点拨16.2M y S Q L查询缓存的配置和使用16.1M y S Q L的缓存机制16.1.1 查询缓存概述16.1.2 MySQL查询缓存的工作原理16.1.3 查看MySQL的缓存信息16.2.1 配置查询缓存16.2.2 使用查询缓存16.2.3 查询缓存的维护第3篇 高级应用17 MySQL 错误代码和消息的使用201917.1 MySQL 服务器端错误代码和消息01202017.2 MySQL 客户端错误代码和消息02202117.3 高手点拨03202217.4 实战练习0405第4篇项目实战18 试卷管理系统18.1 系统概述18.2 需求分析18.3 总体设计18.6 高手点拨18.5 详细设计及实现18.4 数据库设计18 试卷管理系统18.7 实战练习18试卷管理系统18.4 数据库设计18.4.1 数据表详细信息18.4.2 数据库实现19 电动汽车分时租用平台数据库分析与设计19.1 需求分析19.1.1 项目背景19.1.2 系统目标19.1.3 运行环境19.1.4 功能需求19.1.5 数据说明19.1.6 软件接口说明19.1.7 用户及权限要求19.2 数据库分析与设计19.3 分时租用平台的MySQL数据库实现20 电动汽车GPS定位系统20.1需求分析20.2系统实现20.3技术要点20.2.1 地图定位20.2.2 查找附近20.2.3 我要导航20.2.4 历史记录06附录A MySQL服务器端错误代码和消息1.7 实战练习1安装与配置——初识M y S Q L 1.2 安装MySQL1.2.1 开源软件的特点1.2.2 在Windows系统环境下的安装1.2.3 在Linux系统环境下的安装1安装与配置——初识M y S Q L1.3 可视化管理工具的选择和安装1.3.1 选择和下载可视化管理工具1.3.2 在Linux系统环境下的安装1.3.3 在Windows系统环境下的安装附录A MySQL服务器端错误代码和消息07附录B 客户端错误代码附录B 客户端错误代码08附录C 其他错误代码和消息附录C 其他错误代码和消息2020感谢聆听2 MySQL数据库基础AEDFB C2.2 关系型数据模型2.3 关系型数据模型中的数据依赖与范式2.5 MySQL数据库系统的体系结构2.4 常见的关系型数据库管理系统2.6 MySQL存储引擎2.1 数据与数据管理的历史2 MySQL数据库基础2.7 高手点拨2.8 实战练习2M y S Q L数据库基础2.1 数据与数据管理的历史2.1.1 数据、数据库、数据库系统和数据库管理系统2.1.2 数据管理的历史2.1.3 MySQL的起源与版本2.1.4 MySQL与Oracle2 MySQL数据库基础2.2 关系型数据模型2.2.1 关系型数据模型的结构2.2.2 关系型数据模型的操作与完整性2.2.3 关系型数据模型的存储结构3 MySQL管理工具的使用3.1 MySQL Administr ator 3.2phpMyAdmin3.3Navicatfor MySQL3.6 MySQL的安全性问题3.5 MySQL用户账户管理3.4 MySQL 访问权限系统。
mysql练习题(打印版)# MySQL练习题## 1. 基本数据操作题目:创建一个名为`students`的表,包含`id`(主键,自增),`name`(姓名),`age`(年龄),`grade`(年级)四个字段。
```sqlCREATE TABLE students (id INT AUTO_INCREMENT PRIMARY KEY,name VARCHAR(50),age INT,grade VARCHAR(10));```题目:向`students`表中插入三个学生记录,姓名分别为“张三”,“李四”,“王五”,年龄分别为18,19,20,年级均为“大一”。
```sqlINSERT INTO students (name, age, grade) VALUES('张三', 18, '大一'),('李四', 19, '大一'),('王五', 20, '大一');```题目:查询`students`表中所有学生的姓名和年龄。
```sqlSELECT name, age FROM students;```题目:更新`students`表中名为“张三”的学生的年级为“大二”。
```sqlUPDATE students SET grade = '大二' WHERE name = '张三';```题目:删除`students`表中年龄为19的学生记录。
```sqlDELETE FROM students WHERE age = 19;```## 2. 高级查询题目:查询`students`表中年龄大于18岁的所有学生信息。
```sqlSELECT * FROM students WHERE age > 18;```题目:查询`students`表中年级为“大一”的学生的平均年龄。
第1章概述a)背景b)数据库的选择c)MySQL的架构第2章MySQL架构介绍第3章MySQL安装a)XP下安装b)Linux下安装和参数配置c)可视化工具的安装navicat第4章Navicat的使用第5章MySQL的管理维护a)库连接管理b)表空间管理c)用户及权限管理d)操作表、视图、触发器e)从oracle到MySQLf)从MySQL到oracleg)冷备份和逻辑备份h)时间点恢复和位置恢复第6章SQL的使用a)增删改查的SQLb)常用的数据类型c)常用的Mysql函数介绍第7章技巧篇a)索引的使用b)锁的使用c)Mysql事务控制d)自增列的使用e)Mysql安全f)安装和使用时的常见错误处理g)字符集的管理h)SQL的优化第8章结合UniEAP使用a)数据源管理b)开发注意事项c)常见数据类型的增删改查方法第1章概述a)背景MySQL是一个开源免费的关系型数据库存储引擎。
在MySQL经历了2008年Sun的收购和2009年Oracle收购Sun的过程中,基本处于停滞发展的情况。
目前,使用的常用的版本,也是比较稳定的版本是5.5.28.不过,从目前各个中小型网站的使用情况看,以及企业级的BS等应用很多在使用MySQL。
从部门开发情况看,也有少许项目是使用MySQL开发,比如个住项目。
b)数据库的选择小型数据库:access、foxbase;中型数据库:sql server 、mysql、informix;大型数据库:db2、Oracle、Sybase。
微软:sql server 和access;IBM公司:db2,informix;美国Sybase公司:Sybase;美国oracle公司:oracle,MySQL;选择数据主要考虑以下几点:项目的大小、架构、符合不符合技术路线,以及客户的原因。
第2章MySQL架构介绍1.逻辑架构最上面一层不是MySQL特有的,所有基于网络的C/S或者B/S的网络应用程序都应该包括连接处理、认证、安全管理等。
一.入门基础1.连接MYSQL:格式:mysql -h主机地址-u用户名-p用户密码1.1、例1:连接到本机上的MYSQL。
首先在打开DOS窗口,然后进入目录mysqlbin,再键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql>1.2、例2:连接到远程主机上的MYSQL。
假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。
则键入以下命令:mysql -h110.110.110.110 -uroot -pabcd123(注:u与root可以不用加空格,其它也一样)1.3、退出MYSQL命令:exit (回车)2.修改密码格式:mysqladmin -u用户名-p旧密码password 新密码2.1、例1:给root加个密码ab12。
首先在DOS下进入目录mysqlbin,然后键入以下命令mysqladmin -uroot -password ab12注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。
2.2、例2:再将root的密码改为djg345。
mysqladmin -uroot -pab12 password djg3453.增加新用户格式:grant select on 数据库.* to 用户名@登录主机identified by "密码"3.1 例1、增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。
首先用以root用户连入MYSQL,然后键入以下命令:grant select,insert,update,delete on *.* to test1@"%" Identified by "abc";3.2 例1增加的用户是十分危险的,你想如某个人知道test1的密码,那么他就可以在internet上的任何一台电脑上登录你的mysql数据库并对你的数据可以为所欲为了,解决办法:例2、增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),这样用户即使用知道test2的密码,他也无法从internet上直接访问数据库,只能通过MYSQL主机上的web页来访问了。
MySQL培训1. 简介MySQL是一种关系型数据库管理系统,广泛用于Web应用程序的后端数据存储和管理。
MySQL具有高度可靠性、高容量、灵活和易于使用的特点,因此成为了世界上最流行的开源数据库管理系统之一。
本文档将介绍MySQL的基本概念、安装方法和常用操作,帮助初学者快速上手MySQL。
2. 安装MySQL在开始学习MySQL之前,首先需要安装MySQL数据库。
以下是在不同操作系统上安装MySQL的步骤:2.1 Windows系统在Windows系统上安装MySQL有两种常见的方法:2.1.1 MySQL官方安装程序1.访问MySQL官方网站,下载最新版本的MySQL安装程序。
2.打开下载的安装程序,按照提示进行安装。
3.设置MySQL的安装路径和密码。
2.1.2 使用XAMPP1.下载并安装XAMPP,它是一个集成了Apache、MySQL和PHP的软件包。
2.打开XAMPP控制面板,启动MySQL服务。
3.在浏览器中输入http://localhost/phpmyadmin,进入phpMyAdmin管理界面。
2.2 macOS系统在macOS系统上安装MySQL也有两种方法:2.2.1 使用Homebrew1.打开终端,安装Homebrew包管理器。
2.在终端中运行brew install mysql来安装MySQL。
3.根据提示,设置MySQL的根密码。
2.2.2 使用MAMP1.下载并安装MAMP,它是一个集成了Apache、MySQL和PHP的软件包。
2.打开MAMP控制面板,启动MySQL服务。
3.在浏览器中输入http://localhost/phpmyadmin,进入phpMyAdmin管理界面。
2.3 Linux系统在Linux系统上安装MySQL也有多种方法,根据不同的Linux发行版可以选择不同的安装方式。
3. 基本操作3.1 连接到MySQL服务器在安装并启动MySQL服务器后,可以使用以下命令连接到服务器:mysql -u <用户名> -p其中<用户名>是用于连接服务器的用户名,在连接过程中会提示输入密码。
MySQL数据库基础操作指南第一章:数据库概述1.1 数据库的定义与特点1.2 MySQL数据库的发展与应用领域第二章:安装与配置2.1 MySQL数据库的下载与安装2.2 数据库服务的启动与关闭2.3 MySQL配置文件的修改与调优第三章:数据库的创建与管理3.1 数据库的创建与删除3.2 数据库的备份与恢复3.3 数据库的更新与修改3.4 数据库的监控与优化第四章:数据表的操作4.1 数据表的创建与删除4.2 数据表的列定义与约束4.4 数据表的索引与优化第五章:数据的增删改查5.1 数据的插入与删除5.2 数据的修改与更新5.3 数据的查询与排序5.4 数据的过滤与统计第六章:事务与并发控制6.1 事务的概念与特点6.2 事务的隔离级别与锁机制6.3 并发控制的方法与实现6.4 死锁的预防与处理第七章:数据库连接与权限管理7.1 数据库连接的建立与关闭7.2 用户权限的授权与撤销7.3 角色权限的管理与继承7.4 数据库账号管理与安全设置8.1 数据备份的常用方法与策略8.2 数据迁移与导入8.3 数据的恢复与故障处理8.4 数据库灾难恢复与应急处理第九章:数据库性能优化9.1 查询优化的基本原则与方法9.2 索引优化与统计信息9.3 SQL语句的优化与重构9.4 系统资源的监控与性能调优结语:本指南综合介绍了MySQL数据库的基础操作,从数据库的概念与特点开始,讲解了安装与配置、数据库的创建与管理、数据表的操作、数据的增删改查、事务与并发控制、数据库连接与权限管理等多个方面的内容。
同时还涉及了数据备份与恢复、数据库性能优化等高级主题,并提供了一些对应的案例和实践经验。
通过阅读本指南,读者可以全面了解MySQL数据库的基本操作和常用技术,有助于提高对MySQL数据库的使用能力和应对各类问题的能力。
超详细的MySQL数据库入门教程一、什么是MySQL数据库MySQL数据库是一种开源的关系型数据库,是目前最受欢迎和广泛使用的数据库之一,因为它具备很高的可靠性、充分的功能性、完整的文档和良好的性能。
相对于其他数据库管理系统,MySQL最大的特点就是速度非常快,而且支持多种操作系统,如Unix、Windows和Linux等。
二、MySQL基本知识1. 数据库对象在MySQL中,可以使用固定的术语来描述所涉及的不同组件和对象。
其中最为常见的三个对象是:表、列和行。
表:用于存储数据的矩形结构,包括许多有序列和行的特定类型的数据。
列:表中具有独立类型、唯一名称且包含数据的一部分。
例如,一个表可以包含名为“id”、“name”和“age”的三列。
行:表中的一条记录,包含列的特定值。
2. SQL语句SQL(结构化查询语言)是与MySQL之间交流的常用语言,它是一种标准的语言,用于管理和操作数据库。
MySQL支持以下几类SQL语句:- 数据定义语言(DDL):创建、改变和删除数据库对象,如表、列、视图等。
- 数据操作语言(DML):增加、删除和修改表中的数据。
- 数据查询语言(DQL):基于查询语句从数据库中检索信息。
- 数据控制语言(DCL):用于控制访问和安全等方面的语句,如授权、撤销权限等。
3. MySQL命令行工具MySQL命令行工具是MySQL数据库最常用的命令行工具之一,它可以通过命令行窗口连接和操作MySQL数据库。
常用的MySQL命令行工具有两种:- MySQL命令行客户端:用于连接和操作MySQL数据库。
- MySQL命令行导入和导出工具:用于将数据从文件或其他数据格式导入到MySQL数据库中,并在不同的数据存储之间导出数据。
三、开启和关闭MySQL1. 开启MySQL首先,需要安装MySQL数据库,安装方式与其他应用程序的安装方式相同。
在安装成功后,用户可以通过两种方式来开启MySQL:- 通过命令行工具启动MySQL。
1、启动mysql服务:mysqld -uroot2、登陆MySql,如果在安装时没有更改root用户的密码,登陆就用mysql –uroot –p3、查看当前所有的数据库:show databases4、创建数据库:create database mydb;5、查看数据库的详细信息:show create database mydb6、删除创建的数据库mydb:drop database mydb7、创建一个使用utf8字符集,并带校对规则的mydb数据库create database mydb character set utf8 collate utf8_general_ci;8、将mydb库的字符集修改为gbk: alter database mydb charseter set gbk再次查看mydb的详细信息如下:10、修改employ表名为employee:rename table employ to employee;11、在上面员工表的基础上增加一个image列:alter table employee add image varchar(100);12、修改job列,使其长度为60 :alter table employee modify job varchar(60);13、删除image列:alter table employee drop image;14、修改表的字符集为utf-8:alter table employee character set=utf8;15、列明name修改为username: alter table employee change name username varchar(100);16、向表中插入两条数据:INSERT INTO employee (id,username,gender,birthday,entry_date,job,salary,resume) VALUES(2,'taotao','male','1985-09-08','2012-12-15','CTO',15000.00,'handsome');INSERT INTO employee (id,username,gender,birthday,entry_date,job,salary,resume) VALUES (1,'赵云','male','485-09-08','2012-12-15','CTO',15000.00,'handsome');17、查看数据库的各处(6处)编码:show variables like 'character%';•client是客户端使用的字符集。
MySQL数据库入门教程第一章:数据库基础知识1.1 数据库的定义和作用介绍数据库的概念、定义和作用,以及为什么选择MySQL作为学习和应用的数据库管理系统。
1.2 关系型数据库基本概念解释关系型数据库的基本术语和概念,如表、行、列、主键等,帮助读者理解数据库模型。
1.3 MySQL的特点和优势探讨MySQL在市场中的地位以及其具备的特点和优势,如开源性、性能优异、可扩展性强等。
第二章:MySQL安装与配置2.1 下载和安装MySQL提供MySQL官方网站下载MySQL Community Server的方法,并详细讲解MySQL的安装过程。
2.2 系统环境变量配置使用System Properties或者编辑系统的环境变量,配置MySQL的系统环境变量。
2.3 初始化MySQL初始化MySQL,包括设置root用户的密码、移除匿名用户、禁止远程访问等。
第三章:MySQL基本操作3.1 连接MySQL服务器讲解如何通过命令行或者使用图形化界面工具连接MySQL服务器。
3.2 创建和管理数据库介绍如何创建和管理数据库,包括创建数据库、删除数据库、重命名数据库等。
3.3 创建和管理表详细说明如何创建和管理表,包括创建表、删除表、修改表结构等。
3.4 数据类型介绍MySQL支持的常用数据类型,包括整型、浮点型、字符型等,并说明在表设计时如何选择合适的数据类型。
第四章:MySQL查询语句4.1 SELECT语句解释SELECT语句的用法和基本语法,包括简单查询、条件查询、排序等。
4.2 聚合函数介绍MySQL中常用的聚合函数,如COUNT、SUM、AVG、MAX、MIN等,并提供示例来说明函数的用法。
4.3 JOIN操作讲解不同种类的JOIN操作,如INNER JOIN、LEFT JOIN、RIGHT JOIN等,并给出相应的案例说明。
第五章:MySQL数据操作5.1 插入数据详细介绍如何向表中插入一条或多条数据,包括使用INSERT和LOAD DATA INFILE命令的用法。
∙MySql入门教程∙一、连接MYSQL格式:mysql -h 主机地址-u 用户名-p用户密码1、例1:连接到本机上的MYSQL。
首先在打开DOS窗口,然后进入目录mysqlbin,再键入命令mysql-uroot-p,回车后提示你输密码,如果刚安装好MYSQL,终极用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql>2、例2:连接到远程主机上的MYSQL。
假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。
则键入以下命令:mysql -h110.110.110.110 -uroot-pabcd123(注:u和root能不用加空格,其他也相同)3、退出MYSQL 命令:exit(回车)二、修改密码格式:mysqladmin -u 用户名-p 旧密码password新密码1、例1:给root加个密码ab12。
首先在DOS下进入目录mysqlbin,然后键入以下命令mysqladmin -uroot -passwordab12注:因为开始时root没有密码,所以-p旧密码一项就能省略了。
2、例2:再将root的密码改为djg345。
mysqladmin -uroot -pab12 passworddjg345三、增加新用户(注意:和上面不同,下面的因为是MYSQL环境中的命令,所以后面都带一个分号作为命令结束符)格式:grant select on 数据库.* to 用户名@登录主机identified by"密码"例1、增加一个用户test1密码为abc,让他能在所有主机上登录,并对所有数据库有查询、插入、修改、删除的权限。
首先用以root用户连入MYSQL,然后键入以下命令:grant select,insert,update,delete on *.* to test1@"%" Identified by"abc";但例1增加的用户是十分危险的,你想如某个人知道test1的密码,那么他就能在internet上的所有一台计算机上登录你的mysql数据库并对你的数据能为所欲为了,解决办法见例2。
…Iampl34(数据库名)-MySQL数据库小型关系型数据库开源数据库--SQL命令不仅仅适用于MySQL数据库,适用于所有的支持SQL命令的数据库… 进入mysql的方式直接mysql冋车,以匿名的方式进入到数据库,只能看到允许游客看到的数据库™ mysql -h(mysql主机)localhost(本机)・u(用户)root(超级管理员)-p(密码)回车C:\Users\Administrator>mysql -h localhost -u root -pEnter password: ―输入密码--show databases显示当前服务器下所有的数据库mysql> show databases;…显示:| Database |+ -------------------- +| in format! on_ schema |I mysql I| performsnce_schema |I sys I| ultrax |+ -------------------- +5 rows in set (0.00 sec)mysql>-上下键可以调用历史记录命令-每一行命令要以分号结束--create!创建)database(数据库)Iampl34(数据库名)mysql> create database Iampl34;…显示:Query OK, 1 row affected (0.00 sec)mysql>--删除数据库drop database数据库名mysql> drop database Iampl34;…显示:Query OK, 0 rows affected (0.08 sec)mysql>…设置字符集的目的就是为了防止数据库存储屮文时乱码-创建数据库如果Iampl34不存在,同时设置默认的字符集为utf8(没有・) mysql> create database if not exists Iampl34 default charset=utf8;…显示:Query OK, 1 row affected (0.00 sec)mysql>…删除数据库如果存在Iampl34mysql> drop database if exists Iampl34;™显示:Query OK, 0 rows affected (0.00 sec)mysql>—选择数据库Imapl34mysql> use Iampl34…显不:Database changedmysql>***************************■…创建表mysql> create table stu(—-id 字段名int 字段属性not null 不为空autojncrement 自增primary key 主 键(唯一、不能为空)-> id int not null auto _in creme nt primary key,-> name varchar(20) unique, ・-varchar(长度)字符串类型・> sex tinyint default 3,— tinyint 较小的整型 unique 唯一 default 3 设置默认值 为3 (该位置没有写入数据吋默认添加3)・> age tinyint ・>)engine = myisam default charset=utf8; 一一 engine 数据表"勺弓I 擎 default charset=utf8 设置默认字符集…显示:Query OK, 0 rows affected (0.14 sec)mysql>―show create table 数据表名 显示创建表的语句\G 把数据立起来显示mysql> show create table stu\G…显示:]row ***************************Table: stuCreate Table: CREATE TABLE 'stu' ('id' int(ll) NOT NULL AUTOJNCREMENT'name' varchar(20) DEFAULT NULL,'sex' tinyint ⑷ DEFAULT *3','age' tinyint ⑷ DEFAULT NULL,PRIMARY KEY ('id'),UNIQUE KEY 'name' ('name'))ENGINE 二MylSAM DEFAULT CHARSET=utf8'1 row in set (0.00 sec) mysql>-查看表结构 mysql> desc stu;™显示:mysql>…对于id 是主键、自增,不要管他!! !一-增insert 插入-插入一条数据insert into 表名(字段名1,字段名2……)value (字段1的值,字段2的 值……); mysql> insert into stu (name,sex,age ) value ('李大锤',2,18);I —I…Mk/Ix :Query OK, 1 row affected (0.02 sec)mysql>—查询stu 表的所有的数据select 查 mysql> select * from stu;I id | name| sex | age | 18 | mysql>--直插入了 name,age 两个字段,sex 字段使用默认值3 mysql> insert into stu(name,age ) value 。
泰国:24);—* ■■ W ■■ W flV Mi SO S0 SB OB ■■ ■■ W MV ■■ Ml *■I 1 |李大锤|2 | 1 row in set (0.06 sec)…显示:Query OK, 1 row affected (0.00 sec)mysql>…改(执行update -定要加条件,否则修改的就是所有的数据)—update表名set字段名1二值1,字段名2=值2 where id=3 mysql> update stu set name—凯哥:sex=2 where id = 3;PI ”—>ikzj\:Query OK, 1 row affected (0.00 sec)Rows matched: 1 Changed: 1 Warnings: 0mysql>…删(执行删除时一定要加条件,否则会删除所有的数据)mysql> delete from stu where id = 3;-exit退出数据库-Ac取消当前行命令-导出数据库(退出数据库)C:\Users\Administrator>mysqldump -u root -p Iampl34(数据库的名)>lampl34.sql 置没有分号Enter password: -密码C:\Users\Administrator>-导入数据库(确保Iampl34是存在的)C:\Users\Administrator>mysql -u root -p Iampl34<lampl34.sqlEnter password:C:\Users\Administrator>…显示当前数据库下所有的数据表mysql> show tables;P1 ”—>ikzj\:+ ------------------ +| Tables_in」ampl34 |+ ------------------ +I Stu I+ ------------------ +1 row in set (0.00 sec)mysql>-如果Stu表存在,执行删除mysql> drop table 讦exists stu;—显ZK:Query OK, 0 rows affected (0.01 sec)mysql>―更新设置sex=2条件id=l mysql> update stu set sex=2 where id =1; Query OK, 1 row affected (0.05 sec)Rows matched: 1 Changed: 1 Warnings: 0mysql>-删除id=l的数据mysql> delete from stu where id = 1;Query OK, 1 row affected (0.00 sec)mysql>-导出数据库mysqldump-u root-p数据库名〉数据库文件的保存路径和名(退出mysql数据库) C:\Users\Administrator>mysqldump -u root -p Iampl34>lampl34.sqlEnter password: …输入密码C:\Users\Administrator>—导入mysql・u root・p数据库名v数据库文件的地址-用最少的地方存储最多的数据mysql> create table demo(・> id int not null auto _in creme nt primary key,-> name varchar(25) not null,-> age tinyint->);Query OK, 0 rows affected (0.10 sec)…在创建表的时候没有选择默认的引擎,使用系统默认的引擎-默认字符集:-数据库遵循数据库系统默认的字符集-数据表遵循当前数据的默认的字符集…字段遵循当前表的默认字符集mysql> show create table dem\G mysql> show create table demo\G * * * ************************ ] row ***************************Table: demoCreate Table: CREATE TABLE 'demo' ('id' int(ll) NOT NULL AUTOJNCREMENT;'name' varchar(25) NOT NULL,'age' tinyint(4) DEFAULT NULL,PRIMARY KEY ('id'))ENGINE=InnoDB DEFAULT CHARSET=utf81 row in set (0.00 sec)-当数字不够5位时,自动补充前•…对于tinyint 类型有符号最大值为127无符号最大值255 --修改表结构alter table 表名modify (修改)字段名新的属性和约束条件 mysql> alter table demo modify age tinyint unsigned; ■一 unsigned 表刀{无符号 Query OK, 4 rows affected (0.12 sec)Records: 4 Duplicates: 0 Warnings: 0mysql>…向demo 表中添加新字段alter table 表名add (添加)属性名类型和约束 mysql> alter table demo add price int(5) not null;Query OK, 0 rows affected (0.11 sec)Records: 0 Duplicates: 0 Warnings: 0mysql>--修改表结构zerofill 自动补零mysql> alter table demo modify price int(5) zerofill; 导零 Query OK, 11 rows affected (0.06 sec)Records: 11 Duplicates: 0 Warnings: 0 mysql>—设置price的属性为float(5,2) 2表示保留两位小数5表示包含小数点一共5位mysql> alter table demo mod讦y price float(5,2);Query OK, 11 rows affected, 3 warnings (0.08 sec)Records: 11 Duplicates: 0 Warnings: 3mysql> desc demo;-varchar(20)实际存储时,有几个占几个-执行效率char()执行效率要高于varchar()-enum()枚举类型,给的类型中选择一个,如果插入的语句没有在指定的范围内,什么都不写入mysql> alter table demo add sex enumCnan'/nv'/yao'); ■- 如果是在排序时,排序的规则遵守enum()单元的顺序Query OK, 0 rows affected (0.07 sec)Records: 0 Duplicates: 0 Warnings: 0mysql>-删除年龄为空null的数据mysql> delete from demo where age is null;Query OK, 8 rows affected (0.00 sec)-查询所有的数据,按照age 进行排序,升序 mysql> select * from demo order by age;9 rows in set (0.00 sec)——desc 降序asc (默认效果)升序mysql> select * from demo order by age desc; +-…+ ---------- + ------ + -------- + ------ +| id | name| age | price | sex | +——+ ------- + ------ + -------- + ------ +9 rows in set (0.00 sec)—-修改表结构mysql> alter table demo mod讦ysexenum(,yao',,nv,/,narT);― 扫F序Query OK, 9 rows affected (0.07 sec)Records: 9 Duplicates: 0 Warnings: 0mysql>-text存储大段的文字(评论的内容,商品的描述)—修改表结构alter table表名操作…添加字段(默认添加的字段为最后一个位置)mysql> alter table demo add qq int;Query OK, 0 rows affected (0.06 sec)Records: 0 Duplicates: 0 Warnings: 0 mysql>—添加email字段到第一个位置mysql> alter table demo add email varchar(30) first;Query OK, 0 rows affected (0.06 sec)Records: 0 Duplicates: 0 Warnings: 0-添加aa字段在email的后面mysql> alter table demo add aa int after email;Query OK, 0 rows affected (0.06 sec)Records: 0 Duplicates: 0 Warnings: 0mysql>—delete清空drop删除■■■--删除字段aa drop字段名mysql> alter table demo drop aa;Query OK, 0 rows affected (0.06 sec)Records: 0 Duplicates: 0 Warnings: 0mysql> desc demo;-修改字段属性…改不改名mysql> alter table demo mod讦y sex tinyint default 3; Query OK, 9 rows affected (0.07 sec)Records: 9 Duplicates: 0 Warnings: 0mysql>--change还可以修改字段的名change IH名新名属性、约束mysql> alter table demo change sex xingbie tinyint default 3; Query OK, 0 rows affected (0.02 sec)Records: 0 Duplicates: 0 Warnings: 0mysql>-使用change修改字段属性时,给两个相同的名mysql> alter table demo change qq qq tinyint;Query OK, 9 rows affected (0.07 sec)Records: 9 Duplicates: 0 Warnings: 0…显示创建数据库的语句mysql> show create database demoa\G****** ************* **** **** 1. row * ********* *****************Database: demoaCreate Database: CREATE DATABASE 'demoa' /* 140100 DEFAULT CHARACTER SET latinl */ 1 row in set (0.00 sec) mysql>-修改数据库的默认字符集mysql> alter database demoa default charset=utf8;Query OK, 1 row affected (0.00 sec)mysql>-…修改表的默认字符集alter table demoa(没有这个表)default charset=utf8;-查看当前数据库下所有的表mysql> show tables;+ ------------ +| Tables_in」ampl34 |+ ------------------- +| demo |1Stu I+ ------------------- +2rows in set (0.00 sec) mysql>-添加一条数据id自增、主键,对应位置写nullmysql> insert into stu(id,name,sex,age) value(null/zhangsan:l,20);Query OK, 1 row affected (0.00 sec)mysql> select * from stu;■…当不写表的字段名吋,采取插入数据的方式和表的结构一一对应的mysql> insert into stu value(nulfadmin'230);Query OK, 1 row affected (0.00 sec)…该位置为1条命令4行显示插入多条记录mysql> insert into stufid,name,age,sex) value(null,'admin:T230),-> (null/admin2,,2z13)/-> (null/admin3'/3/12)/・> (null/admin4',l z18);Query OK, 4 rows affected (0.00 sec)Records: 4 Duplicates: 0 Warnings: 0mysql>--用户的权限-数据库只允许在本机使用root权限登陆—mysql -h localhost(主机地址)-u root(用户)・p (密码)-创建数据库用户在什么地方(允许用户在那个ip地址上登录)用什么用户名、什么密码登陆―授权时,你的权限一定要高…查询当前登陆数据库的用户mysql> select user();+ ---------------- +I user() I+ ---------------- +I root@localhost |+ ---------------- +1 row in set (0.00 sec)mysql>--授权grant all(J9f有的权限)on数据库.数据表to用户名@IP地址identified by “密码“; --%代表了任意一个地址mysql> grant all on *.* to huxiaoshuai@'%' identified by "123";Query OK, 0 rows affected (0.00 sec)—刷新权限mysql> flush privileges;Query OK, 0 rows affected (0.00 sec)mysql>… 修改mysql数据库屮user表屮相关用八的IP地址-查询指定字段的数据mysql> select host,user,password from user;+ ------- + ........ + ............................. +| host | user | password | + ------- + ........ + ............................. +| localhost | root | | | 127.0.0.1 | root | | | ::1 | root | | | localhost | | | | % | huxiaoshuai | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257+ ------- + -------- + ----------------------------- +5 rows in set (0.00 sec)mysql>-更新设置新添加的用户的host主机地址为本机mysql> update user set host=,localhost, where user = 'huxiaoshua「;Query OK, 1 row affected (0.00 sec)Rows matched: 1 Changed: 1 Warnings: 0mysql>…移除创建的权限mysql> revoke create on *.* from huxiaoshuai@,localhost,;Query OK, 0 rows affected (0.00 sec)1. row …刷新权限mysql> flush privileges;Query OK, 0 rows affected (0.00 sec) mysql>…删除mysql 的权限用户mysql> delete from user where user = 'huxiaoshuai'; Query OK, 1 row affected (0.00 sec) mysql> -如何允许其他用户访问数据 apache 的配置文件http.conf 屮 查找allow from在该位置的最下面添加Allow from all 保存…重启apache―索引类别:主键索引、唯一索引、普通索引-主键索引-primary key 唯一不能为空…唯一索引…unique 唯一—普通索引… 创建一个普通索引alter table 表名index 索引名(字段名) mysql> alter table stu add index username(username);Query OK, 6 rows affected (0.05 sec)Records: 6 Duplicates: 0 Warnings: 0 mysql>…查看stu 表中的所有的索引mysql> show indexes from stu\G****** ************* **** *******************************Table: stuNon_unique: 0Key_name: PRIMARYSeq_i n_in dex: 1Column_name: idCollation: ACardinality: 6Sub_part: NULLPacked: NULLNull: lndex_type: BTREEComme nt:lndex_comme nt:****** ************* **** **** 2. row * ********* ***************** Table: stuNon_unique: 0Key_name: nameSeqJ n_in dex: 1Column_name:nameCollation: A Cardinality:NULL Sub_part: NULLPacked: NULLNull: YES lndex_type:盯REEComment: lndex_comme nt: 2 rows in set (0.01 sec) mysql>—删除普通索引alter table表名drop index索引名mysql> alter table stu drop index username;Query OK, 6 rows affected (0.04 sec)Records: 6 Duplicates: 0 Warnings: 0 mysql>-当前位置为name是唯一索引名mysql> alter table stu drop index name; Query OK, 6 rows affected (0.05 sec) Records: 6 Duplicates: 0 Warnings: 0mysql>…(是自增的主键,不能被直接删除) -删除主键索引mysql> alter table de drop primary key; Query OK, 0 rows affected (0.19 sec) Records: 0 Duplicates: 0 Warnings: 0…*所有字段查询Stu表屮所有字段的数据mysql> select * from stu;5 rows in set (0.04 sec) mysql>-性别,姓名,id三个字段的数据相邻字段Z间使用,隔开mysql> select id,user name, sex from stu;mysql>- 获取当前Stu表中记录数据的条数mysql> select count(*) from stu;+ ..... +| count(*) |+ ----- +I5|+ ----- +1row in set (0.04 sec)—查询所有性别为女的信息mysql> select * from stu where sex=2;| id | user name | age | sex | class |ev «■ M Ml W M ov «■V V Ml «■ V| 1 | 张三| 20 | 2 | Iampl34 || 5 | 冬冬| 13 | 2 | Iampl33 |2rows in set (0.00 sec) mysql>一性别为女,年龄小于20的数据mysql> select * from stu where sex=2 and age<20;| id | username | age | sex | classM ■■■■ AB M M ■ •» ■ flB M| 5 | 冬冬| 13 | 2 | Iampl33 |1 row in set (0.00 sec)mysql>…查询所有的男性的数量mysql> select count(*) from stu where sex=l;+ ............ +| count(*) |+ --------- +I II+ --------- +1row in set (0.01 sec) mysql>•…查询id为2或者id为3的数据mysql> select * from stu where id=2 or id=3;M ■■ ■■ AB M M ■ •» ■ flB M| id | username | age | sex | class |I 2 | 付善德 | 14 | 3 | Iampl34 |I 3 | 姗姗| 18 | 3 | Iampl35 |2rows in set (0.00 sec)mysql>…更新将id为4和id为5的数据的性别更新为男性mysql> update stu set sex=l where id=4 or id=5;Query OK, 1 row affected (0.00 sec)Rows matched: 2 Changed: 1 Warnings: 0 mysql>-id在3和10之间所有的人的age mysql> select id,age from stu where id>3 and id<10;** ** ** **I id I age |«■■ «■I 4 | 28 |I 5 | 13 |2rows in set (0.01 sec) mysql> —between and范围查询包含两侧的边界值(连续的范围) mysql> select * from stu where id between 3 and 5;-查询一个不连续的范围(12356刀■一mysql> select * from stu where idin(123567);mysql>select查询的完整格式:select [all |distinct]字段名[as别名]from表名[where 语句] -where 条件[group by][having...]分组[order by...]排序[limit count]查询条数distinct去除重复的值mysql> select distinet sex from stu;+ ---- +I sex |I 2 |I 3|I II+ ---- +3rows in set (0.00 sec)mysql>-as关键字起别名mysql> select id as 学号‘username as 姓名‘sexas,性另U from stu;+ ---- + .......... +------ +I学号I姓名I性别Imysql>――查询每个班有多少人(按照班级分组统计人数) mysql> select count(*),classfrom stu group by class;+ ---------- + ------- +I count(*) | class |+ ---------- + ------- +| 1 | Iampl33 || 2 | Iampl34 || 2 | Iampl35 || 1 | Iampl36 |+ ---------- + ------- +4rows in set (0.02 sec)--查询所有的班级人数在1人以上的班级having是group by的子条件mysql> select count(*) as num,class from stu group by class having num>l;| num | class■■■■■■■■■■■■■■| 2 | Iampl34 || 2 | Iampl35 |2rows in set (0.02 sec) mysql>-按照年龄降序排列desc降序asc升序(默认) mysql> select * from stu order by age desc;■■■■■■■■■■■■■■■■■■■■■■■■■•■■■■■■■■■6 rows in set (0.00 sec)mysql>…找到年龄最人的一条数据limit 1表示取一条mysql> select * from stu order by age desc limit 1;M ■■ ■■ AB M M ■ •» ■ flB MI id | username | age | sex | classI 4 | 露露| 28 | 1 | Iampl36 |1 row in set (0.00 sec)I 3 | 姗姗 | 28| I 4 | 露露 | 28 | -収出所有的年龄最大值的数据 -第一步找出年龄的最大值mysql> select max(age) from stu;+ ------ +I max(age) |+ ------ +I 28 I+ ------ +1 row in set (0.00 sec) mysql>-第二步查询所有年龄等于该值的数据-如何在一条命令中写出来mysql> select * from stu where age = (select max(age) from stu); | id | user name | age | sex | class | +-…+ --------- + ----- + ----- + -------- +3 | Iampl35 | 1 | Iampl36 | 1 | Iampl33 | ・+ 3 rows in set (0.00 sec) mysql>-将木表屮现有的数据•查询出来,再次插入到本表屮(扩展)—limit 2限制査询2条分页查询 •…约定每页显示2条,一共有3页5条数据-…limit 0,2偏移0条,取2条 —第_页 mysql> select * from stu limit 0,2;2 | Iampl34 |3 | Iampl34 | --limit 2,2偏移2条,取2条 mysql> select * from stu limit 2,2; | id | user name | age | sex | class |■ ■ ■ ■ ■■■■■■■■■■ ■ ■ ■ ■ ■ •■■■■■■ ■■■■■■■■■ I 3 | 姗姗 I 28 | 3 | Iampl35 | 1 4 | 需需| 28 |1 | Iampl36 |2 rows in set (0.00 sec) -■- limit 4,2偏移4条,取2条—当前页面的值为$page = 2 2 —每页显示的条数为$pageSize = 2; 3—偏移量 $pageOffset = ($page-l)*$pageSize 3 —limit 3,3偏移3条,取出3条(第二页) mysql> select * from stu limit 3,3;+-…+ ---------- + + ---------- +-------- + | id | user name | age | sex | class |MB ■■ OB M SB ■ ■ ■ ••I 4 | 需需 | 28 | 1 | Iampl36 | | 5 | 冬冬 I 28 | 1 | Iampl33 | | 6 | life ng |20 |3 | Iampl35 |I id | username | age | sex | classI 1 I 张三 I 20 | I 2 |付善德 |15 |2 rows in set (0.00 sec)-rand()随机获取O-1Z间的数mysql> select rand();mysql>-floor()舍去取整mysql> select floor(rand()*10);+ ----------------- +| floor(rand()*10) |711 row in set (0.01 sec)mysql>…原有的所有的字段,rand() mysql> select *,rand() from stu;I id | username | age | sex | class | rand()对应--按照随机数进行排序,取岀3条mysql> select *,rand() from stu order by rand() limit 3;Iampl35 | 0.015135464272587993 | Iampl34 |0.5065731448182587 | Iampl34 |0.7069709735987437 |3 rows in set (0.00 sec) mysql>…有一个学员,在成绩表就有对应的一条记录,--人为的约定学生表stu 的id 和成绩表score 的uid 在数值上相等,…想同时获取学员的ID 、姓名、成绩―关联查询where 条件 -关联查询两张表里的所有的数据mysql> select * from stu,score where stu.id = score.uid;Mev «■ wMl■■ Mov «■ w MVVMl «■ VMl* «■M«■ W «■■■ V«0 w4 rows in set (0.00 sec)| id | username | age | sex | class | rand()■■ MB OB flB■■ MBAS flBMB OB ** flB flB flB flB MB flB AB flB flB flB Mi fl* MB AS flB OB MBev «■ wMl WM«0 «■ wV V «■«v«■ VM…关联查询,查询两张表中指定的字段mysql> select stu.id,ername^core.html,score.php,score.mysql from stu,score where stu.idmysql> -as 其别名mysql> select u.id,ername,s ・html,s ・mysql ,s ・php from stu as u,score as s wher e u.id = s.uid;+-…+ ---------- + ------ + ------- + ------ + I id | username | html | mysql | php |mysql>…其别名使用空格mysql> select u.id,ername,s.html,s.mysql,s.php from stu u,score s where u.id = s.uid; | id | user name | html | mysql | php |…左关联查询,以左边的表为主,右侧表不存在的数据自动补null mysql> select * from stu u left join score s on u.id = s.uid;6 rows in set (0.00 sec) mysql>…右关联以右侧的表为主,左侧不存在的数据,自动补null mysql> select * from stu u right join score s on u.id = s.uid;5rows in set (0.00 sec) mysql>6。