MySQL数据库技术 (2).ppt
《MySQL数据库技术 (2).ppt》由会员分享,可在线阅读,更多相关《MySQL数据库技术 (2).ppt(37页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第5讲讲 MySQL数据操作数据操作 课程:PHPPHP网站开发网站开发温故知新温故知新v知识回顾知识回顾PHP浏览器数据传递和处理。PHP表单和表单元素数据运用。用户注册页面的实现。v本节课知识要点本节课知识要点phpMyAdmin管理使用MySQL数据库。MySQL的增删改查基本SQL语句综合操作。项目导引:企业新闻发布系统数据库 我们思考几个问题,我们思考几个问题,新闻发布系统新闻发布系统中的中的新闻新闻信息存放在什么信息存放在什么地方?用户的账户信息和地方?用户的账户信息和发布的新闻发布的新闻等内容又到哪里去了?这些等内容又到哪里去了?这些内容又以什么形式存放呢?内容又以什么形式存放
2、呢?以上内容按照一定的格式存放在数据库(Data Base)中,数据库就是存放数据的仓库,其可以快速、安全的存储、处理大量的数据。nPHP开发网站开发网站使用使用数据库数据库:PHP可以与MySQL、ACCESS、SQL Server、ORACAL等多种数据库组合使用。nPHP开发最常用的数据库:开发最常用的数据库:在这些数据库中,MySQL是世界是世界上最为流行、开放源码、完全网络化、跨平台的数据库上最为流行、开放源码、完全网络化、跨平台的数据库,能够满足多数中小型企业的需求,绝大多数PHP网站采用MySQL作为网站的数据库。8-1 8-1 数据库概述数据库概述1.1.数据库数据库 数据库是
3、一种专门存储信息和维护信息的容器,严格地说数据库是数据库是一种专门存储信息和维护信息的容器,严格地说数据库是“按按照数据结构来组织、存储和管理信息的仓库照数据结构来组织、存储和管理信息的仓库”。外观上,数据库中的二维表(简称数据库表)和电子表格外观上,数据库中的二维表(简称数据库表)和电子表格ExcelExcel是相同是相同的。数据库表是由列和行构成,的。数据库表是由列和行构成,数据库表中的一列称为一个字段数据库表中的一列称为一个字段,每个字,每个字段用于存储某种数据类型的数据;段用于存储某种数据类型的数据;数据库表中的一行称为一条记录数据库表中的一行称为一条记录,每条,每条记录包含表中的一条
4、详细信息。记录包含表中的一条详细信息。8-1 8-1 数据库概述数据库概述2.2.关系数据库管理系统(关系数据库管理系统(RDBMSRDBMS)关系数据库管理系统(关系数据库管理系统(RDBMSRDBMS或或relational database relational database management systemmanagement system)就是管理关系数据库的软件系统。)就是管理关系数据库的软件系统。关系关系数据库管理系统主要功能就是创建关系数据库,并且在关系数数据库管理系统主要功能就是创建关系数据库,并且在关系数据库中创建各种数据库对象(表、索引、视图、存储过程等)据库中创建
5、各种数据库对象(表、索引、视图、存储过程等)以及维护各个数据库对象。以及维护各个数据库对象。对于初学者而言,关系数据库管理对于初学者而言,关系数据库管理系统最重要的功能莫过于创建数据库、创建数据库表以及完成系统最重要的功能莫过于创建数据库、创建数据库表以及完成数据库表记录的添加、修改、删除和查询等操作。数据库表记录的添加、修改、删除和查询等操作。8-1 8-1 数据库概述数据库概述3.3.结构化查询语言结构化查询语言SQLSQL 结构化查询语言的英文全称是结构化查询语言的英文全称是structured query languagestructured query language,简称,简称S
6、QLSQL。SQLSQL是一种应用广泛的关系数据库语言,用于定义是一种应用广泛的关系数据库语言,用于定义和管理关系数据库中的各种对象(表、索引、视图、存储过程和管理关系数据库中的各种对象(表、索引、视图、存储过程等),也可以用于查询、修改和删除数据库表中的记录。等),也可以用于查询、修改和删除数据库表中的记录。8-2 8-2 数据库的设计数据库的设计0.0.预备预备 数据库的设计一般要从数据库的设计一般要从E-RE-R模型开始,之后的步骤如下:模型开始,之后的步骤如下:1 1为每个实体建立一张表为每个实体建立一张表2 2为每个表选择一个主键(建议添加一个没有实际意义的字为每个表选择一个主键(建
7、议添加一个没有实际意义的字段作为主键)段作为主键)3 3增加外键以表示一对多关系增加外键以表示一对多关系4 4建立新表表示多对多关系建立新表表示多对多关系5 5定义约束条件定义约束条件6 6评价关系的质量,并进行必要的改进(关于范式等知识请评价关系的质量,并进行必要的改进(关于范式等知识请参考其他数据库书籍)参考其他数据库书籍)7 7为每个字段选择合适的数据类型和取值范围为每个字段选择合适的数据类型和取值范围8-2 8-2 数据库的设计数据库的设计1.1.E-RE-R模型模型 E-R E-R(Entity-RelationshipEntity-Relationship)模型即实体)模型即实体-
8、关系模型主要用关系模型主要用于定义数据的存储需求,该模型已经广泛用于关系数据库设计于定义数据的存储需求,该模型已经广泛用于关系数据库设计中。中。E-RE-R模型由实体、属性和关系三个基本要素构成。模型由实体、属性和关系三个基本要素构成。8-2 8-2 数据库的设计数据库的设计2.2.主键(主键(Primary KeyPrimary Key)数据库表要求表中的每一行记录都必须是唯一的,即在同一数据库表要求表中的每一行记录都必须是唯一的,即在同一张表中不允许出现完全相同的两条记录。张表中不允许出现完全相同的两条记录。在设计数据库时,为在设计数据库时,为了保证记录的了保证记录的“唯一性唯一性”,最为
9、普遍、最为推荐的做法是为表,最为普遍、最为推荐的做法是为表定义一个主键(定义一个主键(primary keyprimary key)。)。数据库表中主键有以下两个数据库表中主键有以下两个特征:特征:1 1表的主键可以由一个字段构成,也可以由多个字段构成表的主键可以由一个字段构成,也可以由多个字段构成(这种情况称为复合主键)。(这种情况称为复合主键)。2 2数据库表中主键的值具有唯一性且不能取空值(数据库表中主键的值具有唯一性且不能取空值(NULLNULL),),当数据库表中的主键由多个字段构成时,每个字段的值不能取当数据库表中的主键由多个字段构成时,每个字段的值不能取NULLNULL值。值。8
10、-2 8-2 数据库的设计数据库的设计3.3.实体间的关系与外实体间的关系与外键(键(Foreign KeyForeign Key)班级实体和班主任实体之班级实体和班主任实体之间为一对一关系,班级实体间为一对一关系,班级实体和学生实体之间为一对多关和学生实体之间为一对多关系,学生实体和课程实体之系,学生实体和课程实体之间为多对多关系。间为多对多关系。实体间的实体间的关系可以通过外键来表示。关系可以通过外键来表示。如果表如果表A A中的一个字段中的一个字段a a对应对应于表于表B B的主键的主键b b,则字段,则字段a a称为称为表表A A的外键。此时存储在表的外键。此时存储在表A A中字段中字
11、段a a的值,同时这个字段的值,同时这个字段值也是表值也是表B B主键主键b b的值。的值。8-2 8-2 数据库的设计数据库的设计4.4.约束(约束(constraintconstraint)常用的约束条件有六种:常用的约束条件有六种:主键(主键(primary keyprimary key)约束)约束外键(外键(foreign keyforeign key)约束)约束唯一性(唯一性(uniqueunique)约束)约束默认值(默认值(defaultdefault)约束)约束非空(非空(not NULLnot NULL)约束)约束检查(检查(checkcheck)约束)约束 8.3 数据表设
12、计1.数据表数据表 一个数据库中可以有多个数据表,每个数据表的名称必须是唯一一个数据库中可以有多个数据表,每个数据表的名称必须是唯一的,表中每个字段的名称也必须是唯一的,每个字段都有对应的数据的,表中每个字段的名称也必须是唯一的,每个字段都有对应的数据类型和取值范围。类型和取值范围。二维表中能唯一区分、确定不同记录的属性或属性组合,称为该二维表中能唯一区分、确定不同记录的属性或属性组合,称为该表的主键。主键具有唯一性和非空性。表的主键。主键具有唯一性和非空性。例如:图书编号为图书表的主键,用户编号为用户表的主键。在图书类别表中,typeid(类别编号)字段为主键,在图书表中也有typeid(类
13、别编号)字段,并且与图书类别表中的typeid(类别编号)字段是对应关系。这里我们把typeid(类别编号)字段称为图书类别表的主键,图书表的外键。8.3 数据表设计2.数据类型数据类型(1)数值类型l TINYINT:占1个字节,有符号数字的范围是-128到127,无符号的数字范围是0到255。l SMALLINT:占2个字节,有符号数字的范围是-32768到32767,无符号数字的范围是0到65535。l MEDIUMINT:占3个字节,有符号数字的范围是-8388608到8388607,无符号数字的范围是0到16777215。l INT:占4个字节,有符号数字的范围是-214748364
14、8到2147483647,无符号数字的范围是0到4294967295。l BIGINT:占8个字节,有符号数字的范围是-9223372036854775808到9223372036854775807,无符号数字的范围是0到。8.3 数据表设计l FLOAT(M,D):占4个字节,不能无符号,允许的值是-3.402823466E+38到-1.175494351E-38,0和1.175494351E-38到3.402823466E+38。M是显示宽度,D是小数的位数。l DOUBLE(M,D):占8个字节,不能无符号,允许的值是-1.7976931348623157E+308到-2.2250738
15、585072014E-308、0和2.2250738585072014E-308到1.7976931348623157E+308。M是显示宽度,D是小数位数。l DECIMAL(M,D):一个未压缩(unpack)的浮点数字,“未压缩”意味着数字作为一个字符串被存储,值的每一位使用一个字符。小数点,并且对于负数,“-”符号不在M中计算。如果D是0,值将没有小数点或小数部分。DECIMAL值的最大范围与DOUBLE相同,但是对一个给定的DECIMAL列,实际的范围可以通过M和D的选择被限制。如果D被省略,它被设置为0。如果M被省掉,它被设置为10。8.3 数据表设计(2)日期和时间类型l DAT
16、E:日期型,占3个字节,支持的范围是1000-01-01到9999-12-31。MySQL以YYYY-MM-DD格式来显示DATE值,但是允许使用字符串或数字把值赋给DATE列。l DATETIME:日期和时间组合型,占8个字节,支持的范围是1000-01-01 00:00:00到9999-12-31 23:59:59。MySQL以YYYY-MM-DD HH:MM:SS格式来显示DATETIME值,但是允许使用字符串或数字把值赋给DATETIME的列。l TIMESTAMP:时间戳,占4个字节,范围是1970-01-01 00:00:00到2037年的某时。l TIME:时间型,占3个字节,范
17、围是-838:59:59到838:59:59。MySQL以HH:MM:SS格式来显示TIME值,但是允许使用字符串或数字把值赋给TIME列。l YEAR(2|4):2或4位数字格式的年(缺省是4位),占1个字节,允许的值是1901到2155,如果使用2位,1970-2069(70-69)。MySQL以YYYY格式来显示YEAR值,但是允许把使用字符串或数字值赋给YEAR列。8.3 数据表设计(3)字符串(字符)类型l CHAR(M):定长字符串,当存储时,总是用空格填满右边到指定的长度。M的范围是0255个字符。lVARCHAR(M):变长字符串,当值被存储时,尾部的空格被删除。M的范围是02
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MySQL数据库技术 2 MySQL 数据库技术
限制150内