VB.net中SQL数据库插入操作:Insert小例子

VB.net中SQL数据库插入操作:Insert小例子

Imports System.Data.SqlClient'数据库连接语句,还需在项目中引用SQL相关组件才能用
    Public myConn As SqlConnection = New SqlConnection _
                             ("server=.; Integrated Security=False;Initial Catalog=钣金加工MES系统; User ID= sa;PWD=lbllbllbl") '(连接数据库)
         myConn.Open()
         Dim Strxzyh As String
         Strxzyh = "insert into 用户 (用户编号,用户名称,用户密码,角色编号,权限模块) " & _
                       "values ('" & yhnumstr & "' ,'" & TextBox7.Text & "','" & TextBox1.Text & "','" & jsnumstr & "','"            & ComboBox1.Text & "')"
         Dim myComm As New SqlCommand(Strxzyh, myConn)
         myComm.ExecuteNonQuery()
         myConn.Close()
  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
目录 前言 1. 一般信息 1.1. 关于本手册 1.2. 本手册采用的惯例 1.3. MySQL AB概述 1.4. MySQL数据库管理系统概述 1.4.1. MySQL的历史 1.4.2. MySQL的的主要特性 1.4.3. MySQL稳定性 1.4.4. MySQL表最大能达到多少 1.4.5. 2000年兼容性 1.5. MaxDB数据库管理系统概述 1.5.1. 什么是MaxDB? 1.5.2. MaxDB的历史 1.5.3. MaxDB的特性 1.5.4. 许可和支持 1.5.5. MaxDB和MySQL之间的特性差异 1.5.6. MaxDB和MySQL之间的协同性 1.5.7. 与MaxDB有关的链接 1.6. MySQL发展大事记 1.6.1. MySQL 5.1的新特性 1.7. MySQL信息源 http://doc.mysql.cn/mysql5/refman-5.1-zh.html-chapter/(第 1/24 页)2006-11-02 19:12:13 MySQL 5.1 Reference Manual 1.7.1. MySQL邮件列表 1.7.2. IRC(在线聊天系统)上的MySQL社区支持 1.7.3. MySQL论坛上的MySQL社区支持 1.8. MySQL标准的兼容性 1.8.1. MySQL遵从的标准是什么 1.8.2. 选择SQL模式 1.8.3. 在ANSI模式下运行MySQL 1.8.4. MySQL对标准SQL的扩展 1.8.5. MySQL与标准SQL的差别 1.8.6. MySQL处理约束的方式 2. 安装MySQL 2.1. 一般安装问题 2.1.1. MySQL支持的操作系统 2.1.2. 选择要安装的MySQL分发版 2.1.3. 怎样获得MySQL 2.1.4. 通过MD5校验和或GnuPG验证软件包的完整性 2.1.5. 安装布局 2.2. 使用二进制分发版的标准MySQL安装 2.3. 在Windows上安装MySQL 2.3.1. Windows系统要求 2.3.2. 选择安装软件包 2.3.3. 用自动安装器安装MySQL 2.3.4. 使用MySQL安装向导 2.3.5. 使用配置向导 2.3.6. 通过非安装Zip文件安装MySQL 2.3.7. 提取安装档案文件 2.3.8. 创建选项文件 2.3.9. 选择MySQL服务器类型 2.3.10. 首次启动服务器 2.3.11. 从Windows命令行启动MySQL 2.3.12. 以Windows服务方式启动MySQL 2.3.13. 测试MySQL安装 2.3.14. 在Windows环境下对MySQL安装的故障诊断与排除 2.3.15. 在Windows下升级MySQL 2.3.16. Windows版MySQL同Unix版MySQL对比 2.4. 在Linux下安装MySQL 2.5.在Mac OS X安装MySQL 2.6. 在NetWare安装MySQL http://doc.mysql.cn/mysql5/refman-5.1-zh.html-chapter/(第 2/24 页)2006-11-02 19:12:13 MySQL 5.1 Reference Manual 2.7. 在其它类Unix系统安装MySQL 2.8. 使用源码分发版安装MySQL 2.8.1. 源码安装概述 2.8.2. 典型配置选项 2.8.3. 从开发源码树安装 2.8.4. 处理MySQL编译问题 2.8.5. MIT-pthreads注意事项 2.8.6. 在Windows下从源码安装MySQL 2.8.7. 在Windows下编译MySQL客户端 2.9. 安装后的设置和测试 2.9.1. Windows下安装后的过程 2.9.2. Unix下安装后的过程 2.9.3. 使初始MySQL账户安全 2.10. 升级MySQL 2.10.1. 从5.0版升级 2.10.2. 升级授权表 2.10.3. 将MySQL数据库拷贝到另一台机器 2.11. 降级MySQL 2.12. 具体操作系统相关的注意事项 2.12.1. Linux注意事项 2.12.2. Mac OS X注意事项 2.12.3. Solaris注意事项 2.12.4. BSD注意事项 2.12.5. 其它Unix注意事项 2.12.6. OS/2注意事项 2.13. Perl安装注意事项 2.13.1. 在Unix安装Perl 2.13.2. 在Windows下安装ActiveState Perl 2.13.3. 使用Perl DBI/DBD接口的问题 3. 教程 3.1. 连接与断开服务器 3.2. 输入查询 3.3. 创建并使用数据库 3.3.1. 创建并选择数据库 3.3.2. 创建表 3.3.3. 将数据装入表 3.3.4. 从表检索信息 3.4. 获得数据库和表的信息 http://doc.mysql.cn/mysql5/refman-5.1-zh.html-chapter/(第 3/24 页)2006-11-02 19:12:13 MySQL 5.1 Reference Manual 3.5. 在批处理模式下使用mysql 3.6. 常用查询的例子 3.6.1. 列的最大值 3.6.2. 拥有某个列的最大值的行 3.6.3. 列的最大值:按组 3.6.4. 拥有某个字段的组间最大值的行 3.6.5. 使用用户变量 3.6.6. 使用外键 3.6.7. 根据两个键搜索 3.6.8. 根据天计算访问量 3.6.9. 使用AUTO_INCREMENT 3.7. 孪生项目的查询 3.7.1. 查找所有未分发的孪生项 3.7.2. 显示孪生对状态的表 3.8. 与Apache一起使用MySQL 4. MySQL程序概述 4.1. MySQL程序概述 4.2. 调用MySQL程序 4.3. 指定程序选项 4.3.1. 在命令行上使用选项 4.3.2. 使用选项文件 4.3.3. 用环境变量指定选项 4.3.4. 使用选项设置程序变量 5. 数据库管理 5.1. MySQL服务器和服务器启动脚本 5.1.1. 服务器端脚本和实用工具概述 5.1.2. mysqld-max扩展MySQL服务器 5.1.3. mysqld_safe:MySQL服务器启动脚本 5.1.4. mysql.server:MySQL服务器启动脚本 5.1.5. mysqld_multi:管理多个MySQL服务器的程序 5.2. mysqlmanager:MySQL实例管理器 5.2.1. 用MySQL实例管理器启动MySQL服务器 5.2.2. 连接到MySQL实例管理器并创建用户账户 5.2.3. MySQL实例管理器命令行选项 5.2.4. MySQL实例管理器配置文件 5.2.5. MySQL实例管理器识别的命令 5.3. mysqld:MySQL服务器 5.3.1. mysqld命令行选项 http://doc.mysql.cn/mysql5/refman-5.1-zh.html-chapter/(第 4/24 页)2006-11-02 19:12:13 MySQL 5.1 Reference Manual 5.3.2. SQL服务器模式 5.3.3. 服务器系统变量 5.3.4. 服务器状态变量 5.4. mysql_fix_privilege_tables:升级MySQL系统表 5.5. MySQL服务器关机进程 5.6. 一般安全问题 5.6.1. 通用安全指南 5.6.2. 使MySQL在攻击者面前保持安全 5.6.3. Mysqld安全相关启动选项 5.6.4. LOAD DATA LOCAL安全问题 5.7. MySQL访问权限系统 5.7.1. 权限系统的作用 5.7.2. 权限系统工作原理 5.7.3. MySQL提供的权限 5.7.4. 与MySQL服务器连接 5.7.5. 访问控制, 阶段1:连接核实 5.7.6. 访问控制, 阶段2:请求核实 5.7.7. 权限更改何时生效 5.7.8. 拒绝访问错误的原因 5.7.9. MySQL 4.1的密码哈希处理 5.8. MySQL用户账户管理 5.8.1. MySQL用户名和密码 5.8.2. 向MySQL增加新用户账户 5.8.3. 从MySQL删除用户账户 5.8.4. 限制账户资源 5.8.5. 设置账户密码 5.8.6. 使你的密码安全 5.8.7. 使用安全连接 5.9. 备份与恢复 5.9.1. 数据库备份 5.9.2. 示例用备份与恢复策略 5.9.3. 自动恢复 5.9.4. 表维护和崩溃恢复 5.9.5. myisamchk:MyISAM表维护实用工具 5.9.6. 建立表维护计划 5.9.7. 获取关于表的信息 5.10. MySQL本地化和国际应用 5.10.1. 数据和排序用字符集 http://doc.mysql.cn/mysql5/refman-5.1-zh.html-chapter/(第 5/24 页)2006-11-02 19:12:13 MySQL 5.1 Reference Manual 5.10.2. 设置错误消息语言 5.10.3. 添加新的字符集 5.10.4. 字符定义数组 5.10.5. 字符串比较支持 5.10.6. 多字节字符支持 5.10.7. 字符集问题 5.10.8. MySQL服务器时区支持 5.11. MySQL日志文件 5.11.1. 错误日志 5.11.2. 通用查询日志 5.11.3. 二进制日志 5.11.4. 慢速查询日志 5.11.5. 日志文件维护 5.12. 在同一台机器上运行多个MySQL服务器 5.12.1. 在Windows下运行多个服务器 5.12.2. 在Unix运行多个服务器 5.12.3. 在多服务器环境使用客户端程序 5.13. MySQL查询高速缓冲 5.13.1. 查询高速缓冲如何工作 5.13.2. 查询高速缓冲SELECT选项 5.13.3. 查询高速缓冲配置 5.13.4. 查询高速缓冲状态和维护 6. MySQL的复制 6.1. 复制介绍 6.2. 复制实施概述 6.3. 复制实施细节 6.3.1. 复制主线程状态 6.3.2. 复制从I/O线程状态 6.3.3. 复制从SQL线程状态 6.3.4. 复制传递和状态文件 6.4. 如何设置复制 6.5. 不同MySQL版本之间的复制兼容性 6.6. 升级复制设置 6.6.1. 将复制升级到5.0版 6.7. 复制特性和已知问题 6.8. 复制启动选项 6.9. 复制FAQ 6.10. 复制故障诊断与排除 http://doc.mysql.cn/mysql5/refman-5.1-zh.html-chapter/(第 6/24 页)2006-11-02 19:12:13 MySQL 5.1 Reference Manual 6.11. 通报复制缺陷 6.12. 多服务器复制的Auto-Increment 7. 优化 7.1. 优化概述 7.1.1. MySQL设计局限与折衷 7.1.2. 为可移植性设计应用程序 7.1.3. 我们已将MySQL用在何处? 7.1.4. MySQL基准套件 7.1.5. 使用自己的基准 7.2. 优化SELECT语句和其它查询 7.2.1. EXPLAIN语法(获取SELECT相关信息) 7.2.2. 估计查询性能 7.2.3. SELECT查询的速度 7.2.4. MySQL怎样优化WHERE子句 7.2.5. 范围优化 7.2.6. 索引合并优化 7.2.7. MySQL如何优化IS NULL 7.2.8. MySQL如何优化DISTINCT 7.2.9. MySQL如何优化LEFT JOIN和RIGHT JOIN 7.2.10. MySQL如何优化嵌套Join 7.2.11. MySQL如何简化外部联合 7.2.12. MySQL如何优化ORDER BY 7.2.13. MySQL如何优化GROUP BY 7.2.14. MySQL如何优化LIMIT 7.2.15. 如何避免表扫描 7.2.16. INSERT语句的速度 7.2.17. UPDATE语句的速度 7.2.18. DELETE语句的速度 7.2.19. 其它优化技巧 7.3. 锁定事宜 7.3.1. 锁定方法 7.3.2. 表锁定事宜 7.4. 优化数据库结构 7.4.1. 设计选择 7.4.2. 使你的数据尽可能小 7.4.3. 列索引 7.4.4. 多列索引 7.4.5. MySQL如何使用索引 http://doc.mysql.cn/mysql5/refman-5.1-zh.html-chapter/(第 7/24 页)2006-11-02 19:12:13 MySQL 5.1 Reference Manual 7.4.6. MyISAM键高速缓冲 7.4.7. MyISAM索引统计集合 7.4.8. MySQL如何计算打开的表 7.4.9. MySQL如何打开和关闭表 7.4.10. 在同一个数据库创建多个表的缺陷 7.5. 优化MySQL服务器 7.5.1. 系统因素和启动参数的调节 7.5.2. 调节服务器参数 7.5.3. 控制查询优化器的性能 7.5.4. 编译和链接怎样影响MySQL的速度 7.5.5. MySQL如何使用内存 7.5.6. MySQL如何使用DNS 7.6. 磁盘事宜 7.6.1. 使用符号链接 8. 客户端和实用工具程序 8.1. 客户端脚本和实用工具概述 8.2. myisampack:生成压缩、只读MyISAM表 8.3. mysql:MySQL命令行工具 8.3.1. 选项 8.3.2. mysql命令 8.3.3. 怎样从文本文件执行SQL语句 8.3.4. mysql技巧 8.4. mysqlaccess:用于检查访问权限的客户端 8.5. mysqladmin:用于管理MySQL服务器的客户端 8.6. mysqlbinlog:用于处理二进制日志文件的实用工具 8.7. mysqlcheck:表维护和维修程序 8.8. mysqldump:数据库备份程序 8.9. mysqlhotcopy:数据库备份程序 8.10. mysqlimport:数据导入程序 8.11. mysqlshow-显示数据库、表和列信息 8.12. myisamlog:显示MyISAM日志文件内容 8.13. perror:解释错误代码 8.14. replace:字符串替换实用工具 8.15. mysql_zap:杀死符合某一模式的进程 9. 语言结构 9.1. 文字值 9.1.1. 字符串 9.1.2. 数值 http://doc.mysql.cn/mysql5/refman-5.1-zh.html-chapter/(第 8/24 页)2006-11-02 19:12:13 MySQL 5.1 Reference Manual 9.1.3. 十六进制值 9.1.4. 布尔值 9.1.5. 位字段值 9.1.6. NULL值 9.2. 数据库、表、索引、列和别名 9.2.1. 识别符限制条件 9.2.2. 识别符大小写敏感性 9.3. 用户变量 9.4. 系统变量 9.4.1. 结构式系统变量 9.5. 注释语法 9.6. MySQL保留字的处理 10. 字符集支持 10.1. 常规字符集和校对 10.2. MySQL的字符集和校对 10.3. 确定默认字符集和校对 10.3.1. 服务器字符集和校对 10.3.2. 数据库字符集和校对 10.3.3. 表字符集和校对 10.3.4. 列字符集和校对 10.3.5. 字符集和校对分配示例 10.3.6. 连接字符集和校对 10.3.7. 字符串文字字符集和校对 10.3.8. 在SQL语句使用COLLATE 10.3.9. COLLATE子句优先 10.3.10. BINARY操作符 10.3.11. 校对确定较为复杂的一些特殊情况 10.3.12. 校对必须适合字符集 10.3.13. 校对效果的示例 10.4. 字符集支持影响到的操作 10.4.1. 结果字符串 10.4.2. CONVERT() 10.4.3. CAST() 10.4.4. SHOW语句 10.5. Unicode支持 10.6. 用于元数据的UTF8 10.7. 与其它DBMS的兼容性 10.8. 新字符集配置文件格式 http://doc.mysql.cn/mysql5/refman-5.1-zh.html-chapter/(第 9/24 页)2006-11-02 19:12:13 MySQL 5.1 Reference Manual 10.9. 国家特有字符集 10.10. MySQL支持的字符集和校对 10.10.1. Unicode字符集 10.10.2. 西欧字符集 10.10.3. 欧字符集 10.10.4. 南欧与东字符集 10.10.5. 波罗的海字符集 10.10.6. 西里尔字符集 10.10.7. 亚洲字符集 11. 列类型 11.1. 列类型概述 11.1.1. 数值类型概述 11.1.2. 日期和时间类型概述 11.1.3. 字符串类型概述 11.2. 数值类型 11.3. 日期和时间类型 11.3.1. DATETIME、DATE和TIMESTAMP类型 11.3.2. TIME类型 11.3.3. YEAR类型 11.3.4. Y2K事宜和日期类型 11.4. String类型 11.4.1. CHAR和VARCHAR类型 11.4.2. BINARY和VARBINARY类型 11.4.3. BLOB和TEXT类型 11.4.4. ENUM类型 11.4.5. SET类型 11.5. 列类型存储需求 11.6. 选择正确的列类型 11.7. 使用来自其他数据库引擎的列类型 12. 函数和操作符 12.1. 操作符 12.1.1. 操作符优先级 12.1.2. 圆括号 12.1.3. 比较函数和操作符 12.1.4. 逻辑操作符 12.2. 控制流程函数 12.3. 字符串函数 12.3.1. 字符串比较函数 http://doc.mysql.cn/mysql5/refman-5.1-zh.html-chapter/(第 10/24 页)2006-11-02 19:12:13 MySQL 5.1 Reference Manual 12.4. 数值函数 12.4.1. 算术操作符 12.4.2. 数学函数 12.5. 日期和时间函数 12.6. MySQL使用什么日历? 12.7. 全文搜索功能 12.7.1. 布尔全文搜索 12.7.2. 全文搜索带查询扩展 12.7.3. 全文停止字 12.7.4. 全文限定条件 12.7.5. 微调MySQL全文搜索 12.8. Cast函数和操作符 12.9. 其他函数 12.9.1. 位函数 12.9.2. 加密函数 12.9.3. 信息函数 12.9.4. 其他函数 12.10. 与GROUP BY子句同时使用的函数和修改程序 12.10.1. GROUP BY(聚合)函数 12.10.2. GROUP BY修改程序 12.10.3. 具有隐含字段的GROUP BY 13. SQL语句语法 13.1. 数据定义语句 13.1.1. ALTER DATABASE语法 13.1.2. ALTER TABLE语法 13.1.3. CREATE DATABASE语法 13.1.4. CREATE INDEX语法 13.1.5. CREATE TABLE语法 13.1.6. DROP DATABASE语法 13.1.7. DROP INDEX语法 13.1.8. DROP TABLE语法 13.1.9. RENAME TABLE语法 13.2. 数据操作语句 13.2.1. DELETE语法 13.2.2. DO语法 13.2.3. HANDLER语法 13.2.4. INSERT语法 13.2.5. LOAD DATA INFILE语法 http://doc.mysql.cn/mysql5/refman-5.1-zh.html-chapter/(第 11/24 页)2006-11-02 19:12:13 MySQL 5.1 Reference Manual 13.2.6. REPLACE语法 13.2.7. SELECT语法 13.2.8. Subquery语法 13.2.9. TRUNCATE语法 13.2.10. UPDATE语法 13.3. MySQL实用工具语句 13.3.1. DESCRIBE语法(获取有关列的信息) 13.3.2. USE语法 13.4. MySQL事务处理和锁定语句 13.4.1. START TRANSACTION, COMMIT和ROLLBACK语法 13.4.2. 不能回滚的语句 13.4.3. 会造成隐式提交的语句 13.4.4. SAVEPOINT和ROLLBACK TO SAVEPOINT语法 13.4.5. LOCK TABLES和UNLOCK TABLES语法 13.4.6. SET TRANSACTION语法 13.4.7. XA事务 13.5. 数据库管理语句 13.5.1. 账户管理语句 13.5.2. 表维护语句 13.5.3. SET语法 13.5.4. SHOW语法 13.5.5. 其它管理语句 13.6. 复制语句 13.6.1. 用于控制主服务器的SQL语句 13.6.2. 用于控制从服务器的SQL语句 13.7. 用于预处理语句的SQL语法 14. 插件式存储引擎体系结构 14.1. 前言 14.2. 概述 14.3. 公共MySQL数据库服务器层 14.4. 选择存储引擎 14.5. 将存储引擎指定给表 14.6. 存储引擎和事务 14.7. 插入存储引擎 14.8. 拔出存储引擎 14.9. 插件式存储器的安全含义 15. 存储引擎和表类型 15.1. MyISAM存储引擎 http://doc.mysql.cn/mysql5/refman-5.1-zh.html-chapter/(第 12/24 页)2006-11-02 19:12:13 MySQL 5.1 Reference Manual 15.1.1. MyISAM启动选项 15.1.2. 键所需的空间 15.1.3. MyISAM表的存储格式 15.1.4. MyISAM表方面的问题 15.2. InnoDB存储引擎 15.2.1. InnoDB概述 15.2.2. InnoDB联系信息 15.2.3. InnoDB配置 15.2.4. InnoDB启动选项 15.2.5. 创建InnoDB表空间 15.2.6. 创建InnoDB表 15.2.7. 添加和删除InnoDB数据和日志文件 15.2.8. InnoDB数据库的备份和恢复 15.2.9. 将InnoDB数据库移到另一台机器上 15.2.10. InnoDB事务模型和锁定 15.2.11. InnoDB性能调节提示 15.2.12. 多版本的实施 15.2.13. 表和索引结构 15.2.14. 文件空间管理和磁盘I/O 15.2.15. InnoDB错误处理 15.2.16. 对InnoDB表的限制 15.2.17. InnoDB故障诊断与排除 15.3. MERGE存储引擎 15.3.1. MERGE表方面的问题 15.4. MEMORY (HEAP)存储引擎 15.5. BDB (BerkeleyDB)存储引擎 15.5.1. BDB支持的操作系统 15.5.2. 安装BDB 15.5.3. BDB启动选项 15.5.4. BDB表的特性 15.5.5. 修改BDB所需的事宜 15.5.6. 对BDB表的限制 15.5.7. 使用BDB表时可能出现的错误 15.6. EXAMPLE存储引擎 15.7. FEDERATED存储引擎 15.7.1. 安装FEDERATED存储引擎 15.7.2. FEDERATED存储引擎介绍 15.7.3. 如何使用FEDERATED表 http://doc.mysql.cn/mysql5/refman-5.1-zh.html-chapter/(第 13/24 页)2006-11-02 19:12:13 MySQL 5.1 Reference Manual 15.7.4. FEDERATED存储引擎的局限性 15.8. ARCHIVE存储引擎 15.9. CSV存储引擎 15.10. BLACKHOLE存储引擎 16. 编写自定义存储引擎 16.1. 前言 16.2. 概述 16.3. 创建存储引擎源文件 16.4. 创建handlerton 16.5. 对处理程序进行实例化处理 16.6. 定义表扩展 16.7. 创建表 16.8. 打开表 16.9. 实施基本的表扫描功能 16.9.1. 实施store_lock()函数 16.9.2. 实施external_lock()函数 16.9.3. 实施rnd_init()函数 16.9.4. 实施info()函数 16.9.5. 实施extra()函数 16.9.6. 实施rnd_next()函数 16.10. 关闭表 16.11. 为存储引擎添加INSERT的支持 16.12. 为存储引擎添加对UPDATE的支持 16.13. 为存储引擎添加对DELETE的支持 16.14. API引用 16.14.1. bas_ext 16.14.2. close 16.14.3. create 16.14.4. delete_row 16.14.5. delete_table 16.14.6. external_lock 16.14.7. extra 16.14.8. info 16.14.9. open 16.14.10. rnd_init 16.14.11. rnd_next 16.14.12. store_lock 16.14.13. update_row http://doc.mysql.cn/mysql5/refman-5.1-zh.html-chapter/(第 14/24 页)2006-11-02 19:12:13 MySQL 5.1 Reference Manual 16.14.14. write_row 17. MySQL簇 17.1. MySQL簇概述 17.2. MySQL簇的基本概念 17.3. 多计算机的简单基础知识 17.3.1. 硬件、软件和联网 17.3.2. 安装 17.3.3. 配置 17.3.4. 首次启动 17.3.5. 加载示例数据并执行查询 17.3.6. 安全关闭和重启 17.4. MySQL簇的配置 17.4.1. 从源码创建MySQL簇 17.4.2. 安装软件 17.4.3. MySQL簇的快速测试设置 17.4.4. 配置文件 17.5. MySQL的进程管理 17.5.1. 用于MySQL簇的MySQL服务器进程使用 17.5.2. ndbd,存储引擎节点进程 17.5.3. ndb_mgmd,“管理服务器”进程 17.5.4. ndb_mgm,“管理客户端”进程 17.5.5. 用于MySQL簇进程的命令选项 17.6. MySQL簇的管理 17.6.1. MySQL簇的启动阶段 17.6.2. “管理客户端”的命令 17.6.3. MySQL生成的事件报告 17.6.4. 单用户模式 17.6.5. MySQL簇的联机备份 17.7. 使用与MySQL簇的高速互连 17.7.1. 配置MySQL簇以使用SCI套接字 17.7.2. 理解簇互连的影响 17.8. MySQL簇的已知限制 17.9. MySQL簇发展的重要历程 17.9.1. MySQL 5.0的MySQL簇变化 17.9.2. 关于MySQL簇的MySQL 5.1发展历程 17.10. MySQL簇常见问题解答 17.11. MySQL簇术语表 18. 分区 http://doc.mysql.cn/mysql5/refman-5.1-zh.html-chapter/(第 15/24 页)2006-11-02 19:12:13 MySQL 5.1 Reference Manual 18.1. MySQL的分区概述 18.2. 分区类型 18.2.1. RANGE分区 18.2.2. LIST分区 18.2.3. HASH分区 18.2.4. KEY分区 18.2.5. 子分区 18.2.6. MySQL分区处理NULL值的方式 18.3. 分区管理 18.3.1. RANGE和LIST分区的管理 18.3.2. HASH和KEY分区的管理 18.3.3. 分区维护 18.3.4. 获取关于分区的信息 19. MySQL的空间扩展 19.1. 前言 19.2. OpenGIS几何模型 19.2.1. Geometry类的层次 19.2.2. 类Geometry 19.2.3. 类Point 19.2.4. 类Curve 19.2.5. 类LineString 19.2.6. 类Surface 19.2.7. 类Polygon 19.2.8. 类GeometryCollection 19.2.9. 类MultiPoint 19.2.10. 类MultiCurve 19.2.11. 类MultiLineString 19.2.12. 类MultiSurface 19.2.13. 类MultiPolygon 19.3. 支持的空间数据格式 19.3.1. 著名的文本(WKT)格式 19.3.2. 著名的二进制(WKB)格式 19.4. 创建具备空间功能的MySQL数据库 19.4.1. MySQL空间数据类型 19.4.2. 创建空间值 19.4.3. 创建空间列 19.4.4. 填充空间列 19.4.5. 获取空间数据 http://doc.mysql.cn/mysql5/refman-5.1-zh.html-chapter/(第 16/24 页)2006-11-02 19:12:13 MySQL 5.1 Reference Manual 19.5. 分析空间信息 19.5.1. Geometry格式转换函数 19.5.2. Geometry函数 19.5.3. 从已有Geometry创建新Geometry的函数 19.5.4. 测试几何对象间空间关系的函数 19.5.5. 关于几何最小边界矩形(MBR)的关系 19.5.6. 测试几何类之间空间关系的函数 19.6. 优化空间分析 19.6.1. 创建空间索引 19.6.2. 使用空间索引 19.7. MySQL的一致性和兼容性 19.7.1. 尚未实施的GIS特性 20. 存储程序和函数 20.1. 存储程序和授权表 20.2. 存储程序的语法 20.2.1. CREATE PROCEDURE和CREATE FUNCTION 20.2.2. ALTER PROCEDURE和ALTER FUNCTION 20.2.3. DROP PROCEDURE和DROP FUNCTION 20.2.4. SHOW CREATE PROCEDURE和SHOW CREATE FUNCTION 20.2.5. SHOW PROCEDURE STATUS和SHOW FUNCTION STATUS 20.2.6. CALL语句 20.2.7. BEGIN ... END复合语句 20.2.8. DECLARE语句 20.2.9. 存储程序的变量 20.2.10. 条件和处理程序 20.2.11. 光标 20.2.12. 流程控制构造 20.3. 存储程序、函数、触发程序和复制:常见问题 20.4. 存储子程序和触发程序的二进制日志功能 21. 触发程序 21.1. CREATE TRIGGER语法 21.2. DROP TRIGGER语法 21.3. 使用触发程序 22. 视图 22.1. ALTER VIEW语法 22.2. CREATE VIEW语法 22.3. DROP VIEW语法 22.4. SHOW CREATE VIEW语法 http://doc.mysql.cn/mysql5/refman-5.1-zh.html-chapter/(第 17/24 页)2006-11-02 19:12:13 MySQL 5.1 Reference Manual 23. INFORMATION_SCHEMA信息数据库 23.1. INFORMATION_SCHEMA表 23.1.1. INFORMATION_SCHEMA SCHEMATA表 23.1.2. INFORMATION_SCHEMA TABLES表 23.1.3. INFORMATION_SCHEMA COLUMNS表 23.1.4. INFORMATION_SCHEMA STATISTICS表 23.1.5. INFORMATION_SCHEMA USER_PRIVILEGES表 23.1.6. INFORMATION_SCHEMA SCHEMA_PRIVILEGES表 23.1.7. INFORMATION_SCHEMA TABLE_PRIVILEGES表 23.1.8. INFORMATION_SCHEMA COLUMN_PRIVILEGES表 23.1.9. INFORMATION_SCHEMA CHARACTER_SETS表 23.1.10. INFORMATION_SCHEMA COLLATIONS表 23.1.11. INFORMATION_SCHEMA COLLATION_CHARACTER_SET_APPLICABILITY表 23.1.12. INFORMATION_SCHEMA TABLE_CONSTRAINTS表 23.1.13. INFORMATION_SCHEMA KEY_COLUMN_USAGE表 23.1.14. INFORMATION_SCHEMA ROUTINES表 23.1.15. INFORMATION_SCHEMA VIEWS表 23.1.16. INFORMATION_SCHEMA TRIGGERS表 23.1.17. 其他INFORMATION_SCHEMA表 23.2. SHOW语句的扩展 24. 精度数学 24.1. 数值的类型 24.2. DECIMAL数据类型更改 24.3. 表达式处理 24.4. 四舍五入 24.5. 精度数学示例 25. API和库 25.1. libmysqld,嵌入式MySQL服务器库 25.1.1. 嵌入式MySQL服务器库概述 25.1.2. 使用libmysqld编译程序 25.1.3. 使用嵌入式MySQL服务器时的限制 25.1.4. 与嵌入式服务器一起使用的选项 25.1.5. 嵌入式服务器尚需完成的事项(TODO) 25.1.6. 嵌入式服务器示例 25.1.7. 嵌入式服务器的许可 25.2. MySQL C API 25.2.1. C API数据类型 http://doc.mysql.cn/mysql5/refman-5.1-zh.html-chapter/(第 18/24 页)2006-11-02 19:12:13 MySQL 5.1 Reference Manual 25.2.2. C API函数概述 25.2.3. C API函数描述 25.2.4. C API预处理语句 25.2.5. C API预处理语句的数据类型 25.2.6. C API预处理语句函数概述 25.2.7. C API预处理语句函数描述 25.2.8. C API预处理语句方面的问题 25.2.9. 多查询执行的C API处理 25.2.10. 日期和时间值的C API处理 25.2.11. C API线程函数介绍 25.2.12. C API嵌入式服务器函数介绍 25.2.13. 使用C API时的常见问题 25.2.14. 创建客户端程序 25.2.15. 如何生成线程式客户端 25.3. MySQL PHP API 25.3.1. 使用MySQL和PHP的常见问题 25.4. MySQL Perl API 25.5. MySQL C++ API 25.5.1. Borland C++ 25.6. MySQL Python API 25.7. MySQL Tcl API 25.8. MySQL Eiffel Wrapper 25.9. MySQL程序开发实用工具 25.9.1. msql2mysql:转换mSQL程序以用于MySQL 25.9.2. mysql_config:获取编译客户端的编译选项 26. 连接器 26.1. MySQL Connector/ODBC 26.1.1. MyODBC介绍 26.1.2. 关于ODBC和MyODBC的一般信息 26.1.3. 如何安装MyODBC 26.1.4. 在Windows平台上从二进制版本安装MyODBC 26.1.5. I在Unix平台上从二进制版本安装MyODBC 26.1.6. 在Windows平台上从源码版本安装MyODBC 26.1.7. 在Unix平台上从源码版本安装MyODBC 26.1.8. 从BitKeeper开发源码树安装MyODBC 26.1.9. MyODBC配置 26.1.10. 与MyODBC连接相关的事宜 26.1.11. MyODBC和Microsoft Access http://doc.mysql.cn/mysql5/refman-5.1-zh.html-chapter/(第 19/24 页)2006-11-02 19:12:13 MySQL 5.1 Reference Manual 26.1.12. MyODBC和Microsoft VBA及ASP 26.1.13. MyODBC和第三方ODBC工具 26.1.14. MyODBC通用功能 26.1.15. 基本的MyODBC应用步骤 26.1.16. MyODBC API引用 26.1.17. MyODBC数据类型 26.1.18. MyODBC错误代码 26.1.19. MyODBC与VB:ADO、DAO和RDO 26.1.20. MyODBC与Microsoft.NET 26.1.21. 感谢 26.2. MySQL Connector/NET 26.2.1. 前言 26.2.2. 下载并安装MySQL Connector/NET 26.2.3. Connector/NET体系结构 26.2.4. 使用MySQL Connector/NET 26.2.5. MySQL Connector/NET变更史 26.3. MySQL Connector/J 26.3.1. 基本的JDBC概念 26.3.2. 安装 Connector/J 26.3.3. JDBC引用 26.3.4. 与J2EE和其他Java框架一起使用 Connector/J 26.3.5. 诊断 Connector/J方面的问题 26.3.6. Changelog 26.4. MySQL Connector/MXJ 26.4.1. 前言 26.4.2. 支持平台: 26.4.3. Junit测试要求 26.4.4. 运行Junit测试 26.4.5. 作为JDBC驱动程序的一部分运行 26.4.6. 在Java对象运行 26.4.7. MysqldResource API 26.4.8. 在JMX代理(custom)运行 26.4.9. 部署在标准的JMX代理环境下 (JBoss) 26.4.10. 安装 27. 扩展MySQL 27.1. MySQL内部控件 27.1.1. MySQL线程 27.1.2. MySQL测试套件 http://doc.mysql.cn/mysql5/refman-5.1-zh.html-chapter/(第 20/24 页)2006-11-02 19:12:13 MySQL 5.1 Reference Manual 27.2. 为MySQL添加新函数 27.2.1. 自定义函数接口的特性 27.2.2. CREATE FUNCTION/DROP FUNCTION语法 27.2.3. 添加新的自定义函数 27.2.4. 添加新的固有函数 27.3. 为MySQL添加新步骤 27.3.1. 步骤分析 27.3.2. 编写步骤 A. 问题和常见错误 A.1. 如何确定导致问题的原因 A.2. 使用MySQL程序时的常见错误 A.2.1. 拒绝访问 A.2.2. 无法连接到[local] MySQL服务器 A.2.3. 客户端不支持鉴定协议 A.2.4. 输入密码时出现密码错误 A.2.5. 主机的host_name被屏蔽 A.2.6. 连接数过多 A.2.7. 内存溢出 A.2.8. MySQL服务器不可用 A.2.9. 信息包过大 A.2.10. 通信错误和失效连接 A.2.11. 表已满 A.2.12. 无法创建文件/写入文件 A.2.13. 命令不同步 A.2.14. 忽略用户 A.2.15. 表tbl_name不存在 A.2.16. 无法初始化字符集 A.2.17. 文件未找到 A.3. 与安装有关的事宜 A.3.1. 与MySQL客户端库的链接问题 A.3.2. 如何以普通用户身份运行MySQL A.3.3. 与文件许可有关的问题 A.4. 与管理有关的事宜 A.4.1. 如何复位根用户密码 A.4.2. 如果MySQL依然崩溃,应作些什么 A.4.3. MySQL处理磁盘满的方式 A.4.4. MySQL将临时文件储存在哪里 A.4.5. 如何保护或更改MySQL套接字文件/tmp/mysql.sock http://doc.mysql.cn/mysql5/refman-5.1-zh.html-chapter/(第 21/24 页)2006-11-02 19:12:13 MySQL 5.1 Reference Manual A.4.6. 时区问题 A.5. 与查询有关的事宜 A.5.1. 搜索的大小写敏感性 A.5.2. 使用DATE列方面的问题 A.5.3. 与NULL值有关的问题 A.5.4. 与列别名有关的问题 A.5.5. 非事务表回滚失败 A.5.6. 从相关表删除行 A.5.7. 解决与不匹配行有关的问题 A.5.8. 与浮点比较有关的问题 A.6. 与优化器有关的事宜 A.7. 与表定义有关的事宜 A.7.1. 与ALTER TABLE有关的问题 A.7.2. 如何更改表的列顺序 A.7.3. TEMPORARY TABLE问题 A.8. MySQL的已知事宜 A.8.1. MySQL的打开事宜 B. 错误代码和消息 B.1. 服务器错误代码和消息 B.2. 客户端错误代码和消息 C. 感谢 C.1. MySQL AB处的开发人 C.2. MySQL贡献人 C.3. 资料员和译员 C.4. MySQL使用和包含的库 C.5. 支持MySQL的软件包 C.6. 用于创建MySQL的工具 C.7. MySQL支持人员 D. MySQL变更史 D.1. 5.1.x版的变更情况(开发) D.1.1. 5.1.2版的变更情况(尚未发布) D.1.2. 5.1.1版的变更情况(尚未发布) D.2. MyODBC的变更情况 D.2.1. MyODBC 3.51.12的变更情况 D.2.2. MyODBC 3.51.11的变更情况 E. 移植到其他系统 E.1. 调试MySQL服务器 E.1.1. 针对调试编译MySQL
目录<br><br>前言<br>1. 一般信息<br>1.1. 关于本手册<br>1.2. 本手册采用的惯例<br>1.3. MySQL AB概述<br>1.4. MySQL数据库管理系统概述<br>1.4.1. MySQL的历史<br>1.4.2. MySQL的的主要特性<br>1.4.3. MySQL稳定性<br>1.4.4. MySQL表最大能达到多少<br>1.4.5. 2000年兼容性<br>1.5. MaxDB数据库管理系统概述<br>1.5.1. 什么是MaxDB?<br>1.5.2. MaxDB的历史<br>1.5.3. MaxDB的特性<br>1.5.4. 许可和支持<br>1.5.5. MaxDB和MySQL之间的特性差异<br>1.5.6. MaxDB和MySQL之间的协同性<br>1.5.7. 与MaxDB有关的链接<br>1.6. MySQL发展大事记<br>1.6.1. MySQL 5.1的新特性<br>1.7. MySQL信息源<br>1.7.1. MySQL邮件列表<br>1.7.2. IRC(在线聊天系统)上的MySQL社区支持<br>1.7.3. MySQL论坛上的MySQL社区支持<br>1.8. MySQL标准的兼容性<br>1.8.1. MySQL遵从的标准是什么<br>1.8.2. 选择SQL模式<br>1.8.3. 在ANSI模式下运行MySQL<br>1.8.4. MySQL对标准SQL的扩展<br>1.8.5. MySQL与标准SQL的差别<br>1.8.6. MySQL处理约束的方式<br>2. 安装MySQL<br>2.1. 一般安装问题<br>2.1.1. MySQL支持的操作系统<br>2.1.2. 选择要安装的MySQL分发版<br>2.1.3. 怎样获得MySQL<br>2.1.4. 通过MD5校验和或GnuPG验证软件包的完整性<br>2.1.5. 安装布局<br>2.2. 使用二进制分发版的标准MySQL安装<br>2.3. 在Windows上安装MySQL<br>2.3.1. Windows系统要求<br>2.3.2. 选择安装软件包<br>2.3.3. 用自动安装器安装MySQL<br>2.3.4. 使用MySQL安装向导<br>2.3.5. 使用配置向导<br>2.3.6. 通过非安装Zip文件安装MySQL<br>2.3.7. 提取安装档案文件<br>2.3.8. 创建选项文件<br>2.3.9. 选择MySQL服务器类型<br>2.3.10. 首次启动服务器<br>2.3.11. 从Windows命令行启动MySQL<br>2.3.12. 以Windows服务方式启动MySQL<br>2.3.13. 测试MySQL安装<br>2.3.14. 在Windows环境下对MySQL安装的故障诊断与排除<br>2.3.15. 在Windows下升级MySQL<br>2.3.16. Windows版MySQL同Unix版MySQL对比<br>2.4. 在Linux下安装MySQL<br>2.5.在Mac OS X安装MySQL<br>2.6. 在NetWare安装MySQL<br>2.7. 在其它类Unix系统安装MySQL<br>2.8. 使用源码分发版安装MySQL<br>2.8.1. 源码安装概述<br>2.8.2. 典型配置选项<br>2.8.3. 从开发源码树安装<br>2.8.4. 处理MySQL编译问题<br>2.8.5. MIT-pthreads注意事项<br>2.8.6. 在Windows下从源码安装MySQL<br>2.8.7. 在Windows下编译MySQL客户端<br>2.9. 安装后的设置和测试<br>2.9.1. Windows下安装后的过程<br>2.9.2. Unix下安装后的过程<br>2.9.3. 使初始MySQL账户安全<br>2.10. 升级MySQL<br>2.10.1. 从5.0版升级<br>2.10.2. 升级授权表<br>2.10.3. 将MySQL数据库拷贝到另一台机器<br>2.11. 降级MySQL<br>2.12. 具体操作系统相关的注意事项<br>2.12.1. Linux注意事项<br>2.12.2. Mac OS X注意事项<br>2.12.3. Solaris注意事项<br>2.12.4. BSD注意事项<br>2.12.5. 其它Unix注意事项<br>2.12.6. OS/2注意事项<br>2.13. Perl安装注意事项<br>2.13.1. 在Unix安装Perl<br>2.13.2. 在Windows下安装ActiveState Perl<br>2.13.3. 使用Perl DBI/DBD接口的问题<br>3. 教程<br>3.1. 连接与断开服务器<br>3.2. 输入查询<br>3.3. 创建并使用数据库<br>3.3.1. 创建并选择数据库<br>3.3.2. 创建表<br>3.3.3. 将数据装入表<br>3.3.4. 从表检索信息<br>3.4. 获得数据库和表的信息<br>3.5. 在批处理模式下使用mysql<br>3.6. 常用查询的例子<br>3.6.1. 列的最大值<br>3.6.2. 拥有某个列的最大值的行<br>3.6.3. 列的最大值:按组<br>3.6.4. 拥有某个字段的组间最大值的行<br>3.6.5. 使用用户变量<br>3.6.6. 使用外键<br>3.6.7. 根据两个键搜索<br>3.6.8. 根据天计算访问量<br>3.6.9. 使用AUTO_INCREMENT<br>3.7. 孪生项目的查询<br>3.7.1. 查找所有未分发的孪生项<br>3.7.2. 显示孪生对状态的表<br>3.8. 与Apache一起使用MySQL<br>4. MySQL程序概述<br>4.1. MySQL程序概述<br>4.2. 调用MySQL程序<br>4.3. 指定程序选项<br>4.3.1. 在命令行上使用选项<br>4.3.2. 使用选项文件<br>4.3.3. 用环境变量指定选项<br>4.3.4. 使用选项设置程序变量<br>5. 数据库管理<br>5.1. MySQL服务器和服务器启动脚本<br>5.1.1. 服务器端脚本和实用工具概述<br>5.1.2. mysqld-max扩展MySQL服务器<br>5.1.3. mysqld_safe:MySQL服务器启动脚本<br>5.1.4. mysql.server:MySQL服务器启动脚本<br>5.1.5. mysqld_multi:管理多个MySQL服务器的程序<br>5.2. mysqlmanager:MySQL实例管理器<br>5.2.1. 用MySQL实例管理器启动MySQL服务器<br>5.2.2. 连接到MySQL实例管理器并创建用户账户<br>5.2.3. MySQL实例管理器命令行选项<br>5.2.4. MySQL实例管理器配置文件<br>5.2.5. MySQL实例管理器识别的命令<br>5.3. mysqld:MySQL服务器<br>5.3.1. mysqld命令行选项<br>5.3.2. SQL服务器模式<br>5.3.3. 服务器系统变量<br>5.3.4. 服务器状态变量<br>5.4. mysql_fix_privilege_tables:升级MySQL系统表<br>5.5. MySQL服务器关机进程<br>5.6. 一般安全问题<br>5.6.1. 通用安全指南<br>5.6.2. 使MySQL在攻击者面前保持安全<br>5.6.3. Mysqld安全相关启动选项<br>5.6.4. LOAD DATA LOCAL安全问题<br>5.7. MySQL访问权限系统<br>5.7.1. 权限系统的作用<br>5.7.2. 权限系统工作原理<br>5.7.3. MySQL提供的权限<br>5.7.4. 与MySQL服务器连接<br>5.7.5. 访问控制, 阶段1:连接核实<br>5.7.6. 访问控制, 阶段2:请求核实<br>5.7.7. 权限更改何时生效<br>5.7.8. 拒绝访问错误的原因<br>5.7.9. MySQL 4.1的密码哈希处理<br>5.8. MySQL用户账户管理<br>5.8.1. MySQL用户名和密码<br>5.8.2. 向MySQL增加新用户账户<br>5.8.3. 从MySQL删除用户账户<br>5.8.4. 限制账户资源<br>5.8.5. 设置账户密码<br>5.8.6. 使你的密码安全<br>5.8.7. 使用安全连接<br>5.9. 备份与恢复<br>5.9.1. 数据库备份<br>5.9.2. 示例用备份与恢复策略<br>5.9.3. 自动恢复<br>5.9.4. 表维护和崩溃恢复<br>5.9.5. myisamchk:MyISAM表维护实用工具<br>5.9.6. 建立表维护计划<br>5.9.7. 获取关于表的信息<br>5.10. MySQL本地化和国际应用<br>5.10.1. 数据和排序用字符集<br>5.10.2. 设置错误消息语言<br>5.10.3. 添加新的字符集<br>5.10.4. 字符定义数组<br>5.10.5. 字符串比较支持<br>5.10.6. 多字节字符支持<br>5.10.7. 字符集问题<br>5.10.8. MySQL服务器时区支持<br>5.11. MySQL日志文件<br>5.11.1. 错误日志<br>5.11.2. 通用查询日志<br>5.11.3. 二进制日志<br>5.11.4. 慢速查询日志<br>5.11.5. 日志文件维护<br>5.12. 在同一台机器上运行多个MySQL服务器<br>5.12.1. 在Windows下运行多个服务器<br>5.12.2. 在Unix运行多个服务器<br>5.12.3. 在多服务器环境使用客户端程序<br>5.13. MySQL查询高速缓冲<br>5.13.1. 查询高速缓冲如何工作<br>5.13.2. 查询高速缓冲SELECT选项<br>5.13.3. 查询高速缓冲配置<br>5.13.4. 查询高速缓冲状态和维护<br>6. MySQL的复制<br>6.1. 复制介绍<br>6.2. 复制实施概述<br>6.3. 复制实施细节<br>6.3.1. 复制主线程状态<br>6.3.2. 复制从I/O线程状态<br>6.3.3. 复制从SQL线程状态<br>6.3.4. 复制传递和状态文件<br>6.4. 如何设置复制<br>6.5. 不同MySQL版本之间的复制兼容性<br>6.6. 升级复制设置<br>6.6.1. 将复制升级到5.0版<br>6.7. 复制特性和已知问题<br>6.8. 复制启动选项<br>6.9. 复制FAQ<br>6.10. 复制故障诊断与排除<br>6.11. 通报复制缺陷<br>6.12. 多服务器复制的Auto-Increment<br>7. 优化<br>7.1. 优化概述<br>7.1.1. MySQL设计局限与折衷<br>7.1.2. 为可移植性设计应用程序<br>7.1.3. 我们已将MySQL用在何处?<br>7.1.4. MySQL基准套件<br>7.1.5. 使用自己的基准<br>7.2. 优化SELECT语句和其它查询<br>7.2.1. EXPLAIN语法(获取SELECT相关信息)<br>7.2.2. 估计查询性能<br>7.2.3. SELECT查询的速度<br>7.2.4. MySQL怎样优化WHERE子句<br>7.2.5. 范围优化<br>7.2.6. 索引合并优化<br>7.2.7. MySQL如何优化IS NULL<br>7.2.8. MySQL如何优化DISTINCT<br>7.2.9. MySQL如何优化LEFT JOIN和RIGHT JOIN<br>7.2.10. MySQL如何优化嵌套Join<br>7.2.11. MySQL如何简化外部联合<br>7.2.12. MySQL如何优化ORDER BY<br>7.2.13. MySQL如何优化GROUP BY<br>7.2.14. MySQL如何优化LIMIT<br>7.2.15. 如何避免表扫描<br>7.2.16. INSERT语句的速度<br>7.2.17. UPDATE语句的速度<br>7.2.18. DELETE语句的速度<br>7.2.19. 其它优化技巧<br>7.3. 锁定事宜<br>7.3.1. 锁定方法<br>7.3.2. 表锁定事宜<br>7.4. 优化数据库结构<br>7.4.1. 设计选择<br>7.4.2. 使你的数据尽可能小<br>7.4.3. 列索引<br>7.4.4. 多列索引<br>7.4.5. MySQL如何使用索引<br>7.4.6. MyISAM键高速缓冲<br>7.4.7. MyISAM索引统计集合<br>7.4.8. MySQL如何计算打开的表<br>7.4.9. MySQL如何打开和关闭表<br>7.4.10. 在同一个数据库创建多个表的缺陷<br>7.5. 优化MySQL服务器<br>7.5.1. 系统因素和启动参数的调节<br>7.5.2. 调节服务器参数<br>7.5.3. 控制查询优化器的性能<br>7.5.4. 编译和链接怎样影响MySQL的速度<br>7.5.5. MySQL如何使用内存<br>7.5.6. MySQL如何使用DNS<br>7.6. 磁盘事宜<br>7.6.1. 使用符号链接<br>8. 客户端和实用工具程序<br>8.1. 客户端脚本和实用工具概述<br>8.2. myisampack:生成压缩、只读MyISAM表<br>8.3. mysql:MySQL命令行工具<br>8.3.1. 选项<br>8.3.2. mysql命令<br>8.3.3. 怎样从文本文件执行SQL语句<br>8.3.4. mysql技巧<br>8.4. mysqlaccess:用于检查访问权限的客户端<br>8.5. mysqladmin:用于管理MySQL服务器的客户端<br>8.6. mysqlbinlog:用于处理二进制日志文件的实用工具<br>8.7. mysqlcheck:表维护和维修程序<br>8.8. mysqldump:数据库备份程序<br>8.9. mysqlhotcopy:数据库备份程序<br>8.10. mysqlimport:数据导入程序<br>8.11. mysqlshow-显示数据库、表和列信息<br>8.12. myisamlog:显示MyISAM日志文件内容<br>8.13. perror:解释错误代码<br>8.14. replace:字符串替换实用工具<br>8.15. mysql_zap:杀死符合某一模式的进程<br>9. 语言结构<br>9.1. 文字值<br>9.1.1. 字符串<br>9.1.2. 数值<br>9.1.3. 十六进制值<br>9.1.4. 布尔值<br>9.1.5. 位字段值<br>9.1.6. NULL值<br>9.2. 数据库、表、索引、列和别名<br>9.2.1. 识别符限制条件<br>9.2.2. 识别符大小写敏感性<br>9.3. 用户变量<br>9.4. 系统变量<br>9.4.1. 结构式系统变量<br>9.5. 注释语法<br>9.6. MySQL保留字的处理<br>10. 字符集支持<br>10.1. 常规字符集和校对<br>10.2. MySQL的字符集和校对<br>10.3. 确定默认字符集和校对<br>10.3.1. 服务器字符集和校对<br>10.3.2. 数据库字符集和校对<br>10.3.3. 表字符集和校对<br>10.3.4. 列字符集和校对<br>10.3.5. 字符集和校对分配示例<br>10.3.6. 连接字符集和校对<br>10.3.7. 字符串文字字符集和校对<br>10.3.8. 在SQL语句使用COLLATE<br>10.3.9. COLLATE子句优先<br>10.3.10. BINARY操作符<br>10.3.11. 校对确定较为复杂的一些特殊情况<br>10.3.12. 校对必须适合字符集<br>10.3.13. 校对效果的示例<br>10.4. 字符集支持影响到的操作<br>10.4.1. 结果字符串<br>10.4.2. CONVERT()<br>10.4.3. CAST()<br>10.4.4. SHOW语句<br>10.5. Unicode支持<br>10.6. 用于元数据的UTF8<br>10.7. 与其它DBMS的兼容性<br>10.8. 新字符集配置文件格式<br>10.9. 国家特有字符集<br>10.10. MySQL支持的字符集和校对<br>10.10.1. Unicode字符集<br>10.10.2. 西欧字符集<br>10.10.3. 欧字符集<br>10.10.4. 南欧与东字符集<br>10.10.5. 波罗的海字符集<br>10.10.6. 西里尔字符集<br>10.10.7. 亚洲字符集<br>11. 列类型<br>11.1. 列类型概述<br>11.1.1. 数值类型概述<br>11.1.2. 日期和时间类型概述<br>11.1.3. 字符串类型概述<br>11.2. 数值类型<br>11.3. 日期和时间类型<br>11.3.1. DATETIME、DATE和TIMESTAMP类型<br>11.3.2. TIME类型<br>11.3.3. YEAR类型<br>11.3.4. Y2K事宜和日期类型<br>11.4. String类型<br>11.4.1. CHAR和VARCHAR类型<br>11.4.2. BINARY和VARBINARY类型<br>11.4.3. BLOB和TEXT类型<br>11.4.4. ENUM类型<br>11.4.5. SET类型<br>11.5. 列类型存储需求<br>11.6. 选择正确的列类型<br>11.7. 使用来自其他数据库引擎的列类型<br>12. 函数和操作符<br>12.1. 操作符<br>12.1.1. 操作符优先级<br>12.1.2. 圆括号<br>12.1.3. 比较函数和操作符<br>12.1.4. 逻辑操作符<br>12.2. 控制流程函数<br>12.3. 字符串函数<br>12.3.1. 字符串比较函数<br>12.4. 数值函数<br>12.4.1. 算术操作符<br>12.4.2. 数学函数<br>12.5. 日期和时间函数<br>12.6. MySQL使用什么日历?<br>12.7. 全文搜索功能<br>12.7.1. 布尔全文搜索<br>12.7.2. 全文搜索带查询扩展<br>12.7.3. 全文停止字<br>12.7.4. 全文限定条件<br>12.7.5. 微调MySQL全文搜索<br>12.8. Cast函数和操作符<br>12.9. 其他函数<br>12.9.1. 位函数<br>12.9.2. 加密函数<br>12.9.3. 信息函数<br>12.9.4. 其他函数<br>12.10. 与GROUP BY子句同时使用的函数和修改程序<br>12.10.1. GROUP BY(聚合)函数<br>12.10.2. GROUP BY修改程序<br>12.10.3. 具有隐含字段的GROUP BY<br>13. SQL语句语法<br>13.1. 数据定义语句<br>13.1.1. ALTER DATABASE语法<br>13.1.2. ALTER TABLE语法<br>13.1.3. CREATE DATABASE语法<br>13.1.4. CREATE INDEX语法<br>13.1.5. CREATE TABLE语法<br>13.1.6. DROP DATABASE语法<br>13.1.7. DROP INDEX语法<br>13.1.8. DROP TABLE语法<br>13.1.9. RENAME TABLE语法<br>13.2. 数据操作语句<br>13.2.1. DELETE语法<br>13.2.2. DO语法<br>13.2.3. HANDLER语法<br>13.2.4. INSERT语法<br>13.2.5. LOAD DATA INFILE语法<br>13.2.6. REPLACE语法<br>13.2.7. SELECT语法<br>13.2.8. Subquery语法<br>13.2.9. TRUNCATE语法<br>13.2.10. UPDATE语法<br>13.3. MySQL实用工具语句<br>13.3.1. DESCRIBE语法(获取有关列的信息)<br>13.3.2. USE语法<br>13.4. MySQL事务处理和锁定语句<br>13.4.1. START TRANSACTION, COMMIT和ROLLBACK语法<br>13.4.2. 不能回滚的语句<br>13.4.3. 会造成隐式提交的语句<br>13.4.4. SAVEPOINT和ROLLBACK TO SAVEPOINT语法<br>13.4.5. LOCK TABLES和UNLOCK TABLES语法<br>13.4.6. SET TRANSACTION语法<br>13.4.7. XA事务<br>13.5. 数据库管理语句<br>13.5.1. 账户管理语句<br>13.5.2. 表维护语句<br>13.5.3. SET语法<br>13.5.4. SHOW语法<br>13.5.5. 其它管理语句<br>13.6. 复制语句<br>13.6.1. 用于控制主服务器的SQL语句<br>13.6.2. 用于控制从服务器的SQL语句<br>13.7. 用于预处理语句的SQL语法<br>14. 插件式存储引擎体系结构<br>14.1. 前言<br>14.2. 概述<br>14.3. 公共MySQL数据库服务器层<br>14.4. 选择存储引擎<br>14.5. 将存储引擎指定给表<br>14.6. 存储引擎和事务<br>14.7. 插入存储引擎<br>14.8. 拔出存储引擎<br>14.9. 插件式存储器的安全含义<br>15. 存储引擎和表类型<br>15.1. MyISAM存储引擎<br>15.1.1. MyISAM启动选项<br>15.1.2. 键所需的空间<br>15.1.3. MyISAM表的存储格式<br>15.1.4. MyISAM表方面的问题<br>15.2. InnoDB存储引擎<br>15.2.1. InnoDB概述<br>15.2.2. InnoDB联系信息<br>15.2.3. InnoDB配置<br>15.2.4. InnoDB启动选项<br>15.2.5. 创建InnoDB表空间<br>15.2.6. 创建InnoDB表<br>15.2.7. 添加和删除InnoDB数据和日志文件<br>15.2.8. InnoDB数据库的备份和恢复<br>15.2.9. 将InnoDB数据库移到另一台机器上<br>15.2.10. InnoDB事务模型和锁定<br>15.2.11. InnoDB性能调节提示<br>15.2.12. 多版本的实施<br>15.2.13. 表和索引结构<br>15.2.14. 文件空间管理和磁盘I/O<br>15.2.15. InnoDB错误处理<br>15.2.16. 对InnoDB表的限制<br>15.2.17. InnoDB故障诊断与排除<br>15.3. MERGE存储引擎<br>15.3.1. MERGE表方面的问题<br>15.4. MEMORY (HEAP)存储引擎<br>15.5. BDB (BerkeleyDB)存储引擎<br>15.5.1. BDB支持的操作系统<br>15.5.2. 安装BDB<br>15.5.3. BDB启动选项<br>15.5.4. BDB表的特性<br>15.5.5. 修改BDB所需的事宜<br>15.5.6. 对BDB表的限制<br>15.5.7. 使用BDB表时可能出现的错误<br>15.6. EXAMPLE存储引擎<br>15.7. FEDERATED存储引擎<br>15.7.1. 安装FEDERATED存储引擎<br>15.7.2. FEDERATED存储引擎介绍<br>15.7.3. 如何使用FEDERATED表<br>15.7.4. FEDERATED存储引擎的局限性<br>15.8. ARCHIVE存储引擎<br>15.9. CSV存储引擎<br>15.10. BLACKHOLE存储引擎<br>16. 编写自定义存储引擎<br>16.1. 前言<br>16.2. 概述<br>16.3. 创建存储引擎源文件<br>16.4. 创建handlerton<br>16.5. 对处理程序进行实例化处理<br>16.6. 定义表扩展<br>16.7. 创建表<br>16.8. 打开表<br>16.9. 实施基本的表扫描功能<br>16.9.1. 实施store_lock()函数<br>16.9.2. 实施external_lock()函数<br>16.9.3. 实施rnd_init()函数<br>16.9.4. 实施info()函数<br>16.9.5. 实施extra()函数<br>16.9.6. 实施rnd_next()函数<br>16.10. 关闭表<br>16.11. 为存储引擎添加INSERT的支持<br>16.12. 为存储引擎添加对UPDATE的支持<br>16.13. 为存储引擎添加对DELETE的支持<br>16.14. API引用<br>16.14.1. bas_ext<br>16.14.2. close<br>16.14.3. create<br>16.14.4. delete_row<br>16.14.5. delete_table<br>16.14.6. external_lock<br>16.14.7. extra<br>16.14.8. info<br>16.14.9. open<br>16.14.10. rnd_init<br>16.14.11. rnd_next<br>16.14.12. store_lock<br>16.14.13. update_row<br>16.14.14. write_row<br>17. MySQL簇<br>17.1. MySQL簇概述<br>17.2. MySQL簇的基本概念<br>17.3. 多计算机的简单基础知识<br>17.3.1. 硬件、软件和联网<br>17.3.2. 安装<br>17.3.3. 配置<br>17.3.4. 首次启动<br>17.3.5. 加载示例数据并执行查询<br>17.3.6. 安全关闭和重启<br>17.4. MySQL簇的配置<br>17.4.1. 从源码创建MySQL簇<br>17.4.2. 安装软件<br>17.4.3. MySQL簇的快速测试设置<br>17.4.4. 配置文件<br>17.5. MySQL的进程管理<br>17.5.1. 用于MySQL簇的MySQL服务器进程使用<br>17.5.2. ndbd,存储引擎节点进程<br>17.5.3. ndb_mgmd,“管理服务器”进程<br>17.5.4. ndb_mgm,“管理客户端”进程<br>17.5.5. 用于MySQL簇进程的命令选项<br>17.6. MySQL簇的管理<br>17.6.1. MySQL簇的启动阶段<br>17.6.2. “管理客户端”的命令<br>17.6.3. MySQL生成的事件报告<br>17.6.4. 单用户模式<br>17.6.5. MySQL簇的联机备份<br>17.7. 使用与MySQL簇的高速互连<br>17.7.1. 配置MySQL簇以使用SCI套接字<br>17.7.2. 理解簇互连的影响<br>17.8. MySQL簇的已知限制<br>17.9. MySQL簇发展的重要历程<br>17.9.1. MySQL 5.0的MySQL簇变化<br>17.9.2. 关于MySQL簇的MySQL 5.1发展历程<br>17.10. MySQL簇常见问题解答<br>17.11. MySQL簇术语表<br>18. 分区<br>18.1. MySQL的分区概述<br>18.2. 分区类型<br>18.2.1. RANGE分区<br>18.2.2. LIST分区<br>18.2.3. HASH分区<br>18.2.4. KEY分区<br>18.2.5. 子分区<br>18.2.6. MySQL分区处理NULL值的方式<br>18.3. 分区管理<br>18.3.1. RANGE和LIST分区的管理<br>18.3.2. HASH和KEY分区的管理<br>18.3.3. 分区维护<br>18.3.4. 获取关于分区的信息<br>19. MySQL的空间扩展<br>19.1. 前言<br>19.2. OpenGIS几何模型<br>19.2.1. Geometry类的层次<br>19.2.2. 类Geometry<br>19.2.3. 类Point<br>19.2.4. 类Curve<br>19.2.5. 类LineString<br>19.2.6. 类Surface<br>19.2.7. 类Polygon<br>19.2.8. 类GeometryCollection<br>19.2.9. 类MultiPoint<br>19.2.10. 类MultiCurve<br>19.2.11. 类MultiLineString<br>19.2.12. 类MultiSurface<br>19.2.13. 类MultiPolygon<br>19.3. 支持的空间数据格式<br>19.3.1. 著名的文本(WKT)格式<br>19.3.2. 著名的二进制(WKB)格式<br>19.4. 创建具备空间功能的MySQL数据库<br>19.4.1. MySQL空间数据类型<br>19.4.2. 创建空间值<br>19.4.3. 创建空间列<br>19.4.4. 填充空间列<br>19.4.5. 获取空间数据<br>19.5. 分析空间信息<br>19.5.1. Geometry格式转换函数<br>19.5.2. Geometry函数<br>19.5.3. 从已有Geometry创建新Geometry的函数<br>19.5.4. 测试几何对象间空间关系的函数<br>19.5.5. 关于几何最小边界矩形(MBR)的关系<br>19.5.6. 测试几何类之间空间关系的函数<br>19.6. 优化空间分析<br>19.6.1. 创建空间索引<br>19.6.2. 使用空间索引<br>19.7. MySQL的一致性和兼容性<br>19.7.1. 尚未实施的GIS特性<br>20. 存储程序和函数<br>20.1. 存储程序和授权表<br>20.2. 存储程序的语法<br>20.2.1. CREATE PROCEDURE和CREATE FUNCTION<br>20.2.2. ALTER PROCEDURE和ALTER FUNCTION<br>20.2.3. DROP PROCEDURE和DROP FUNCTION<br>20.2.4. SHOW CREATE PROCEDURE和SHOW CREATE FUNCTION<br>20.2.5. SHOW PROCEDURE STATUS和SHOW FUNCTION STATUS<br>20.2.6. CALL语句<br>20.2.7. BEGIN ... END复合语句<br>20.2.8. DECLARE语句<br>20.2.9. 存储程序的变量<br>20.2.10. 条件和处理程序<br>20.2.11. 光标<br>20.2.12. 流程控制构造<br>20.3. 存储程序、函数、触发程序和复制:常见问题<br>20.4. 存储子程序和触发程序的二进制日志功能<br>21. 触发程序<br>21.1. CREATE TRIGGER语法<br>21.2. DROP TRIGGER语法<br>21.3. 使用触发程序<br>22. 视图<br>22.1. ALTER VIEW语法<br>22.2. CREATE VIEW语法<br>22.3. DROP VIEW语法<br>22.4. SHOW CREATE VIEW语法<br>23. INFORMATION_SCHEMA信息数据库<br>23.1. INFORMATION_SCHEMA表<br>23.1.1. INFORMATION_SCHEMA SCHEMATA表<br>23.1.2. INFORMATION_SCHEMA TABLES表<br>23.1.3. INFORMATION_SCHEMA COLUMNS表<br>23.1.4. INFORMATION_SCHEMA STATISTICS表<br>23.1.5. INFORMATION_SCHEMA USER_PRIVILEGES表<br>23.1.6. INFORMATION_SCHEMA SCHEMA_PRIVILEGES表<br>23.1.7. INFORMATION_SCHEMA TABLE_PRIVILEGES表<br>23.1.8. INFORMATION_SCHEMA COLUMN_PRIVILEGES表<br>23.1.9. INFORMATION_SCHEMA CHARACTER_SETS表<br>23.1.10. INFORMATION_SCHEMA COLLATIONS表<br>23.1.11. INFORMATION_SCHEMA COLLATION_CHARACTER_SET_APPLICABILITY表<br>23.1.12. INFORMATION_SCHEMA TABLE_CONSTRAINTS表<br>23.1.13. INFORMATION_SCHEMA KEY_COLUMN_USAGE表<br>23.1.14. INFORMATION_SCHEMA ROUTINES表<br>23.1.15. INFORMATION_SCHEMA VIEWS表<br>23.1.16. INFORMATION_SCHEMA TRIGGERS表<br>23.1.17. 其他INFORMATION_SCHEMA表<br>23.2. SHOW语句的扩展<br>24. 精度数学<br>24.1. 数值的类型<br>24.2. DECIMAL数据类型更改<br>24.3. 表达式处理<br>24.4. 四舍五入<br>24.5. 精度数学示例<br>25. API和库<br>25.1. libmysqld,嵌入式MySQL服务器库<br>25.1.1. 嵌入式MySQL服务器库概述<br>25.1.2. 使用libmysqld编译程序<br>25.1.3. 使用嵌入式MySQL服务器时的限制<br>25.1.4. 与嵌入式服务器一起使用的选项<br>25.1.5. 嵌入式服务器尚需完成的事项(TODO)<br>25.1.6. 嵌入式服务器示例<br>25.1.7. 嵌入式服务器的许可<br>25.2. MySQL C API<br>25.2.1. C API数据类型<br>25.2.2. C API函数概述<br>25.2.3. C API函数描述<br>25.2.4. C API预处理语句<br>25.2.5. C API预处理语句的数据类型<br>25.2.6. C API预处理语句函数概述<br>25.2.7. C API预处理语句函数描述<br>25.2.8. C API预处理语句方面的问题<br>25.2.9. 多查询执行的C API处理<br>25.2.10. 日期和时间值的C API处理<br>25.2.11. C API线程函数介绍<br>25.2.12. C API嵌入式服务器函数介绍<br>25.2.13. 使用C API时的常见问题<br>25.2.14. 创建客户端程序<br>25.2.15. 如何生成线程式客户端<br>25.3. MySQL PHP API<br>25.3.1. 使用MySQL和PHP的常见问题<br>25.4. MySQL Perl API<br>25.5. MySQL C++ API<br>25.5.1. Borland C++<br>25.6. MySQL Python API<br>25.7. MySQL Tcl API<br>25.8. MySQL Eiffel Wrapper<br>25.9. MySQL程序开发实用工具<br>25.9.1. msql2mysql:转换mSQL程序以用于MySQL<br>25.9.2. mysql_config:获取编译客户端的编译选项<br>26. 连接器<br>26.1. MySQL Connector/ODBC<br>26.1.1. MyODBC介绍<br>26.1.2. 关于ODBC和MyODBC的一般信息<br>26.1.3. 如何安装MyODBC<br>26.1.4. 在Windows平台上从二进制版本安装MyODBC<br>26.1.5. I在Unix平台上从二进制版本安装MyODBC <br>26.1.6. 在Windows平台上从源码版本安装MyODBC<br>26.1.7. 在Unix平台上从源码版本安装MyODBC <br>26.1.8. 从BitKeeper开发源码树安装MyODBC<br>26.1.9. MyODBC配置<br>26.1.10. 与MyODBC连接相关的事宜<br>26.1.11. MyODBC和Microsoft Access<br>26.1.12. MyODBC和Microsoft VBA及ASP<br>26.1.13. MyODBC和第三方ODBC工具<br>26.1.14. MyODBC通用功能<br>26.1.15. 基本的MyODBC应用步骤<br>26.1.16. MyODBC API引用<br>26.1.17. MyODBC数据类型<br>26.1.18. MyODBC错误代码<br>26.1.19. MyODBC与VB:ADO、DAO和RDO<br>26.1.20. MyODBC与Microsoft.NET<br>26.1.21. 感谢<br>26.2. MySQL Connector/NET<br>26.2.1. 前言<br>26.2.2. 下载并安装MySQL Connector/NET<br>26.2.3. Connector/NET体系结构<br>26.2.4. 使用MySQL Connector/NET<br>26.2.5. MySQL Connector/NET变更史<br>26.3. MySQL Connector/J<br>26.3.1. 基本的JDBC概念<br>26.3.2. 安装 Connector/J<br>26.3.3. JDBC引用<br>26.3.4. 与J2EE和其他Java框架一起使用 Connector/J<br>26.3.5. 诊断 Connector/J方面的问题<br>26.3.6. Changelog<br>26.4. MySQL Connector/MXJ<br>26.4.1. 前言<br>26.4.2. 支持平台:<br>26.4.3. Junit测试要求<br>26.4.4. 运行Junit测试<br>26.4.5. 作为JDBC驱动程序的一部分运行<br>26.4.6. 在Java对象运行<br>26.4.7. MysqldResource API<br>26.4.8. 在JMX代理(custom)运行<br>26.4.9. 部署在标准的JMX代理环境下 (JBoss)<br>26.4.10. 安装<br>27. 扩展MySQL<br>27.1. MySQL内部控件<br>27.1.1. MySQL线程<br>27.1.2. MySQL测试套件<br>27.2. 为MySQL添加新函数<br>27.2.1. 自定义函数接口的特性<br>27.2.2. CREATE FUNCTION/DROP FUNCTION语法<br>27.2.3. 添加新的自定义函数<br>27.2.4. 添加新的固有函数<br>27.3. 为MySQL添加新步骤<br>27.3.1. 步骤分析<br>27.3.2. 编写步骤<br>A. 问题和常见错误<br>A.1. 如何确定导致问题的原因<br>A.2. 使用MySQL程序时的常见错误<br>A.2.1. 拒绝访问<br>A.2.2. 无法连接到[local] MySQL服务器<br>A.2.3. 客户端不支持鉴定协议<br>A.2.4. 输入密码时出现密码错误<br>A.2.5. 主机的host_name被屏蔽<br>A.2.6. 连接数过多<br>A.2.7. 内存溢出<br>A.2.8. MySQL服务器不可用<br>A.2.9. 信息包过大<br>A.2.10. 通信错误和失效连接<br>A.2.11. 表已满<br>A.2.12. 无法创建文件/写入文件<br>A.2.13. 命令不同步<br>A.2.14. 忽略用户<br>A.2.15. 表tbl_name不存在<br>A.2.16. 无法初始化字符集<br>A.2.17. 文件未找到<br>A.3. 与安装有关的事宜<br>A.3.1. 与MySQL客户端库的链接问题<br>A.3.2. 如何以普通用户身份运行MySQL<br>A.3.3. 与文件许可有关的问题<br>A.4. 与管理有关的事宜<br>A.4.1. 如何复位根用户密码<br>A.4.2. 如果MySQL依然崩溃,应作些什么<br>A.4.3. MySQL处理磁盘满的方式<br>A.4.4. MySQL将临时文件储存在哪里<br>A.4.5. 如何保护或更改MySQL套接字文件/tmp/mysql.sock<br>A.4.6. 时区问题<br>A.5. 与查询有关的事宜<br>A.5.1. 搜索的大小写敏感性<br>A.5.2. 使用DATE列方面的问题<br>A.5.3. 与NULL值有关的问题<br>A.5.4. 与列别名有关的问题<br>A.5.5. 非事务表回滚失败<br>A.5.6. 从相关表删除行<br>A.5.7. 解决与不匹配行有关的问题<br>A.5.8. 与浮点比较有关的问题<br>A.6. 与优化器有关的事宜<br>A.7. 与表定义有关的事宜<br>A.7.1. 与ALTER TABLE有关的问题<br>A.7.2. 如何更改表的列顺序<br>A.7.3. TEMPORARY TABLE问题<br>A.8. MySQL的已知事宜<br>A.8.1. MySQL的打开事宜<br>B. 错误代码和消息<br>B.1. 服务器错误代码和消息<br>B.2. 客户端错误代码和消息<br>C. 感谢<br>C.1. MySQL AB处的开发人<br>C.2. MySQL贡献人<br>C.3. 资料员和译员<br>C.4. MySQL使用和包含的库<br>C.5. 支持MySQL的软件包<br>C.6. 用于创建MySQL的工具<br>C.7. MySQL支持人员<br>D. MySQL变更史<br>D.1. 5.1.x版的变更情况(开发)<br>D.1.1. 5.1.2版的变更情况(尚未发布)<br>D.1.2. 5.1.1版的变更情况(尚未发布)<br>D.2. MyODBC的变更情况<br>D.2.1. MyODBC 3.51.12的变更情况<br>D.2.2. MyODBC 3.51.11的变更情况<br>E. 移植到其他系统<br>E.1. 调试MySQL服务器<br>E.1.1. 针对调试编译MySQL<br>E.1.2. 创建跟踪文件<br>E.1.3. 在gdb环境下调试mysqld<br>E.1.4. 使用堆栈跟踪<br>E.1.5. 使用日志文件找出mysqld的错误原因<br>E.1.6. 如果出现表崩溃,请生成测试案例<br>E.2. 调试MySQL客户端<br>E.3. DBUG软件包<br>E.4. 关于RTS线程的注释<br>E.5. 线程软件包之间的差异<br>F. 环境变量<br>G. MySQL正则表达式<br>H. MySQL的限制<br>H.1. 联合的限制<br>I. 特性限制<br>I.1. 对存储子程序和触发程序的限制<br>I.2. 对服务器端光标的限制<br>I.3. 对子查询的限制<br>I.4. 对视图的限制<br>I.5. 对XA事务的限制<br>J. GNU通用公共许可<br>K. MySQL FLOSS许可例外<br>索引<br>图形清单<br><br>14.1. MySQL插件式存储引擎的体系结构<br>14.2. 存储引擎比较<br>16.1. MySQL体系结构<br>表格清单<br><br>26.1. 连接属性<br>26.2. 转换表<br>26.3. 用于ResultSet.getObject()的MySQL类型和Java类型<br>26.4. MySQL对Java编码名称的翻译<br>示例清单<br><br>26.1. 从DriverManager获得连接<br>26.2. 使用java.sql.Statement执行SELECT查询<br>26.3. 存储程序示例<br>26.4. 使用Connection.prepareCall()<br>26.5. 注册输出参数<br>26.6. 设置CallableStatement输入参数<br>26.7. 检索结果和输出参数值<br>26.8. 使用Statement.getGeneratedKeys()检索AUTO_INCREMENT列的值<br>26.9. 使用SELECT LAST_INSERT_ID()检索AUTO_INCREMENT列的值<br>26.10. 在可更新的ResultSets检索AUTO_INCREMENT列的值<br>26.11. 设置Unix环境下的CLASSPATH<br>26.12. 与J2EE应用服务器一起使用连接池<br>26.13. 重试逻辑的事务示例
第一天 我认为ASP.NET比ASP难很多,希望大家做好准备。难难在实现同一个效果有很多方法,大家或许会疑惑。十天学会系列教程会清晰的写出各种方法,让大家能少一点坎坷。在ASP里面,大家几乎都是使用VB数据库嘛,也无非是SQL和ACCESS。在ASP.NET里面,数据库还是这两个但是常用的语言多了一个C#,也是微软推荐的语言,为.NET平台定制的语言。这样ASP.NET就有四种组合:VB+ACCESS,VB+SQL,C#+ACCESS,C#+SQL,本教程会使用C#+ACCESS,兼顾四种来写,让大家对ASP.NET有一个全面的认识。虽然说学习ASP.NET不需要任何ASP基础,但是我觉得如果大家ASP不会,还是先看一下【十天学会ASP教程】,大家所需要了解的不是ASP的程序怎么写,而是怎么构建服务器,怎么使用HTML表单,同时对SQL语句有一个基础和理解,因为在本文里我不会将将一些基础的东西。 废话不多说,开始我们第一天的学习: 学习目的:调试出安装环境 我要申明一点,操作系统就用2000,如果说要学习一个网络语言还不肯多装一个操作系统的话,那我看也不要学习了。 先到网上下载一个MDAC(要是2.7以上的版本才行),然后安装,安装以后或许会重新启动一次。 然后再下载一个.NET FRAMEWORK SDK,安装以后会在控制面板里面的管理工具里面多两个东西,这个不用理睬他,我们要使用的还是原来的INTERNET服务管理器。打开它按照ASP教程里面的调试方法建立一个目录,建立一个EXAMPLE1.ASPX,然后用记事本打开这个文件在里面输入 <script language="c#" runat="server"> void Page_Load() { Response.Write("Hello World!"); } </script> ________________________________________ <script language="vb" runat="server"> sub page_load() response.write("Hello World!") end sub </script> 然后用本地访问,查看结果: 在这里我要说明两点:1、我的示例文件总是有A和B分别是用C#和VB写的,演示的图片就用C#那一种的,都一样嘛,教程里面代码也是写两种用<hr>分割开,大家可以比较一下。2、我写教程的时候用的都是记事本来编写APS.NET大家也可以安装VS.NET来编写不过起步还是用记事本比较好,因为可以看的更加透彻一点。今天就说到这里,明天说一下C#的基本语法。 十天学会ASP.net(2) 作者:佚名 阅读人次:11611 文章来源:未知 发布时间:2005-6-24 网友评论(4)条 第二天 学习目的:掌握C#的基本知识 一、定义变量: string strExample; 字符串("aaa") char chrExample; 字符('a') bool blnExample; Bool型(true/false) DataTime datExample; 日期型("09/19/2002") int intExample; 整数(32位有符号整数) double dblExample; 浮点数(64位双精度浮点数) 二、各种运算: = 赋值运算 + 加法运算 - 减法运算 * 乘法运算 / 除法运算 % 取模运算 && 逻辑And || 逻辑Or ! 逻辑Not 三、各种结构: if(条件) { } else { } switch(条件) { case option1: break; case option2: break; } for(int i=1;i<=10;i++)//特别注意这里面是分号 { } while(条件) { } do { }while(条件); 四、注意事项: 1、用习惯VB的人很容易漏了语句末尾的分号; 2、用习惯VB的人很随便使用变量但是不申明,这在C#默认情况下是不允许的; 3、在向函数传递参数的时候要用圆括号:Response.Write "aa";是不允许的。 我说的这点几乎称不上是在说一种语言,一种语言的学习不仅仅需要学习语法,还需要学习语言特色,希望大家有空还是买一本C#的书来好好研究一下C#作为一种新的语言的特性吧。 十天学会ASP.net(2) 作者:佚名 阅读人次:11611 文章来源:未知 发布时间:2005-6-24 网友评论(4)条 第二天 学习目的:掌握C#的基本知识 一、定义变量: string strExample; 字符串("aaa") char chrExample; 字符('a') bool blnExample; Bool型(true/false) DataTime datExample; 日期型("09/19/2002") int intExample; 整数(32位有符号整数) double dblExample; 浮点数(64位双精度浮点数) 二、各种运算: = 赋值运算 + 加法运算 - 减法运算 * 乘法运算 / 除法运算 % 取模运算 && 逻辑And || 逻辑Or ! 逻辑Not 三、各种结构: if(条件) { } else { } switch(条件) { case option1: break; case option2: break; } for(int i=1;i<=10;i++)//特别注意这里面是分号 { } while(条件) { } do { }while(条件); 四、注意事项: 1、用习惯VB的人很容易漏了语句末尾的分号; 2、用习惯VB的人很随便使用变量但是不申明,这在C#默认情况下是不允许的; 3、在向函数传递参数的时候要用圆括号:Response.Write "aa";是不允许的。 我说的这点几乎称不上是在说一种语言,一种语言的学习不仅仅需要学习语法,还需要学习语言特色,希望大家有空还是买一本C#的书来好好研究一下C#作为一种新的语言的特性吧。 十天学会ASP.net(4) 作者:佚名 阅读人次:8772 文章来源:未知 发布时间:2005-6-24 网友评论(7)条 第四天 学习目的:掌握WEB控件的使用(二) 首先我要说明,我这十天教程也只是一个让大家对ASP.NET有一个认识而已,我也跳过了很多东西。网上有很多人在责骂我写的教程,认为十天什么都学不会,看了我的教程还是什么都不会,我想他们或许是过高估计了我的教程。外面有很多书,关于ASP和ASP.NET的,我就是看外面的书学会的。我所要做的就是希望大家能看了我的教程以后觉得ASP和ASP.NET不是学不会的东西然后有信心去学会它。我想学习还是靠自己的,外面每一本书也有自己写的不周到的地方,关键还需要自己的实践加上探索。 首先来说一下表单的验证控件,以前我们做表单验证,如果是客户端的JAVASCRIPT,不能做到美观统一,而且还可以通过直接在浏览器起教表单来屏蔽;如果我们做服务器端验证,又会发现让检验结果在前台反映也是很麻烦的事情。现在好了,ASP.NET提供的很多检验控件让我们不需要考虑是客户端检验还是服务器端检验,让我们不需要考虑是怎么输出检验结果。 看一下检验表单控件是不是填写了的检验控件先: <asp:textbox id="username" runat="server" cssclass="textbox"/> <asp:requiredfieldvalidator controltovalidate="username" display="dynamic" forecolor="#ff0000" font-name="宋体" font-size="9pt" text="请填写" runat="server"/> controltovalidate就是你想检验的控件的ID;默认情况下不显示错误消息,地方也会被保留,如果使用了display="dynamic" 那么不显示错误消息的地方不会被空出; forecolor="#ff0000" font-name="宋体" font-size="9pt" 就是设定错误消息字体的颜色,字体,大小的;text="请填写" 就是当没有填写内容时候显示的错误消息;别忘记最后的runat="server"。现在这个检验控件是放在了textbox的后面,那么错误消息也在textbox后面显示,也可以放在其他地方。 再看一下比较表单控件的数据与另外一个数据的检验控件: <asp:textbox id="password1" runat="server" textmode="password" cssclass="textbox"/> <asp:requiredfieldvalidator controltovalidate="password1" display="dynamic" forecolor="#ff0000" font-name="宋体" font-size="9pt" text="请填写" runat="server"/> 这里是第一个需要用户填写的密码框 我们经常会再设立一个密码框让用户再填写一次: <asp:textbox id="password2" runat="server" textmode="password" cssclass="textbox"/> <asp:requiredfieldvalidator controltovalidate="password2" display="dynamic" forecolor="#ff0000" font-name="宋体" font-size="9pt" text="请填写" runat="server"/> <asp:comparevalidator controltovalidate="password2" controltocompare="password1" display="dynamic" operator="equal" forecolor="#ff0000" font-name="宋体" font-size="9pt" text="确认失败" runat="server"/> controltocompare="password1" 就是需要比较的控件;operator="equal" 就是设定比较操作是:是否相等(还有NotEqual:不相等,LessThan:少于,GreaterThan:大于,当不符合这个比较操作的时候显示错误消息)。 以前说到BUTTON控件CausesValidation=true/false来设置按钮提交的表单是不是被检验也就是这里的几个检验控件,如果CausesValidation=true的话按下按钮就会首先检测是不是都通过了检验控件的检验。 下面再说两点: 一、每一个可以显示的控件都有是不是显示的属性,比如username.Visible=false;就是隐藏了前面的username控件;还有就是如果要对控件应用CSS的话就这么写:cssclass="",而不是以前HTML的class=""。 二、所有WEB控件都要包含在<form runat="server"></form>,否则就会出错。 今天就到此结束,请继续往后面看,下次开始就要说ADO.NET了。 十天学会ASP.net(5) 作者:佚名 阅读人次:8013 文章来源:未知 发布时间:2005-6-24 网友评论(6)条 第五天 学习目的:学会连接两种数据库 对于ASP来说,我们常用的数据库无非是ACCESS和SQL SERVER,对于ASP.NET也是,不过ASP.NET对于SQL SERVER有专门的连接组件而不推荐用OLE DB。 首先看一下ACCESS的连接数据库并打开; string strConnection="Provider=Microsoft.Jet.OleDb.4.0;Data Source="; strConnection+=Server.MapPath("*.mdb"); //*就是数据库的名字 OleDbConnection objConnection=new OleDbConnection(strConnection); objConnection.Open(); ________________________________________ dim objConnection as OleDbConnection objConnection=new OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0;Data Source="+Server.MapPath("*.mdb")) objConnection.Open() 下面再看一下SQL SERVER的连接数据库并打开; string strConnection="server=数据库连接;uid=用户名;pwd=密码;database=数据库名字"; SqlConnediob objConnection=new SqlCOnnection(strConnection); objConnection.Open(); ________________________________________ dim objConnection as SqlConnectiom objConnection=new SqlConnection("server=数据库连接;uid=用户名;pwd=密码;database=数据库名字") objConnection.Open() 实际上,在大多数地方SQL SERVER和ACCESS的区别除了连接语句,其他定义语句也就是SQL××和OLEDB××的区别 另外,如果是ACCESS数据库的话在ASPX文件的开头需要包括下列语句: <%@Import Namespace="System.Data"%> <%@Import Namespace="System.Data.OleDb"%> 如果是SQL SERVER则需要包括以下语句: <%@Import Namespace="System.Data"%> <%@Import Namespace="System.Data.SqlClient"%> 今天就说到这里,明天开始讲数据库的读取。 十天学会ASP.net(6) 作者:佚名 阅读人次:7634 文章来源:未知 发布时间:2005-6-24 网友评论(4)条 第六天 学习目的:学会读取数据库 有的网友说,不会C#,在ASP.NET里面还是选择VB.NET,这个我不反对,但是我觉得既然是学习新的东西,就不要在意有多少是新的。实际上C#就一般的操作来说,只是区分大小写和多了一个分号这两点与VB.NET不同其他都差不多啊。在ASP里面我们读取数据就直接用RECORDSET,然后在HTML代码里面穿插<%= %>就可以显示了,但是ASP.NET讲究的是代码分离,如果还是这样显示数据就不能代码分离了。所以我们有两种方法:如果是读取一条记录的数据或者不多的数据,我们用DATAREADER采集数据,然后赋值给LABEL控件的Text属性即可;如果是读取大量数据我们就采用DATAGRID。 今天我们就来说一下DATAREADER: string strConnection="Provider=Microsoft.Jet.OleDb.4.0;Data Source="; strConnection+=Server.MapPath(strDb); OleDbConnection objConnection=new OleDbConnection(strConnection); OleDbCommand objCommand = new OleDbCommand("这里是SQL语句" , objConnection); objConnection.Open(); OleDbDataReader objDataReader=objCommand.ExecuteReader(); if(objDataReader.Read()) { oicq.Text=Convert.ToString(objDataReader["useroicq"]); homesite.Text=Convert.ToString(objDataReader["usersite"]); face.SelectedItem.Text=Convert.ToString(objDataReader["userface"]); } 大家可以看到我们首先是连接数据库然后打开,对于select的命令,我们申明一个OleDbCommand来执行之,然后再申明一个OleDbDataReader,来读取数据,用的是ExecuteReader(),objDataReader.Read()就开始读取了,在输出的时候我们要注意Text属性接受的只能是字符串,所以我们要把读出的数据都转化为字符串才行。 转换变量类型函数: 转换为字符串:Convert.ToString() 转换为数字:Convert.ToInt64(),Convert.ToInt32(),Convert.ToInt16() 是按照数字位数由长到短 转换为日期:Convert.ToDateTime() ________________________________________ dim objConnection as OleDbConnection dim objCommand as OleDbCommand dim objDataReader as OleDbDataReader objConnection=new OleDbConnection(Provider=Microsoft.Jet.OleDb.4.0;Data Source="+Server.MapPath(strDb)) objCommand=new OleDbCommand("这里是SQL语句" , objConnection) objConnection.Open() objDataReader=objCommand.ExecuteReader() if objDataReader.Read() oicq.Text=Convert.ToString(objDataReader["useroicq"]) homesite.Text=Convert.ToString(objDataReader["usersite"]) face.SelectedItem.Text=Convert.ToString(objDataReader["userface"]) end if 其实大家比较一下C#和VB的语法,会发觉用C#似乎更加简单,教程里面我侧重C#,对于VB的代码我就不解释了。 下面说一下如果代码是读取SQL数据库,我们这样来转变 1、把代码开始的 <%@Import Namespace="System.Data"%> <%@Import Namespace="System.Data.OleDb"%> 修改为 <%@Import Namespace="System.Data"%> <%@Import Namespace="System.Data.SqlClient"%> 2、把代码里面所有申明的对象OleDb××变为Sql××就这么简单 你甚至可以用替换所有来解决,所以今后我讲不再列出Sql Server的代码了。 今天就说到这里,明天开始说数据添加、删除、修改。 十天学会ASP.net(7) 作者:佚名 阅读人次:6818 文章来源:未知 发布时间:2005-6-24 网友评论(4)条 第七天 学习目的:学会添加删除修改记录 以前我们在ASP不管是添加还是删除记录或者用SQL语句加上EXECUTE()或者就是直接用RECORDSET的NEW、DELETE、UPDATE等方法来添加删除修改记录。在ASP.NET里面我们采用SQL语句加上COMMAND对象来执行SQL语句的方法来添加删除修改记录。这比上次说的读取记录还简单。实际上只有一点区别,把ExecuteReader()修改为ExecuteNonQuery()即可,因为我们不需要返回值啊。 string strConnection="Provider=Microsoft.Jet.OleDb.4.0;Data Source="; strConnection+=Server.MapPath(strDb); OleDbConnection objConnection=new OleDbConnection(strConnection); OleDbCommand objCommand = new OleDbCommand("这里是SQL语句" , objConnection); objConnection.Open(); OleDbDataReader objDataReader=objCommand.ExecuteNonQuery(); ________________________________________ dim objConnection as OleDbConnection dim objCommand as OleDbCommand objConnection=new OleDbConnection(Provider=Microsoft.Jet.OleDb.4.0;Data Source="+Server.MapPath(strDb)) objCommand=new OleDbCommand("这里是SQL语句" , objConnection) objConnection.Open() objDataReader=objCommand.ExecuteNoQuery() 下面再举例子说明一下SQL语句(ACCESS): 添加记录: insert int o 表名 (字段1,字段2) values (字符串1,字符串2) where 条件 删除记录: delete from 表名 where 条件 修改记录: update 表名 set 字段1=××,字段2=×× where 条件 需要特别注意,如果是Sql Server删除记录是delete 表名,不需要再加from了。 今天就说到这里了,明天说ASP.NET里面最著名的DATAGRID。 十天学会ASP.net(8) 作者:佚名 阅读人次:6674 文章来源:未知 发布时间:2005-6-24 网友评论(7)条 第八天 学习目的:初步掌握DATAGRID的使用 以前在ASP,我们显示大批量数据经常使用循环读取记录集的方式,在表格插入代码来显示,循环的是<tr>,如果是分页还需要自己制作,如果排序更加复杂,在ASP.NET就好了,一切工作都可以让DATAGRID来做。 首先看一下DATAGRID的样式方面的属性 BackImageUrl="" 背景图片 CellSpacing="" 单元格间距 CellPadding="" 单元格填充 cssClass="" 使用的CSS样式 DATAGRID可以自动用表的字段名放在显示的记录的头部来表示各个单元格所代表的意义,用ShowHeader="true/false"来控制是不是显示,在大多数情况下我们是不需要这个功能的,因为我们数据库的字段名大多是英文的,而我们想在页面输出的大多是文名字。 下面看一下显示数据库内所有记录,就几行代码: <script runat="server" language="c#"> void Page_Load() { string strConnection="Provider=Microsoft.Jet.OleDb.4.0;Data Source="; strConnection+=Server.MapPath("guestbook.mdb"); OleDbConnection objConnection=new OleDbConnection(strConnection); OleDbCommand objCommand1 = new OleDbCommand("select * from guestbook",objConnection); objConnection.Open(); dgrdMain.DataSource=objCommand1.ExecuteReader();//dgrdMain就是下面的DATAGRID的ID dgrdMain.DataBind(); objConnection.Close(); } </script> <html> <body> <asp:DataGrid id="dgrdMain" cellpadding="1" showheader="true" borderwidth="0" runat="server" /> </body> </html> 至于VB的版本,这次大家自己来试试吧:) 假设数据库是三个字段:id,aa,bb 显示的样子就如下: id aa bb 1 werwe rewrwe 2 werwe rewrwe 我们一定觉得这种显示不满意,我们有两种显示的方式(需要包括在<columns></columns>间): 一、默认的列,我们可以选择不输出所有的字段还可以安排顺序: <asp:BoundColumn DataField="想要显示的字段名"> 比如说我们想按照bb,aa来输出这个表,我们这么写 <asp:DataGrid id="dgrdMain" cellpadding="1" showheader="true" autogeneratecolumns="false" borderwidth="0" runat="server"> <columns> <asp:boundcolumn datafield="bb"/> <asp:boundcolumn datafield="bb"/> </columns> </asp:datagrid> 注意使用了autogeneratecolumns="false"以后DATAGRID就不会自动输出所有字段了。 二、以模板列,我们可以定制每一个单元格的样式: <asp:TemplateColumn> <itemTemplate> 间是一个表格,想怎么样就怎么样 </itemTemplate> </asp:DataGrid> 或许你们要说怎么在表格输出代码那,可以使用<%# DataBinder.Eval(Container.DataItem,"字段名").ToString()%> 下面看一个例子,我们所要做的就是把aa,bb两个字段放在一个单元格内显示,就好像下面一样: 1 werwe rewrwe 2 werwe rewrwe 我们这样写代码: <asp:DataGrid id="dgrdMain" cellpadding="1" showheader="false" autogeneratecolumns="false" borderwidth="0" runat="server"> <columns> <asp:boundcolumn datafield="ii"/> 首先使用默认的显示方式显示ID <asp:TemplateColumn> 再使用模板来显示后面一列(由AA,BB并列组成) <itemTemplate> <table border="0" cellspacing="0" cellpadding="0" width="100%"> <tr> <td><%# Container.DataItem("aa")%></td> </tr> <tr> <td><%# Container.DataItem("bb")%></td> </tr> </table> </itemTemplate> </asp:DataGrid> </columns> </asp:datagrid> 今天就说到这里,明天我们来看一下DATAGRID的分页显示等功能 十天学会ASP.net(9) 作者:佚名 阅读人次:5514 文章来源:未知 发布时间:2005-6-24 网友评论(7)条 第九天 学习目的:学会用DATAGRID分页显示 虽然说DATAGRID的分页显示效率不怎么高,但是不管怎么说,它是最方便的分页显示,对于做一个留言簿还是相当简单实用的。对于启用分页功能还有一个重要要求,只能在DATADRID控件的数据源实现了ICOLLECTION接口的情况下才能启用分页功能,而DATAREADER没有这个接口,所以必须使用DATATABLE来代替。 <script runat="server" language="c#"> void Page_Load() { string strConnection="Provider=Microsoft.Jet.OleDb.4.0;Data Source="; strConnection+=Server.MapPath("guestbook.mdb"); OleDbConnection objConnection=new OleDbConnection(strConnection); OleDbDataAdapter objDataAdapter=new OleDbDataAdapter("select * from guestbook",objConnection); DataSet objDataSet=new DataSet(); objDataAdapter.Fill(objDataSet); dgrdMain.DataSource=objDataSet; dgrdMain.DataBind(); } void dgrdMain_PageIndexChanged(Object sender, DataGridPageChangedEventArgs e) { dgrdMain.CurrentPageIndex = e.NewPageIndex; DataBind(); } </script> <html> <body> <asp:DataGrid id="dgrdMain" cellpadding="1" showheader="true" borderwidth="0" allowpaging="true" 启用分页功能 pagesize="3" 每一页显示三条记录 onpageindexchanged="dgrdMain_pageindexchanged " 调用第×页的函数为dgrdMain_PageIndexChanged() runat="server" /> </body> </html> ________________________________________ <script runat="server" language="vb"> subPage_Load dim objConnection as OleDbConnection dim objDataAdapter as OleDbDataAdapter dim objDataSet as DataSet objConnection=new OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0;Data Source="+Server.MapPath("guestbook.mdb")) objDataAdapter=new OleDbDataAdapter("select * from guestbook",objConnection) objDataSet=new DataSet objDataAdapter.Fill(objDataSet) dgrdMain.DataSource=objDataSet dgrdMain.DataBind() end sub sub dgrdMain_PageIndexChanged(sender as object,e as datagridpagechangedeventargs) dgrdMain.CurrentPageIndex = e.NewPageIndex DataBind end sub </script> <html> <body> <asp:DataGrid id="dgrdMain" cellpadding="1" showheader="true" borderwidth="0" allowpaging="true" 启用分页功能 pagesize="3" 每一页显示三条记录 onpageindexchanged="dgrdMain_pageindexchanged " 调用第×页的函数为dgrdMain_PageIndexChanged() runat="server" /> </body> </html> 这样就是最简单的分页,我们可以用参数pagestyle-mode="nextprev/numericpages"来设定是显示上一页、下一页方式还是直接选择页面的数字方式来实现页面跳转。如果是前者我们可以用pagestyle-nextpagetext来设定包含下一页链接的文本,用pagestyle-prevpagetext来设定包含上一页链接的文本;如果是后者我们可以用PagerStyle-PageButtonCount来设定在使用省略号之前显示的页面编号数量(默认是10) 今天就说到这里,明天说一下SESSION和COOKIE。 十天学会ASP.net(10) 作者:佚名 阅读人次:5305 文章来源:未知 发布时间:2005-6-24 网友评论(8)条 第十天 学习目的:学会SESSION和COOKIE的使用 在各个网页间的变量传递和一些记录用户的登陆信息要用到SESSION和COOKIE。在ASP.NET使用COOKIE比ASP稍微麻烦一点,因为我们要申明变量。 首先看一下SESSION的使用,基本和ASP差不多 写入一个SESSION: Session["username"])="aa"; ________________________________________ Session("username")="aa" 读取一个SESSINN: string username= Session["username"]; ________________________________________ dim username=Session("username") 再来看一下COOKIE的写入: DateTime dt=DateTime.Now; //需要<%@Import Namespace="System"%>,得到当前时间 HttpCookie mycookie=new HttpCookie("logname");//申明新的COOKIE变量 mycookie.Value="aa";//赋值 mycookie.Expires=Convert.ToDateTime(dt+TimeSpan.FromDays(1));//设定过期时间为1天 Response.Cookies.Add(mycookie1);//写入COOKIE ________________________________________ dim dt as DateTime dt=DataTime.Now dim mycookie as HttpCookie mycookie=new HttpCookie("logname") mycookie.Value="aa" mycookie.Expires=Convert.ToDateTime(dt+TimeSpan.FromDays(1)) Response.Cookies.Add(mycookie1) 看一下COOKIE的读取: HttpCookie mycookie=Request.Cookies["username"]; string username=mycookie.Value; ________________________________________ dim mycookie as HttpCookie mycookie=Request.Cookies["username"] dim string=mycookie.Value 到此《十天学会ASP.NET》结束了

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值