第6章 MySQL语言结构
mysql的底层数据结构和原理

mysql的底层数据结构和原理MySQL是一个流行的关系型数据库管理系统,它的底层数据结构和原理对于理解其性能和功能至关重要。
以下是一些关键的底层数据结构和原理:1. InnoDB存储引擎:MySQL支持多种存储引擎,其中InnoDB是最常用的一种。
InnoDB提供了ACID事务支持、行级锁定和外键约束。
2. 数据页(Page):InnoDB存储引擎的最小数据单位是页,通常大小为16KB。
一个表空间由多个页组成。
3. B+树索引:InnoDB使用B+树作为索引结构,特别是聚集索引和非聚集索引。
B+树的特点是所有的值都出现在叶子节点上,并且叶子节点之间通过指针相互连接,便于顺序访问。
4. 主键索引和非主键索引:InnoDB允许一个表有多个索引,但只能有一个聚集索引。
聚集索引决定了表中数据的物理存储顺序,非聚集索引则有一个指向聚集索引的指针。
5. 事务日志(Redo Log):为了确保数据的持久性和事务的ACID属性,InnoDB使用事务日志来记录所有更改。
如果系统崩溃,可以使用事务日志进行恢复。
6. 行格式(Row Format):InnoDB有两种行格式:COMPACT和DYNAMIC。
它们决定了如何在B+树叶子节点中存储行数据。
7. MVCC(多版本并发控制):为了支持高并发,InnoDB使用MVCC来保存旧的数据版本。
这使得读取操作不需要加锁,提高了并发性能。
8. 外键约束:InnoDB支持外键约束,确保数据之间的引用完整性。
9. 分区表:MySQL允许将一个大表分成多个小表,这些小表可以在不同的物理文件中存储,以提高查询和管理性能。
10. 复制(Replication):MySQL支持主从复制,用于数据备份、负载均衡和高可用性。
理解这些底层数据结构和原理有助于更好地优化MySQL数据库的性能、设计和调优。
mysql 数据库生成表结构说明

mysql 数据库生成表结构说明MySQL 是一种开源的关系型数据库管理系统,被广泛应用于各种应用程序和网站开发中。
生成表结构说明对于数据库管理和开发非常重要,它提供了一个清晰的视图,使得开发人员能够了解表的字段、数据类型、主键、外键等重要信息。
以下是 MySQL 数据库生成表结构说明的主要内容:1. 表名:表名用于唯一标识一个表,通常具有描述性的名称,以便更好地理解表的用途和内容。
2. 字段名:字段名用于唯一标识表中的一个字段,每个字段都有自己的名称和数据类型。
合理选取字段名能够提高代码的可读性和可维护性。
3. 数据类型:数据类型指定了每个字段可以存储的数据类型,例如整数、浮点数、字符串等。
根据实际需求,选择合适的数据类型可以节省内存空间并提高查询效率。
4. 主键:主键是表中唯一标识一条记录的字段。
它的值在表中必须唯一且不能为空,通常使用自增长整数作为主键,但也可以使用其他数据类型。
5. 外键:外键用于关联两个表之间的数据。
通过指定外键约束,可以确保数据的完整性和一致性。
外键通常与其他表的主键关联,实现表之间的关系。
6. 约束条件:约束条件用于限制字段的取值范围和约定字段之间的关系。
例如,可以设置字段不能为空、唯一性约束、默认值等。
约束条件有助于保证数据的一致性和完整性。
7. 索引:索引是提高数据检索速度的重要手段之一。
通过在某些字段上创建索引,可以加快数据查询的速度。
索引通常被用于经常需要被查询的字段。
8. 备注:备注提供了表和字段的额外说明信息,有助于开发人员理解表的用途、字段的含义以及其他相关信息。
在设计和生成 MySQL 数据库表结构说明时,应考虑到数据的完整性、一致性和查询效率。
合理选择字段名、数据类型和约束条件,可以确保数据库的性能和数据质量。
生成MySQL 数据库表结构说明是数据库管理和开发中的重要一环。
通过清晰的表结构说明,开发人员能够更好地理解表的用途和内容,并能够设计合适的查询和操作方法。
mysql教案讲解(详细)

MySQL教案讲解(详细)教案章节:一、MySQL简介1.1 MySQL的历史和发展1.2 MySQL的特点和优势1.3 MySQL的安装和配置二、数据库的基本概念2.1 数据库的概念和分类2.2 数据表的结构和设计2.3 数据库的创建和管理三、SQL语言基础3.1 SQL语言简介3.2 数据定义语言(DDL)3.3 数据操作语言(DML)3.4 数据查询语言(DQL)四、数据库的增删改查操作4.1 数据的插入操作4.2 数据的删除操作4.3 数据的更新操作4.4 数据的查询操作五、索引和约束5.1 索引的概念和作用5.2 索引的创建和管理5.3 约束的概念和作用5.4 约束的添加和删除MySQL教案讲解(详细)教案章节:六、数据库的高级查询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 事务的提交和回滚9.4 事务的管理和优化十、MySQL性能优化10.1 查询性能的影响因素10.2 索引优化和选择10.3 查询缓存的使用和管理10.4 数据库的备份和恢复MySQL教案讲解(详细)教案章节:十一、数据库的安全性和权限管理11.1 用户权限的概念和作用11.2 用户权限的分配和管理11.3 角色和角色的使用11.4 安全性和权限管理的最佳实践十二、MySQL备份与恢复12.1 备份的重要性和策略12.2 常用备份方法介绍12.3 恢复方法和故障排除12.4 备份与恢复的自动化管理十三、MySQL性能监控与调优13.1 性能监控的关键指标13.2 性能分析工具的使用13.3 查询优化的策略和方法13.4 系统配置的优化指南十四、MySQL replication(复制)14.1 复制的工作原理和类型14.2 主从复制的设置和维护14.3 复制延迟和故障处理14.4 复制在高可用性方案中的应用十五、MySQL的高级特性15.1 全文索引和搜索15.2 空间数据类型和地理信息查询15.3 事件调度和定时任务15.4 数据库的性能分析和监控工具重点和难点解析重点:MySQL的历史和发展,特点和优势数据库的基本概念,包括数据库的分类,数据表的结构和设计,数据库的创建和管理SQL语言基础,包括DDL,DML,DQL数据库的增删改查操作索引和约束的使用和管理数据库的高级查询,包括联合查询,子查询,数据汇总和分组,排序和限制存储过程和函数的创建和执行触发器和事件的创建和管理事务的特性和管理数据库的安全性和权限管理备份与恢复策略和方法性能监控与调优的关键指标和工具复制的工作原理和类型,主从复制的设置和维护全文索引和搜索,空间数据类型和地理信息查询事件调度和定时任务,数据库的性能分析和监控工具难点:MySQL的安装和配置细节复杂SQL查询的编写和优化存储过程和函数的高级应用触发器和事件的精确控制和调度事务的并发控制和故障处理高级查询优化和性能调优复制中的延迟和故障处理全文索引和空间数据类型的应用场景事件调度和定时任务的复杂场景设计。
MySQL心得6-1--MySQL语言结构--常量、变量

序列含 义\0⼀个ASCII 0 (NUL)字符\n⼀个换⾏符\r⼀个回车符(Windows 中使⽤\r\n 作为新⾏标志)\t⼀个定位符\b⼀个退格符\Z⼀个ASCII 26字符(CTRL+Z )\'⼀个单引号(“'”)\"⼀个双引号(“"”)\\⼀个反斜线(“\”)\%⼀个“%”符。
它⽤于在正⽂中搜索“%”的⽂字实例,否则这MySQL ⼼得6-1--MySQL 语⾔结构--常量、变量1.在MySQL 数据库中,SQL 语⾔由以下⼏部分组成。
(1)数据定义语⾔(DDL )。
⽤于执⾏数据库的任务,对数据库及数据库中的各种对象进⾏创建(create)、删除(drop)、修改(alter)等操作。
如前所述,数据库对象主要包括:表、默认约束、规则、视图、触发器、存储过程等。
不同数据库对象,其create 、drop 等语句的语法形式不同(2)数据操纵语⾔(DML )。
⽤于操纵数据库中各种对象,检索和修改数据。
DML 包括的主要语句及功能如下表所⽰。
语 句功 能说 明SELECT 从表或视图中检索数据是使⽤最频繁的SQL 语句之⼀INSERT 将数据插⼊到表或视图中UPDATE 修改表或视图中的数据既可修改表或视图的⼀⾏数据,也可修改⼀组或全部数据DELETE 从表或视图中删除数据可根据条件删除指定的数据(3)数据控制语⾔(DCL )。
⽤于安全管理,确定哪些⽤户可以查看或修改数据库中的数据,DCL 包括的主要语句及功能如下表所⽰。
语句功 能说 明grant 授予权限可把语句许可或对象许可的权限授予其他⽤户和⾓⾊revoke 收回权限与GRANT 的功能相反,但不影响该⽤户或⾓⾊从其他⾓⾊中作为成员继承许可权限(4) MySQL 增加的语⾔元素。
这部分不是SQL 标准所包含的内容,⽽是为了⽤户编程的⽅便增加的语⾔元素。
这些语⾔元素包括常量、变量、运算符、函数、流程控制语句和注解等。
mysql创建表结构的方法总结

mysql创建表结构的方法总结MySQL是一种常用的关系型数据库管理系统,通过创建表结构来存储和组织数据。
本文将总结使用MySQL创建表结构的方法。
1. 确定数据库和表的名称在开始创建表结构之前,首先要确定要使用的数据库名称和表名称。
数据库名称用于区分不同的数据库,而表名称则用于区分不同的数据表。
2. 设计表的字段在创建表结构之前,需要先确定表中的字段。
字段是表中存储数据的基本单元,每个字段都有一个名称和一个数据类型。
常用的数据类型包括整数、浮点数、字符串等。
根据具体需求,设计合适的字段名称和数据类型。
3. 确定字段的约束字段约束用于限制字段的取值范围或要求字段满足特定条件。
常见的字段约束有主键约束、唯一约束、非空约束、默认值约束等。
根据需求,确定适当的字段约束。
4. 创建表结构创建表结构的语法如下:```CREATE TABLE 表名 (字段1 数据类型约束,字段2 数据类型约束,...);```根据字段的设计,使用CREATE TABLE语句创建表结构。
每个字段使用字段名称、数据类型和约束进行描述,字段之间使用逗号分隔。
5. 设计主键主键是一种特殊的字段约束,用于唯一标识表中的每一行数据。
通常使用自增长整数作为主键,以确保每个数据行都有唯一的标识。
在设计表结构时,需要选择一个或多个字段作为主键,并将其设置为主键约束。
6. 设计外键外键是一种用于建立表之间关系的字段约束。
通过外键,可以将多个表连接起来,实现数据的关联和引用。
在设计表结构时,需要确定哪些字段作为外键,并将其设置为外键约束。
7. 设计索引索引是一种用于提高数据查询性能的数据结构。
通过在表中的某些字段上创建索引,可以加快查询速度。
在设计表结构时,需要考虑哪些字段需要创建索引,并使用CREATE INDEX语句创建索引。
8. 设计表之间的关系在设计表结构时,需要考虑不同表之间的关系。
常见的关系有一对一关系、一对多关系和多对多关系。
根据具体需求,使用外键等方式建立表之间的关系。
mysql数据库课程内容

mysql数据库课程内容第一部分:数据库基础1.1 数据库概念•数据库的定义和基本概念。
•数据库管理系统(DBMS)的作用和功能。
•关系数据库管理系统(RDBMS)的特点。
1.2 数据库设计原理•数据库设计的基本原则。
•实体-关系模型(ER模型)的使用。
•数据库规范化和反规范化。
1.3 SQL基础•SQL(Structured Query Language)的介绍。
•SQL语句的基本结构和分类。
•数据类型、表、视图、索引的创建和管理。
第二部分:SQL查询语言2.1 基本查询•SELECT语句的使用。
•WHERE子句的条件过滤。
•ORDER BY子句的排序。
2.2 多表查询•连接(JOIN)的使用。
•子查询(Subquery)的应用。
•聚合函数的使用。
2.3 高级查询•窗口函数(Window Functions)的介绍。
•分组和分组函数。
•数据的透视和旋转。
第三部分:数据库管理3.1 数据库备份和恢复•备份和还原数据库的方法。
•自动备份和定期备份的设置。
3.2 用户权限管理•用户和权限的概念。
•用户的创建、修改和删除。
•权限的分配和撤销。
3.3 事务管理•事务的定义和特性。
•事务的开始、提交和回滚。
•事务的隔离级别和锁机制。
第四部分:数据库优化与性能调优4.1 查询优化•查询执行计划的分析。
•索引的设计和使用。
•查询的性能分析和优化。
4.2 表设计与优化•表的分区和分表。
•垂直切分和水平切分。
•数据库引擎的选择和配置。
4.3 缓存和缓存优化•查询缓存的使用。
•缓存的调优和清理。
•使用内存表和内存存储引擎。
第五部分:应用实践与项目5.1 数据库与编程语言整合•MySQL与PHP、Python、Java等编程语言的整合。
•使用数据库驱动程序进行数据操作。
5.2 数据库项目实践•实际项目案例分析。
•数据库设计和优化的实际应用。
•团队协作和项目管理。
第六部分:新兴技术和趋势6.1 NoSQL数据库•NoSQL数据库的概念。
mysql生成树形结构知识点

mysql生成树形结构知识点
生成树形结构是指根据某个表中的数据,构建出一个树状的结构,其中每个节点都有一个或多个子节点。
在MySQL中,可以使用以下几种方法来生成树形结构:
1. 递归查询:使用递归查询可以直接从表中查询出树形结构。
一般使用WITH RECURSIVE语法来实现,可以不断地迭代查询,直到找到根节点为止。
2. 嵌套集模型(Nested Set Model):嵌套集模型是一种将树状结构表示为一系列的左右值的方法。
根据左右值可以方便地查询到某个节点的所有子节点,以及该节点的父节点。
3. 路径枚举模型(Path Enumeration Model):路径枚举模型是一种将树状结构表示为路径字符串的方法。
每个节点都有一个路径字符串,包含了从根节点到该节点的路径。
可以通过匹配路径字符串来查询子节点和父节点。
4. 存储过程:使用存储过程来逐层构建树形结构。
可以通过循环迭代查询,并逐层插入数据到结果表中,最终构建出树形结构。
以上是一些常见的方法,每种方法都有其适用的场景和使用方式。
选择合适的方法取决于具体的需求和数据结构。
102214《MySql数据库》课程标准

《MySql数据库》课程标准课程代码: 102214参考学时: 72学分: 4课程类型:专业课2015年 1月编一、适用专业计算机应用技术专业(5年制高职)。
二、开课时间第 7 学期三、课程定位1.课程性质《MySql数据库》课程是5年制高职计算机应用技术专业的一门专业课程。
《MySql 数据库》是网络程序设计的基础,是进行网站设计、开发必须掌握的重要课程,是5年制高职计算机应用技术专业学生必须掌握的专业知识之一。
2.教学任务本课程的主要任务是培养学生的数据库使用的基本技能;培养学生综合运用PHP+MySql进行网站开发的能力;使用PHP+MySql解决实际建站问题,学生学习了《MySql 数据库》可以从事网站开发、软件测试等工作,可以承担软件编码或者测试的工作,可以按照用户需求使用相关主流开发平台,完成相关的功能模块设计、编码、调试和单元测试工作。
四、课程培养目标1.方法能力目标(1) 培养学生独立学习能力、自学能力;(2) 培养学生自我分析问题和解决问题的能力;(3) 培养学生获取新知识的能力和信息搜索能力;(4) 培养学生独立的决策能力。
(5) 培养学生善于总结和创造性工作的能力。
(6) 培养学生程序设计思想和软件规划和设计能力。
2.社会能力目标(1) 培养学生良好的自我表现、与人沟通能力;(2) 培养学生的团队协作精神;(3) 培训学生勇于创新、爱岗敬业的工作作风;(4) 培养学生的质量意识、安全意识;(5) 培养学生诚实、守信、坚忍不拔的性格;(6) 培养学生自主、开放的学习能力。
3.专业能力目标(1) 能安装MySql并正确配置;(2) 能正确数据的语句进行查询、修改、统计、更新等操作;(3) 能掌握索引、视图、触发器、事件并正确使用;(4) 能对数据库进行备份和恢复;(5) 能结合PHP进行数据库应用开发;五、课程衔接本课程的前导课程有《PHP程序设计》、《计算机等级二级ACCESS》,后继课程有《软件应用综合实践》。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6.1.2 变量
一、Mysql的变量名不区分大小写,mysql中的变量分为: • 用户变量: – 用户变量必须以标记@作为前缀 – 用户变量在线程退出时,当前线程的所有变量自动被释放 • 系统变量:
– 系统变量必须以标记@@作为前缀
– 系统变量由系统定义 • 存储过程里的局部变量(后续)
• 二、简述局部变量和用户变量的区别?
6.1.1 常量
4. 布尔值 布尔值只包含两个可能的值:TRUE和FALSE。FALSE的数字值为“0”,TRUE 的数字值为“1”。 【例6.6】 获取TRUE和FALSE的值。 SELECT TRUE, FALSE; 结果:
5.
NULL值
NULL值可适用于各种列类型,它通常用来表示“没有值”、“无数据”等意 义,并且不同于数字类型的“0”或字符串类型的空字符串。
Select @ user_variable1:= expression1[,user_variable2=
expression2 , …] 其中,user_variable1、user_variable2为用户变量名。expression1、 expression2为要给变量赋的值,可以是常量、变量或表达式。 【例6.7】 创建用户变量name并赋值为“王林”。 SET @name='王林'; 注意:@符号必须放在一个用户变量的前面,以便将它和列名区分开。name的
6.1.1 常量
【例6.2】 执行下面的语句: SELECT 'hello', '"hello"', '""hello""', 'hel''lo', '\'hello'; 结果为:
注意:语句中第4个“hello”中间是两个单引号而不是一个双引号。
2. 数值常量
数值常量可以分为整数常量和浮点数常量。 整数常量即不带小数点的十进制数,例如:1894,2,+145345234,– 2147483648。 浮点数常量是使用小数点的数值常量,例如:5.26,1.39,101.5E5, 0.5E2。
6.1.1
常量
6.1 常量和变量
1.字符串常量 字符串是指用单引号或双引号括起来的字符序列,分为ASCII字符串常量和 Unicode 字符串常量。 ASCII字符串常量是用单引号括起来的,由ASCII字符构成的符号串。 举例:‘hello’‘How are you!’ Unicode 字符串常量与ASCII字符串常量相似,但它前面有一个N标志符(N代表 SQL-92标准中的国际语言(National Language))。N前缀必须为大写。只能用单 引号括起字符串。 举例:N‘hello’N‘How are you!’ Unicode 数据中的每个字符用两个字节存储,而每个ASCII字符用一个字节存储。 在字符串中不仅可以使用普通的字符,也可使用几个转义序列,它们用来表示特 殊的字符,见表 6.4。每个转义序列以一个反斜杠(“\”)开始,指出后面的字符 使用转义字符来解释,而不是普通字符。注意 NUL 字节与 NULL 值不同,NUL 为一 个零值字节,而 NULL 代表没有值。
6.1.1 常量
3. 日期时间常量 日期时间常量:用单引号将表示日期时间的字符串括起来构成。日期型常 量包括年、月、日,数据类型为DATE,表示为“1999-06-17”这样的值。时间 型常量包括小时数、分钟数、秒数及微秒数,数据类型为TIME,表示为 “12:30:43.00013”这样的值。MySQL 还支持日期/时间的组合,数据类型为 DATETIME或TIMESTAMP,如“1999-06-17 12:30:43”。DATETIME和TIMESTAMP的 区别在于:DATETIME的年份在1000~9999之间,而TIMESTAMP的年份在1970~ 2037之间,还有就是TIMESTAMP在插入带微秒的日期时间时将微秒忽略。 TIMESTAMP还支持时区,即在不同时区转换为相应时间。 需要要特别注意的是,MySQL 是按年-月-日的顺序表示日期的。中间的间 隔符“-”也可以使用如“\”、“@”或“%”等特殊符号。 如下是时间常量的例子: '14:30:24' 如下是日期时间常量的例子: '2008-05-12 14:28:24:00' 日期时间常量的值必须符合日期和时间的标准,如这样的日期是错误的: '1996-02-31'。
问题:找出选修了“101”的同学中比学号为“081101”同学分数高 的学生的学号。
分析:第一步:找出“081101”同学的“101”的分数;
第二步:找出大于 “081101”同学的“101”的分数的学生 的学号
6.1.2 变量
参考语句:
/*---------先设变量---------*/
Set @xh='081101',@kch='101'; /*-----查找“081101”同学的“101”的分数-----*/ select @cj:=成绩 from xs_kc where 课程号=@kch and 学号=@xh; /*----找出大于 “081101”同学的“101”的分数的学生的学号----*/ SELECT 学号 from xs_kc where 课程号=@kch and 成绩>@cj;
• 局部变量:在存储过程中声明,用来存储临时结果。用declare声明,作用范 围为其所在的BEGIN„END语句块。 • 用户变量:用户可以在表达式中使用自己定义的变量,这样的变量叫做用户 变量。定义和初始化一个变量使用SET语句,用户变量前要使用@符号,作用 范围为整个会话。
6.1.2 变量
1. 用户变量 用户可以在表达式中使用自己定义的变量,这样的变量叫做用户变量。 定义和初始化一个变量可以使用SET语句,语法格式为: SET @user_variable1=expression1 [,user_variable2= expression2 , „]
【例6.10】 查询例6.7中创建的变量name的值。
SELECT @name; 结果为:
【例6.11】 使用查询给变量赋值。 USE XSCJ
6.1.2 变量
SET @student=(SELECT 姓名 FROM XS WHERE 学号='081101');
【例6.12】 查询表XS中名字等于例6.11中student值的学生信息。 SELECT 学号, 姓名, 专业名, 出生日期 FROM XS
6.1.1 常量
【例6.1】 执行如下语句: SELECT 'This\nIs\nFour\nLines'; 结果为:
其中,“\n”表示回车。 有以下几种方式可以在字符串中包括引号: ● 在字符串内用单引号“'”引用的单引号“'”可以写成“''”(两个单 引号)。 ● 在字符串内用双引号“"”引用的双引号“"”可以写成“""”(两个双 引号)。 ● 可以在引号前加转义字符(“\” )。 ● 在字符串内用双引号“"”引用的单引号“'”不需要特殊处理,不需要 用双字符或转义。同样,在字符串内用单引号“'”引用的双引号“"”也不需要 特殊处理。
第6章 MySQL语言结构
(2)数据操纵语言(DML)。用于操纵数据库中各种对象,检索和修改数据。 DML包括的主要语句及功能如表6.2所示。
表6.2 DML主要语句及功能
语 句 SELECT INSERT UPDATE DELETE 功 能 从表或视图中检索数据 将数据插入到表或视图中 修改表或视图中的数据 从表或视图中删除数据 既可修改表或视图的一行数据,也可修改一组或全部数 据 可根据条件删除指定的数据 说 明 是使用最频繁的SQL语句之一
WHERE 姓名=@student;
说明:在SELECT语句中,表达式发送到客户端后才进行计算。这说明在 HAVING、GROUP BY或ORDER BY子句中,不能使用包含SELECT列表中所设的变量的 表达式。 对于SET语句,可以使用“=”或“:=”作为分配符。也可以用其他SQL 语句代替SET语句来为用户变量分配一个值。在这种情况下,分配符必须为 “:=”,而不能用“=”,因为在非SET语句中“=”被视为比较操作符。 【例6.13】 执行如下语句: SELECT @t2:=(@t2:=2)+5 结果t2的值为7。 AS t2;
第6章 MySQL语言结构
6.1 常量和变量
6.2
6.3
运算符与表达式
系统内置函数
学习目标
• 了解mysql的各种常量 • 掌握如何定义变量并赋值 • 掌握mysql中运算符的使用 • 掌握mysql内置函数的使用 重点: • 掌握如何定义变量并赋值 • 掌握mysql中运算符的使用 • 掌握mysql部分内置函数的使用
6.1.2 变量
2. 系统变量
MySQL有一些特定的设置,当MySQL数据库服务器启动的时候,这些设置被读 取来决定下一步骤。例如,有些设置定义了数据如何被存储,有些设置则影响到 处理速度,还有些与日期有关,这些设置就是系统变量。和用户变量一样,系统 变量也是一个值和一个数据类型,但不同的是,系统变量在MySQL服务器启动时 就被引入并初始化为默认值。附录G中列出了绝大多数的系统变量。 【例6.14】 获得现在使用的MySQL版本。 SELECT @@VERSION ; 结果为:
数据类型是根据后面的赋值表达式自动分配的。
6.1.2 变量
【例6.8】 创建用户变量user1并赋值为1,user2赋值为2,user3赋值为3。 SET @user1=1, @user2=2, @user3=3; 定义用户变量时变量值可以是一个表达式。 【例6.9】 创建用户变量user4,它的值为user3的值加1。 SET @user4=@user3+1; 在一个用户变量被创建后,它可以以一种特殊形式的表达式用于其他SQL语 句中。变量名前面也必须加上符号@。