MySQL--公司培训PPT.ppt_第1页
MySQL--公司培训PPT.ppt_第2页
MySQL--公司培训PPT.ppt_第3页
MySQL--公司培训PPT.ppt_第4页
MySQL--公司培训PPT.ppt_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

MySQL 培训人 1 启动MySQL服务器 启动MySQL服务器的方法有两种 系统服务器和命令提示符 DOS 1 通过系统服务器启动MySQL服务器如果MySQL设置为Windows服务 则可以通过选择 开始 管理工具 服务 命令打开Windows服务管理器 在服务器的列表中找到mysql服务并右击 在弹出的快捷菜单中选择 启动 命令 启动MySQL服务器 如图所示 2 启动MySQL服务器 2 在命令提示符下启动MySQL服务器选择 开始 运行 命令 在弹出的 运行 对话框中输入cmd命令 按Enter键进入DOS窗口 在命令提示符下输入 netstartmysql按Enter键 即可启用MySQL服务器 如图所示 3 断开MySQL服务器 1 通过系统服务器停止MySQL服务器如果将MySQL设置为Windows服务 则可以通过选择 开始 管理工具 服务 命令 打开Windows服务管理器 在服务器的列表中右击mysql服务 在弹出的快捷菜单中选择 停止 命令 停止mysql服务 如图所示 4 停止MySQL服务器 2 在命令提示符下停止MySQL服务器选择 开始 运行 命令 在弹出的 运行 对话框中输入cmd命令 进入DOS窗口 在命令提示符下输入 netstopmysql按Enter键即可停止MySQL服务器 如图所示 5 创建数据库CREATEDATABASE 使用CREATEDATABASE语句可以轻松创建MySQL数据库 语法格式如下 CREATEDATABASE数据库名 在创建数据库时 数据库命名有以下几项规则 不能与其他数据库重名 否则将发生错误 名称可以由任意字母 阿拉伯数字 下划线 和 组成 可以使用上述的任意字符开头 但不能使用单独的数字 否则会造成它与数值相混淆 不能使用MySQL关键字作为数据库名 表名 在默认情况下 Windows下数据库名 表名的大小写是不敏感的 而在Linux下数据库名 表名的大小写是敏感的 为了便于数据库在平台间进行移植 建议采用小写来定义数据库名和表名 6 删除数据库DROPDATABASE 删除数据库可以使用DROPDATABASE语句 语法格式如下 DROPDATABASE数据库名 7 数据库基础知识 数据库基础知识概述SQL概述SQL语言 8 数据库基础知识 数据库由一批数据构成的有序集合 这些数据被分门别类地存放在一些结构化的数据表 table 里 而数据表之间又往往存在交叉引用的关系 这种关系使数据库又被称为关系型数据库档案柜 数据库抽屉 表文件 记录 9 数据库 数据表存储过程视图 表 产品数据库 10 数据表 11 数据在表中的存放 存在冗余 为减少数据查找的麻烦 允许数据有一定的冗余 12 数据存储的完整性 存在不正确 不准确的数据 数据库 失去了完整性 13 数据的完整性 数据完整性 14 完整性分类 数据实体完整性字段完整性引用完整性自定义完整性 15 数据实体完整性 约束方法 唯一约束 主键约束 标识列 16 字段完整性 约束方法 限制数据类型 检查约束 外键约束 默认值 非空约束 17 引用完整性 约束方法 外键约束 18 自定义完整性 约束方法 规则 存储过程 触发器 19 完整性包括 输入的类型是否正确 年龄必须是数字输入的格式是否正确 身份证号码必须是18位是否在允许的范围内 性别只能是 男 或者 女 是否存在重复输入 学员信息输入了两次是否符合其他特定要求 信誉值大于5的用户才能够加入会员列表 20 SQL概述 什么是SQL SQL是StructuredQueryLanguage 结构化查询语言 的缩写 SQL是专为数据库而建立的操作命令集 是一种功能齐全的数据库语言 在使用它时 只需要发出 做什么 的命令 怎么做 是不用使用者考虑的 21 SQL语法组成 DML DataManipulationLanguage数据操作语言 查询 插入 删除和修改数据库中的数据 SELECT INSERT UPDATE DELETE等 DCL DataControlLanguage数据控制语言 用来控制存取许可 存取权限等 GRANT REVOKE等 DDL DataDefinitionLanguage数据定义语言 用来建立数据库 数据库对象和定义其列 CREATETABLE DROPTABLE ALTERTABLE等功能函数 日期函数 数学函数 字符函数 系统函数等 22 MySQL中使用SQL语言几点说明 属于一个SQL语句 使用分号 结尾 否则mysql认为语句没有输入完 箭头 代表SQL语句没有输入完取消SQL语句使用 c SQL语句关键字和函数名不区分大小写 Linux区分 Windows不区分 使用函数时 函数名和后面的括号之间不能有空格 23 MySQL数据类型 数据类型种类数值列类型字符串列类型日期和时间列类型 24 数据类型种类 数值型分为整型和浮点型整型 可以由十进制和十六进制表示整数由数字序列组成 如 1 100 由十六进制表示方法 0 x且后面加1 9和A F的任意数字或字母 并且0 x中的X不能大写 浮点型 浮点数由一个数字加一个小数点再加上一个数字组成 两个数字序列不能同时为空 25 日期和时间值是存储如 2005 1 1 或者 12 00 00 这样的数值的值 在MySQL中日期是按 年 月 日 的顺序 NULL值是一种无类型的值 表示 空 什么也没有 26 数值列类型 MySQL为除了NULL值外的所有通用数据类型提供了列类型 列类型是一种手段 通过这种手段可以描述表的列可以包含什么样类型的值 数值列类型所有数值列类型的类型名及其说明和所占的字节数见下表 27 数值列的完整性约束 AUTO INCREMENT自动标识列 在需要产生唯一标志符号或者顺序值时候 可用此属性 值一般从1开始 每行增加1 在插入NULL到一个AUTO INCREMENT列时 MySQL会插入一个比该列中当前最大值大1的值 一个表中最多能有一个有此属性的列 对于想使用此属性的列应该定义为NOTNULL 并定义为PRIMARYKEY或者定义为UNIQUE键 28 NULL和NOTNULL默认为NULL 即插入值时没有在此字段插入值时自动填NULL 如果指定了NOTNULL 则必须在插入值时在此字段添入值 不允许插入NULL值 29 字符串 字符串列类型所有字符串列类型及其说明和所占的字节数见下表 30 CHAR和VARCHAR类型 CHAR类型和VARCHAR类型长度范围都是0 255之间的大小 他们之间的差别在于MySQL处理存储的方式 CHAR把这个大小视为值的准确大小 用空格填补比较短的值 VARCHAR类型把它视为最大值并且只使用了存储字符串实际上需要的字节数 增加了一个额外的字节记录长度 因而 较短的值当被插入一个语句为VARCHAR类型的字段时 将不会用空格填补 然而 较长的值仍然被截短 31 BLOB和TEXT类型 BLOB是二进制大对象 如果想存储二进制数BLOB将是最佳选择 而TEXT与之相同 只是BOLOB按照二进制编码排序 区分大小写 TEXT按照字符文本模式排序 不区分大小写 ENUM和SET类型是特殊的串类型 其列值必须从固定的串集中选择 二者差别为前者必须是只能选择其中的一个值 而后者可以多选 不推荐使用 32 日期和时间列类型 所有时间和日期列类型的类型名及其说明和所占的字节数见下表 33 34 说明 每个时间和日期列类型都有一个零值 当插入非法数值时就用零值来添加表示日期时必须先按 年 月 日的顺序给出DATE TIME DATETIME分别是存储日期 时间与日期和时间的组合 其格式为 YYYY MM DD hh mm ss 和 YYYY MM DDhh mm ss 对于DATETIME类型 日期和时间部分都需要TIMESTAMP时间戳列类型以YYYYMMDDhhmmss的格式来表示值 其取值范围是19700101000000到2037年的某个时间 主要用于记录更改或创建某个记录 35 总结 常用数据类型 36 创建数据库 建立数据库操作 语法 createdatabase数据库名叙述 创建一个具有指定名称的数据库 如果要创建的数据库已经存在 或者没有创建它的适当权限 则此语句失败 例 建立一个student库 mysql createdatabasestudent 37 mysql数据库备份及恢复命令mysqldump source的用法 还原一个数据库 mysql hlocalhost uroot p123456数据库名数据库所在路径 d 数据库 sql 38 备份MySQL数据库的命令 mysqldump hhostname uusername ppassworddatabasename backupfile sql 39 直接将MySQL数据库压缩备份mysqldump hhostname uusername ppassworddatabasename gzip backupfile sql gz备份MySQL数据库某个 些 表mysqldump hhostname uusername ppassworddatabasenamespecific table1specific table2 backupfile sql 40 同时备份多个MySQL数据库mysqldump hhostname uusername ppassword databasesdatabasename1databasename2databasename3 multibackupfile sql仅仅备份数据库结构mysqldump no data databasesdatabasename1databasename2databasename3 structurebackupfile sql备份服务器上所有数据库mysqldump all databases allbackupfile sql 41 还原MySQL数据库的命令mysql hhostname uusername ppassworddatabasename backupfile sql还原压缩的MySQL数据库gunzip backupfile sql gz mysql uusername ppassworddatabasename将数据库转移到新服务器mysqldump uusername ppassworddatabasename mysql host Cdatabasename 42 几个常用用例 1 导出整个数据库mysqldump u用户名 p数据库名 导出的文件名mysqldump uroot pdataname dataname sql这个时候会提示要你输入root用户名的密码 输入密码后dataname数据库就成功备份在mysql bin 目录中 2 导出一个表mysqldump u用户名 p数据库名表名 导出的文件名mysqldump uroot pdatanameusers dataname users sql3 导出一个数据库结构mysqldump uwcnc p d add drop tablesmgp apps wcnc d wcnc db sql d没有数据 add drop table在每个create语句之前增加一个droptable 43 4 导入数据库常用source命令进入mysql数据库控制台 如mysql uroot pmysql use数据库然后使用source命令 后面参数为脚本文件 如这里用到的 sql mysql sourced wcnc db sql 44 创建表 建立表操作 语法 createtable表名 列名1列类型 列名2列类型 叙述 在当前数据库下新创建一个数据表 列类型 表示该列的数据类型 例 建立一个表school 其由两列组成 第一列属性为非空 并做为主键 并自增createtableschool school idint 10 notnullauto incrementprimarykey school namevarchar 20 45 常见完整性约束 PRIMARYKEY主码约束 主键 UNIQUE唯一性约束NOTNULL非空值约束AUTO INCREMENT用于整数列默认自增1UNSIGNED无符号整数DEFAULTdefault value默认值约束DEFAULTcur timestamp创建新记录时默认保存当前时间 仅适用timestamp数据列 ONUPDATEcur timestamp修改记录时默认保存当前时间 仅适用timestamp数据列 CHARACTERSETname指定字符集 仅适用字符串 46 主键与外键 数据表之间的关联 引用关系是依靠具体的主键 primarykey 和外键 foreignkey 建立起来的 主键 帮助MySQL以最快的速度把一条特点的数据记录的位置确定下来 主键必须是唯一的主键应该是紧凑的 因此整数类型比较适合外键 引用另外一个数据表的某条记录 外键列类型尽可能与主键列类型保持一致外键列应该加上NOTNULL 47 主键createtablestudent sidintnotnullauto increment namevarchar 20 notnull primarykey sid 外键 自动检查外键是否匹配 仅适用InnoDB createtablescore cidintnotnullauto incrementprimarykey scoreint sidint foreignkey sid referencesstudent sid 48 主表和从表 1 当主表中没有对应的记录时 不能将记录添加到子表 成绩表中不能出现在学员信息表中不存在的学号 2 不能更改主表中的值而导致子表中的记录孤立 把学员信息表中的学号改变了 学员成绩表中的学号也应当随之改变 3 子表存在与主表对应的记录 不能从主表中删除该行 不能把有成绩的学员删除了4 删除主表前 先删子表 先删学员成绩表 后删除学员信息表 49 删除数据库或表操作 删除表操作语法 droptable ifexists tab name tab name 叙述 从数据库中删除给定的表 如果给出ifexists子句 则删除不存在的表不会出错 删除数据库操作语法 dropdatabase ifexists db name叙述 删除给定的数据库 在删除一个数据库后 它就永远没有了 因此要特别小心 如果给出ifexists子句 则删除不存在的数据库不会出错 50 插入记录操作 语法 叙述 如果表名后面没写字段名 则默认是向所有的字段添加值 另外字符串值应该用 或 引号括起来举例1 向people表中添加一条记录 insertintopeople name age values zhangsan 20 INSERT INTO 列名 VALUES 51 插入案例 创建一张学生信息表 往表中插入数据createtablestudents scodeintnotnullauto increment snamevarchar 20 notnull saddressvarchar 20 default 未知 sgradeint semailvarchar 20 ssexbit primarykey scode 52 插入数据行1 注意事项1 每次插入一行数据 不可能只插入半行或者几列数据 因此 插入的数据是否有效将按照整行的完整性的要求来检验 53 插入数据行2 注意事项2 每个数据值的数据类型 精度和小数位数必须与相应的列匹配 54 插入数据行3 注意事项4 如果在设计表的时候就指定了某列不允许为空 则必须插入数据 55 插入数据行4 注意事项6 具有缺省值的列 可以使用DEFAULT 缺省 关键字来代替插入的数值 INSERTINTOStudents SName SAddress SGrade SEmail SSEX VALUES 张青裁 DEFAULT 6 ZQC S 0 56 插入多行数据 INSERTINTO 列名 VALUES 57 更改记录操作 语法 叙述 where子句是判断语句 用来设定条件 限制只更新匹配的行 如果不带where子句 则更新所有行数据 举例 将student表中的所有学生名称为 Alex 的改为 Tom updatestudentsetsname Tom wheresname Alex UPDATESET WHERE 58 更新数据行 59 删除记录操作 语法 叙述 此语句删除表中的行 如果不带where子句 则删除整个表中的记录 但是表不被删除 举例 删除student表中的所有年龄小于18岁的记录 deletefromstudentwheresage 18 DELETEFROM WHERE 60 补充说明 删除学生编号为 95005 的学生信息包括成绩信息deletefromstudent scusingstudent scwherestudent sno sc studentidandstudent sno 95005 说明 表和字段的引用方式有两种 绝对引用和相对引用绝对引用 数据库名 表名 字段名 相对引用 表名 字段名 61 删除数据行 62 什么是查询 SELECT FROMSALES 客户程序 SQLSERVER 查询产生一个虚拟表 看到的是表形式显示的结果 但结果并不真正存储 每次执行查询只是现从数据表中提取数据 并按照表的形式显示出来 63 查询记录操作 from子句 指定查询数据的表where子句 查询数据的过滤条件groupby子句 对匹配where子句的查询结果进行分组having子句 对分组后的结果进行条件限制orderby子句 对查询结果结

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论