《PHP+MySQL动态网站开发》 课件-第5章 MySQL基础(上)_第1页
《PHP+MySQL动态网站开发》 课件-第5章 MySQL基础(上)_第2页
《PHP+MySQL动态网站开发》 课件-第5章 MySQL基础(上)_第3页
《PHP+MySQL动态网站开发》 课件-第5章 MySQL基础(上)_第4页
《PHP+MySQL动态网站开发》 课件-第5章 MySQL基础(上)_第5页
已阅读5页,还剩90页未读 继续免费阅读

下载本文档

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

文档简介

第5章MySQL基础(上)《PHP+MySQL动态网站开发》学习目标/Target熟悉数据库的基本概念熟悉MySQL的安装与使用掌握数据库的基本操作掌握数据表的基本操作掌握数据的新增、查看、更新与删除操作章节概述/SummaryMySQL是一种关系数据库管理系统,它是当今最流行的开源数据库之一,具有开源、稳定、可靠、管理方便以及支持众多系统平台等特点。MySQL广泛应用于互联网行业的数据存储。本章将对MySQL数据库的基础知识和基本操作进行详细讲解。目录/Contents01020304数据库基础知识MySQL的安装与使用数据库操作数据表操作05数据操作数据库基础知识5.15.1.1数据库概述

先定一个小目标!熟悉数据库的概念,能够说出数据库的定义和作用5.1.1数据库概述数据库(Database,DB):按照数据结构来组织、存储和管理数据的仓库,被看作电子化文件柜,对文件中的数据进行增加、删除、修改、查找等。数据(Data):包括数字、文字、图像、声音等,凡是在计算机中用来描述事物的信息都可称为数据。5.1.1数据库概述数据库技术:研究如何对数据进行有效地管理,包括组织和存储数据,在数据库系统中减少数据存储冗余、实现数据共享、保障数据安全,高效地检索和处理数据。5.1.2什么是MySQL

先定一个小目标!熟悉什么是MySQL,能够说出MySQL的特点和工作方式5.1.2什么是MySQL支持多平台MySQL支持在UNIX、Linux、MacOS和Windows等平台上方便快捷使用成本低MySQL体积小、速度快,使用更加方便、快捷开放源代码,开发人员可根据需求自由进行修改采用社区版和商业版的双授权政策,兼顾了免费使用和付费服务的场景,软件使用成本低开发源码5.1.2什么是MySQLMySQL的工作方式:5.1.3数据模型

先定一个小目标!熟悉数据模型,能说出层次模型、网状模型、关系模型的存储方式5.1.3数据模型010203123层次模型是基于层次的数据结构,将数据分层存储。层次模型是基于网状的数据结构,将数据呈网状存储,根据数据网可以整合所有数据。网状模型关系模型则是源于数学,它用二维表来组织数据,二维表在关系模型中称为关系。关系模型建立在关系模型基础上的数据库称为关系型数据库,MySQL就是关系型数据库。3种基本数据模型:5.1.4关系型数据库

先定一个小目标!熟悉关系型数据库,能够说出常见的关系型数据库产品5.1.4关系型数据库Oracle由甲骨文公司开发的,在数据库领域一直处于领先地位,市场占有率较高,适用于各类大、中、小、微机环境,具有良好的兼容性、可移植性、可伸缩性,且性能高、安全性强。SQLServer由微软公司推出,广泛应用于电子商务、银行、保险、电力等行业,具有易操作、界面良好等特点,早期的版本只能在Windows平台上运行,新版本已支持Windows和Linux平台。5.1.5非关系型数据库

先定一个小目标!熟悉非关系型数据库,能够说出常见的非关系型数据库产品5.1.5非关系型数据库Redis是一个高性能的非关系数据库,采用key-value

的方式存储数据,适用于内容缓存和处理大量数据的高负载访问,查询速度非常快。支持存储多种数据类型的数据,支持持久化操作、主从同步等。MongoDB介于关系型数据库和非关系型数据库之间,支持的数据结构非常松散,是类似JSON的BSON格式,可以存储比较复杂的数据类型,具有高性能、易部署、易使用、存储数据非常方便等特点。5.1.6SQL语言

先定一个小目标!熟悉SQL语言,能够说出SQL语言的4个组成部分5.1.6SQL语言SQL(结构化查询语言):数据库查询语言和程序设计语言,管理数据库数据,如存取、更新数据。用于定义数据库、表。例:CREATE语句创建数据库,ALTER语句修改表,DROP语句删除数据库、数据表。数据定义语言用于对数据库进行添加、修改和删除操作。例:INSERT语句插入数据,UPDATE语句修改数据,DELETE删除数据。数据操作语言主要用于查询数据。例:使用SELECT语句可以查询数据库中的一条数据或多条数据。数据查询语言用于控制用户的访问权限。例:GRANT语句给用户增加权限,REVOKE语句收回用户的权限,COMMIT语句提交事务等。数据控制语言SQL组成MySQL的安装与使用5.25.2.1安装MySQL

先定一个小目标!掌握MySQL的安装,能够独立完成MySQL的安装5.2.1安装MySQL下载安装包MySQL的官方网站提供了软件的下载,在网站中找到MySQL5.7社区版(MySQLCommunityServer)压缩包版本的下载地址。解压安装包将压缩包解压保存到C:\web\mysql5.7目录中。获取MySQL5.2.1安装MySQL安装MySQL在命令行工具中安装MySQL。配置MySQL创建配置文件,在配置文件中指定MySQL的安装目录(basedir)、数据库文件的保存目录(datadir)和端口号(port)。初始化MySQL执行初始化命令,自动创建数据文件目录,执行命令启动MySQL服务。安装与配置5.2.2登录MySQL数据库

先定一个小目标!掌握如何登录MySQL数据库,能够独立完成MySQL的登录5.2.2登录MySQL数据库登录MySQL在命令行工具中输入mysql-uroot命令登录MySQL。设置登录密码为了保护数据库的安全,为登录MySQL服务器的用户设置密码。ALTER

USER

'root'@'localhost'

IDENTIFIED

BY

'123456';查看数据库登录MySQL数据库后,查看数据库中现有的数据库。登录MySQL5.2.3MySQL基本语法规则

先定一个小目标!熟悉MySQL基本语法规则,能够说出MySQL基本语法的3个注意事项5.2.3MySQL基本语法规则换行、缩进与结尾分隔符语法规则SQL语句可以单行或多行书写,多行书写按“Enter”键换行,使用空格和缩进增强语句可读性,使用分号(;)结尾,命令行中可以用“\g”或“\G”结尾。大小写问题关键字在使用时不区分大小写,在Windows中,数据库和数据表名称、字段名称默认都忽略大小写,在Linux中,数据库与数据表名称区分大小写。反引号的引用为了避免用户自定义的名称与系统中的命令(如关键字)冲突,使用反引号(`)包裹数据库名称、字段名称和数据表名称。5.3数据库操作5.3.1创建数据库

先定一个小目标!掌握数据库的创建,能够通过CREATEDATABASE语句创建数据库5.3.1创建数据库创建数据库:在数据库系统中划分一块存储数据的空间。CREATEDATABASE数据库名称[库选项];语法格式CREATEDATABASE表示创建数据库;数据库名称可以使用字母、数组和下画线组成的任意字符串;库选项用于设置数据库的相关特性,如字符集CHARSET,校对集COLLATE。5.3.1创建数据库创建mydb数据库:mysql>CREATEDATABASE`mydb`;QueryOK,1rowaffected(0.00sec)QueryOK表示SQL执行成功;1rowaffected表示受影响行数;0.00sec表示执行SQL语句的时间。创建数据库代码示例5.3.2显示数据库

先定一个小目标!掌握数据库的显示,能够通过SHOWDATABASES或SHOWCREATEDATABASE语句显示数据库5.3.2显示数据库查看MySQL服务器下所有的数据库SHOWDATABASES;语法格式5.3.2显示数据库查看MySQL服务器下所有的数据库mysql>SHOWDATABASES;+------------------------+|Database

|+------------------------+|information_schema

||mysql

||performance_schema

||mydb||sys|+------------------------+查看数据库代码示例information_schema数据字典,保存数据表和库的结构信息mysqlMySQL服务器的控制和管理信息performance_schema性能字典,保存全局变量的设置sys系统数据库,包括存储过程、自定义函数等信息5.3.2显示数据库查看指定数据库的创建信息SHOWCREATEDATABASE数据库名称;语法格式5.3.2显示数据库mysql>SHOWCREATEDATABASE`mydb`;+----------+-----------------------------------------------------------------------------+|

Database|

CreateDatabase

|+----------+-----------------------------------------------------------------------------+|mydb

|

CREATEDATABASE`mydb`/*!40010DEFAULTCHARACTERSETlatin1*/

|+----------+-----------------------------------------------------------------------------+1rowinset(0.00sec)代码示例查看指定数据库的创建信息5.3.3使用数据库

先定一个小目标!掌握数据库的使用,能够通过USE语句使用数据库5.3.3使用数据库USE

数据库名称;语法格式代码示例mysql>USE`mydb`;Databasechanged使用数据库:操作数据表和数据前,先选择数据库。5.3.3使用数据库

先定一个小目标!掌握数据库的修改,能够通过ALTERDATABASE语句修改数据库5.3.4修改数据库修改数据库:修改数据库的库选项。ALTERDATABASE数据库名称库选项;语法格式代码示例mysql>ALTERDATABASE`mydb`CHARSETgbk;5.3.3删除数据库

先定一个小目标!掌握数据库的删除,能够通过DROPDATABASE语句删除数据库5.3.5删除数据库删除数据库:清除数据库中的所有数据,回收为数据库分配的存储空间。DROPDATABASE数据库名称;语法格式代码示例mysql>DROPDATABASE`mydb`;QueryOK,0rowsaffected(0.00sec)注意:删除数据库时,若待删除数据库不存在,可以在删除数据库时添加IFEXISTS语句。如DROPDATABASEIFEXISTS`mydb`;5.4数据表操作5.4.1创建数据表

先定一个小目标!掌握数据表的创建,能够通过CREATETABLE语句创建数据表5.4.1创建数据表创建数据表:指在存在的数据库中建立新表。CREATE[TEMPORARY]TABLE[IFNOTEXISTS]表名(字段名字段类型[字段属性]…)[表选项]语法格式TEMPORARY表示临时表,仅在当前会话中可见,在会话关闭时自动删除。字段名指数据表的列名字段类型设置字段中保存的数据类型,如时间日期类型等;字段属性指字段的某些特殊约束条件表选项设置表的相关特性,如存储引擎(ENGINE)、字符集(CHARSET)和校对集(COLLATE)5.4.1创建数据表STEP03mysql>CREATETABLE`goods`(->`id`INTCOMMENT'编号',->`name`VARCHAR(32)COMMENT'商品名',->`price`INTCOMMENT'价格',->`description`VARCHAR(255)COMMENT'商品描述'->);QueryOK,0rowsaffected(0.01sec)小提示:为了避免数据表名重复,通常为数据表添加前缀,前缀一般选取数据库的前几个字母,并添加下画线(_)。如mydb_goods数据表,mydb_就是表前缀。代码示例5.4.1创建数据表直接操作数据表访问其他数据库的表:CREATETABLE`mydb`.`goods`(此处省略字段的定义);代码示例小提示:使用“数据库.表名”的形式直接操作任何数据库下的数据表。5.4.2显示数据表

先定一个小目标!掌握数据表的显示,能够通过SHOWTABLES或SHOWCREATETABLE语句显示数据表5.4.2显示数据表显示所有数据表SHOWTABLES[LIKE匹配模式];语法格式LIKE匹配模式表示按照“匹配模式”查看数据表。匹配模式符有两种:“%”表示匹配一个或多个字符;“_”表示匹配一个字符。5.4.2显示数据表mysql>SHOWTABLES;显示数据库中所有数据表代码示例根据匹配模式显示数据表代码示例SHOWTABLESLIKE'%new%';显示所有数据表5.4.2显示数据表显示数据表的创建指令语法格式SHOWCREATETABLE表名;5.4.2显示数据表mysql>SHOWCREATETABLE`new_goods`\G******************************1.row************************************Table:new_goodsCreateTable:CREATETABLE`new_goods`(`id`int(11)DEFAULTNULLCOMMENT'编号',`name`varchar(32)CHARACTERSETlatin1DEFAULTNULLCOMMENT'商品名',`price`int(11)DEFAULTNULLCOMMENT'价格',`description`varchar(255)CHARACTERSETlatin1DEFAULTNULLCOMMENT'商品描述',)ENGINE=InnoDBDEFAULTCHARSET=utf8显示数据表的创建指令显示数据表创建指令代码示例5.4.3查看数据表

先定一个小目标!掌握数据表的查看,能够通过DESC语句查看数据表的结构5.4.3查看数据表查看数据表:使用DESCRIBE语句查看数据表所有字段或指定字段的信息。DESCRIBE可以简写成DESC#语法格式1:查看所有字段的信息{DESCRIBE|DESC}数据表名;#语法格式2:查看指定字段的信息{DESCRIBE|DESC}数据表名字段名;语法格式5.4.3查看数据表mysql>DESC`new_goods`;+-------------+--------------+------+-----+---------+-------+|

Field

|

Type

|

Null|

Key

|

Default

|

Extra|+-------------+--------------+------+-----+---------+-------+|

id

|

int(11)

|

YES

||

NULL

|

||

name

|

varchar(32)

|

YES

||

NULL

|

||

price

|

int(11)

|

YES

||

NULL

|

||

description

|

varchar(255)

|

YES

||

NULL

|

|+-------------+--------------+------+-----+---------+-------+查看所有字段代码示例Field表示字段名称,Type表示字段的数据类型,Null表示该字段是否可以为空,Key表示该字段是否已经设置了索引,Default表示该字段是否有默认值,Extra表示获取到的与该字段相关的附加信息。5.4.3查看数据表查看指定字段代码示例mysql>DESC`new_goods``name`;+-------+--------------+------+-----+---------+-------+|

Field|

Type

|

Null|

Key

|

Default

|

Extra|+-------+--------------+------+-----+---------+-------+|

name

|

varchar(32)

|

YES

||

NULL

|

|+-------+--------------+------+-----+---------+-------+5.4.4修改数据表

先定一个小目标!掌握数据表的修改,能够实现数据表名称和表选项的修改5.4.4修改数据表修改数据表名称#语法格式1ALTERTABLE旧表名RENAME[TO|AS]新表名;#语法格式2RENAMETABLE旧表名1TO新表名1[,旧表名2TO新表名2]…语法格式5.4.4修改数据表mysql>RENAMETABLE`new_goods`TO`my_goods`;QueryOK,0rowsaffected(0.01sec)修改表名称代码示例修改数据表名称5.4.4修改数据表修改表选项(字符集、存储引擎以及校对集)ALTERTABLE表名表选项[=]值;语法格式5.4.4修改数据表STEP01修改字符集代码示例mysql>ALTERTABLE`my_goods`CHARSET=gbk;QueryOK,0rowsaffected(0.01sec)Records:0Duplicates:0Warnings:0修改表选项(字符集、存储引擎以及校对集)5.4.5更改字段

先定一个小目标!掌握字段的更改,能够实现字段的新增、调整位置、更改名称、修改、删除操作5.4.5更改字段新增字段语法格式#语法格式1:新增一个字段,并指定其位置ALTERTABLE数据表名ADD[COLUMN]新字段名字段类型[FIRST|AFTER字段名]#语法格式2:同时新增多个字段ALTERTABLE数据表名ADD[COLUMN](新字段名1字段类型1;新字段名2字段类型2,…)5.4.5更改字段新增字段代码示例mysql>ALTERTABLE`my_goods`ADD`num`INTAFTER`name`;QueryOK,0rowsaffected(0.01sec)Records:0Duplicates:0Warnings:0新增字段5.4.5更改字段ALTERTABLE数据表名MODIFY[COLUMN]字段名1字段类型[字段属性][FIRST|AFTER字段名2];调整字段位置语法格式FIRST表示将字段名1调整为数据表的第一个字段AFTER字段名2表示将字段名1插入到字段名2的后面5.4.5更改字段mysql>ALTERTABLE`my_goods`MODIFY`description`VARCHAR(255)AFTER`name`;QueryOK,0rowsaffected(0.03sec)Records:0Duplicates:0Warnings:0调整字段位置代码示例调整字段位置5.4.5更改字段ALTERTABLE数据表名

CHANGE[COLUMN]旧字段名新字段名字段类型[字段属性];更改字段名语法格式旧字段名指字段修改前的名称新字段名指字段修改后的名称数据类型指新字段名的数据类型,不能为空,即使与旧字段数据类型相同,也必须重新设置5.4.5更改字段mysql>ALTERTABLE`my_goods`CHANGE`description``des`VARCHAR(255);QueryOK,0rowsaffected(0.03sec)Records:0Duplicates:0Warnings:0更改字段名代码示例更改字段名5.4.5更改字段ALTERTABLE数据表名

MODIFY[COLUMN]字段名新类型[字段属性];修改字段语法格式修改字段:指修改字段类型、属性和字段位置,使用MODIFY实现。5.4.5更改字段mysql>ALTERTABLE`my_goods`MODIFY`des`CHAR(255);QueryOK,0rowsaffected(0.03sec)Records:0Duplicates:0Warnings:0修改字段代码示例修改字段5.4.5更改字段ALTERTABLE数据表名

DROP[COLUMN]字段名;删除字段语法格式删除字段代码示例mysql>ALTERTABLE`my_goods`DROP`num`;QueryOK,0rowsaffected(0.02sec)Records:0Duplicates:0Warnings:05.4.6删除数据表

先定一个小目标!掌握数据表的删除,能够通过DROPTABLE语句删除数据表5.4.6删除数据表删除数据表:指删除指定数据库中已经存在的表,存储在数据表中的数据都将被删除。mysql>DROPTABLEIFEXISTS`my_goods`;QueryOK,0rowaffected(0.00sec)DROP[TEMPORARY]TABLE[IFEXISTS]数据表1[,数据表2]…;语法格式删除数据表代码示例5.5数据操作5.5.1新增数据

先定一个小目标!掌握数据的新增,能够为所有字段或部分字段添加数据5.5.1新增数据为所有字段添加数据语法格式INSERT[INTO]数据表名{VALUES|VALUE}(值1[,值2]…);INTO是可选项VALUES和VALUE可以任选一种,通常使用VALUES值列表“值1[,值2]…”中多个值之间使用逗号分隔5.5.1新增数据为所有字段添加数据代码示例mysql>

INSERTINTO`goods`VALUES

->

(1,'notebook',4998,'Highcostperformance');QueryOK,1rowaffected(0.00sec)为所有字段添加数据5.5.1新增数据为部分字段添加数据语法格式INSERT[INTO]数据表名(字段名1[,字段名2]…){VALUES|VALUE}(值1[,值2]…);字段列表(字段名1[,字段名2]…):多个字段名之间使用逗号分隔,字段名的顺序可与表结构不同值列表(值1[,值2]…):数据需与字段列表对应5.5.1新增数据为部分字段添加数据代码示例mysql>INSERTINTO`goods`(`id`,`name`)VALUES(2,'Mobilephone');QueryOK,1rowaffected(0.00sec)为部分字段添加数据5.5.1新增数据为指定字段添加数据为指定字段添加数据:使用INSERT语句。语法格式INSERT[INTO]数据表名SET字段名1=值1[,字段名2=值2]…;“字段名1”“字段名2”表示待添加数据的字段名称,“值1”“值2”表示添加的数据。为多个字段添加数据,在每对“字段名=值”之间使用逗号(,)分隔。5.5.2查看数据

先定一个小目标!掌握数据的查看,能够查询表中所有记录、查询部分字段、根据条件查询数据5.5.2查看数据查询表中全部数据语法格式SELECT*FROM数据表名;查询全部数据:使用星号*通配符代替数据表中的所有字段名。5.5.2查看数据查询所有字段代码示例mysql>SELECT*FROM`goods`;+----+--------------+-------+--------------------------+|

id|

name

|

price|

description

|+----+--------------+-------+--------------------------+|

1

|

notebook|

4998

|

Highcostperformance

||

2

|

Mobilephone|

NULL|

NULL

|+----+--------------+-------+--------------------------+查询表中全部数据5.5.2查看数据查询表中部分字段查询部分字段:在SELECT语句的字段列表中指定要查询的字段。语法格式SELECT{字段名1,字段名2,字段名3,…}FROM数据表名;5.5.2查看数据查询部分字段代码示例mysql>SELECT`id`,`name`FROM`goods`;+---+--------------+|id

|

name

|+---+--------------+|

1|

notebook

||

2|

Mobilephone|+---+------

温馨提示

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

评论

0/150

提交评论