收藏 分销(赏)

MySQL数据库基础操作课件电子教案.ppt

上传人:a199****6536 文档编号:10094961 上传时间:2025-04-21 格式:PPT 页数:227 大小:1.95MB 下载积分:25 金币
下载 相关 举报
MySQL数据库基础操作课件电子教案.ppt_第1页
第1页 / 共227页
MySQL数据库基础操作课件电子教案.ppt_第2页
第2页 / 共227页


点击查看更多>>
资源描述
,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,MySQL,数据库,单击此处编辑母版标题样式,第一章,MySQL,数据库基础操作,本章要点,1,了解数据库、,MySQL,数据库的基本概念,2,熟悉,MySQL,数据库的启动、连接等操作,3,掌握,MySQL,数据库的安装配置,4,掌握,MySQL,数据库客户端的基本使用,引言,MySQL,数据库由,MySQL AB,公司开发,目前归属于,Oracle,公司(甲骨文软件系统有限公司),是最流行的关系数据库管理系统。,MySQL,数据库几乎支持所有操作系统,由于具有免费使用、配置简单、稳定性好、性能优良等优点,使得,MySQL,数据库的发展非常迅猛,目前已经广泛应用在各个行业中。,任务一,MySQL,数据库安装与配置,一、任务描述,本任务安装,MySQL,数据库,并进行有关配置。,二、任务分析,MySQL,数据库的安装和配置比较容易,安装时需要注意,MySQL,的,Workbench,客户端依赖于,Microsoft Visual C+Runtime,,必须先安装,Microsoft Visual C+Runtime,,否则,Workbench,无法安装;,MySQL,的配置可以在安装完成后直接进行,也可以在安装完成后进行有关的配置。多数配置采用默认值,比如端口号、日志等。,任务一,MySQL,数据库安装与配置,(一)数据库基本概念,1,数据,描述事物的符号记录称为数据。,2,数据库,数据库是按照一定的数据模型组织的、长期储存在计算机内、可为多个用户共享的数据的聚集。,数据库数据具有永久存储、有组织和可共享三个基本特点。,任务一,MySQL,数据库安装与配置,3,数据库管理系统,数据库管理系统是位于用户与操作系统之间的一层数据管理软件,其主要功能包括几个方面:,(,1,)数据定义功能。,(,2,)数据组织、存储和管理。,(,3,)数据操纵功能。,(,4,)数据库的事务管理和运行管理。,(,5,)数据库的建立和维护功能。,(,6,)其他功能。与其他软件系统的通信功能、与另一个数据库管理系统或文件系统的数据转换功能等。,任务一,MySQL,数据库安装与配置,4,数据库系统,它包括和数据库有关的整个系统:数据库、数据库管理系统、应用程序以及数据库管理员和用户等等。,(,1,)硬件平台及数据库,由于数据库系统数据量都很大,加之,DBMS,丰富的功能使得自身的规模也很大,因此整个数据库系统对硬件资源提出了较高的要求。,任务一,MySQL,数据库安装与配置,要有足够大的内存,有足够大的磁盘或磁盘阵列等设备存放数据库;,要求系统有较高的通道能力,以提高数据传送率。,(,2,)软件,数据库系统的软件主要包括:,数据库的建立、使用和维护配置的系统软件。,支持运行的操作系统。,具有与数据库接口的高级语言及其编译系统,便于开发应用程序。,任务一,MySQL,数据库安装与配置,以,DBMS,为核心的应用开发工具。,为特定应用环境开发的数据库应用系统。,(,3,)人员,开发、管理和使用数据库系统的人员主要是:数据库管理员、系统分析员和数据库设计人员、应用程序员和最终用户。,数据库管理员。负责全面管理和控制数据库系统。,系统分析员和数据库设计人员,系统分析员负责应用系统的需求分析和规范说明,要和用户及,DBA,相结合,确定系统的硬件软件配置,并参与数据库系统的概要设计。,任务一,MySQL,数据库安装与配置,应用程序员,应用程序员负责设计和编写应用系统的程序模块,并进行调试和安装。,用户,这里用户是指最终用户,最终用户通过应用系统的用户接口使用数据库。,任务一,MySQL,数据库安装与配置,数据库发展过程,1,人工管理阶段,20,世纪,50,年代中期以前为人工管理阶段,其特点:,(,1,)数据不保存。(,2,)应用程序管理数据。,(,3,)数据不共享。(,4,)数据不具有独立性。,任务一,MySQL,数据库安装与配置,2,文件系统阶段。,上世纪,50,年代后期到,60,年代中期为文件管理阶段,其特点:,(,1,)数据可以长期保存。,(,2,)由文件系统管理数据,其缺点为:,(,1,)数据共享性差,冗余度大。,(,2,)数据独立性差。,任务一,MySQL,数据库安装与配置,3,数据库系统阶段。,20,世纪,60,年代后期以来为数据库系统阶段,其特点:,(,1,)数据结构化。,(,2,)数据的共享性高、冗余度低、易扩充。,(,3,)数据独立性高。,(,4,)数据由,DBMS,统一管理和控制。,任务一,MySQL,数据库安装与配置,1,关系,所谓关系,就是一张表。表的各列以属性开始,属性是列的入口。例:表,1-1,是一个名为,Course(,课程,),的关系,记录的是课程的相关信息,包括,Course No(,课程号,),、,Course Name(,课程名,),和,Teacher(,任课老师,),。,任务一,MySQL,数据库安装与配置,1,关系,所谓关系,就是一张表。表的各列以属性开始,属性是列的入口。例:表,1-1,是一个名为,Course(,课程,),的关系,记录的是课程的相关信息,包括,Course No(,课程号,),、,Course Name(,课程名,),和,Teacher(,任课老师,),。,任务一,MySQL,数据库安装与配置,2,关系模型,数据以“关系”的形式表示,也就是以二维表的形式表示,其数据模型就是所谓的关系模型。在关系模型中,无论是从客观事物中抽象出的实体,还是实体之间的联系,都用单一的结构类型,关系来表示。在对关系进行各种处理之后,得到的还是关系,一张新的二维表。由于关系模型中数据结构简单清晰,概念单一,易学易用,深受用户喜爱。,任务一,MySQL,数据库安装与配置,3,列,表中的一个字段,所有表都是有一个或多个列组合而成的。如,Course(,课程,),表由,Course No,(课程号)、,Course Name,(课程名称)、,Teacher,(任课老师)三个列组成。,4,行,表中的一条记录。表中行数为记录的总数。,任务一,MySQL,数据库安装与配置,(四)常用数据库,目前,商品化的数据库管理系统以关系型数据库为主导产品,技术比较成熟。国际国内的主流关系型数据库管理系统有,Oracle,、,SQL Server,、,MySQL,、,DB2,等。,任务一,MySQL,数据库安装与配置,1,Oracle,Oracle,在数据库领域一直处于领先地位,具有以下特性:,兼容性:,Oracle,产品采用标准,SQL,,并经过美国国家标准技术所测试,可移植性:,Oracle,的产品可运行于很宽范围的硬件与操作系统平台上。,可联结性:,Oracle,能与多种通讯网络相连,支持各种协议,高生产率:,Oracle,产品提供了多种开发工具,能极大地方便用户进行进一步的开发。,开放性:,Oracle,良好的兼容性、可移植性、可连接性和高生产率。,任务一,MySQL,数据库安装与配置,3,DB2,IBM DB2,是,IBM,公司开发的一套关系型数据库管理系统,主要应用于大型应用系统,具有较好的可伸缩性,可支持从大型机到单用户环境,应用于所有常见的服务器操作系统平台下。,任务一,MySQL,数据库安装与配置,(五),MySQL,数据库,MySQL,是最受欢迎的开源,SQL,数据库管理系统,是一个快速的、多线程、多用户和健壮的,SQL,数据库服务器。,MySQL,服务器支持关键任务、重负载生产系统的使用,也可以将它嵌入到一个大配置的软件中去。,任务一,MySQL,数据库安装与配置,1,MySQL,优势,与其他数据库管理系统相比,,MySQL,具有以下优势:,(,1,),MySQL,是一个关系数据库管理系统。,(,2,),MySQL,是开源的。,(,3,),MySQL,服务器是一个快速的、可靠的和易于使用的数据库服务器。,(,4,),MySQL,服务器工作在客户,/,服务器或嵌入系统中。(,5,)内部构件和可移植性。,(,6,)字段类型众多。,任务一,MySQL,数据库安装与配置,(,7,)丰富的语句和函数。,(,8,)可靠的安全性。,(,9,)良好的可伸缩性。,(,10,)连接方便。,(,11,)支持本地化。,(,12,)功能强大且使用方便的客户端和工具。,(,13,)有大量的,MySQL,软件可以使用。,任务二,MySQL,客户端使用,一、任务描述,本任务学习使用,MySQL,的客户端。,MySQL,客户端主要有,MySQL Workbench,客户端和命令行客户端,其中,Workbench,客户端为学习的重点,在后续章节中常常使用。,任务二,MySQL,客户端使用,二、任务分析,MySQL Workbench,客户端是,MySQL,数据库开发、管理和设计的集成工具,本任务主要介绍,Workbench,的登录、查看,MySQL,服务器状态、启动和关闭服务器以及在,Workbench,中使用,SQL,命令。在任务拓展中主要讲解命令行客户端的使用,命令行客户端的使用也是,MySQL,数据库的基本内容。,任务二,MySQL,客户端使用,二、任务分析,MySQL Workbench,客户端是,MySQL,数据库开发、管理和设计的集成工具,本任务主要介绍,Workbench,的登录、查看,MySQL,服务器状态、启动和关闭服务器以及在,Workbench,中使用,SQL,命令。在任务拓展中主要讲解命令行客户端的使用,命令行客户端的使用也是,MySQL,数据库的基本内容。,任务二,MySQL,客户端使用,三、基础知识,(一),MySQL,客户端,MySQL,客户端主要有两个,一个是命令窗口客户端,一个是,MySQL Workbench,(本书简称为,Workbench,)。虽然,Workbench,客户端在使用方便性上优于命令窗口客户端,但是命令窗口客户端仍是,MySQL,数据库的重要基础知识,需要掌握其使用。本书主要以,Workbench,客户端为主讲解。,任务二,MySQL,客户端使用,MySQL Workbench,为数据库管理员、程序开发者和系统规划师提供可视化的,SQL,开发、数据库建模、以及数据库管理功能。分为三个主要功能模块:,SQL Development,、,Data Modeling,、,Management,等。,Management,中的功能主要有:查看服务器状态,包括连接数量、,CPU,使用率等;开启关闭服务器实例;查看日志,包括存储日志,错误日志、通知日志等、数据库的导入导出和恢复功能。,任务二,MySQL,客户端使用,(二)命令行启动和关闭,MySQL,服务器,1,启动,可以从命令行手动启动,MySQL,服务器,启动控制台窗口并输入命令:,C,:,C:Program FilesMySQLMySQL Server 5.6binmysqld,注意:根据系统中,MySQL,安装位置的不同,前面的例子中使用的路径也不同。,任务二,MySQL,客户端使用,2,关闭,停止,MySQL,服务器的命令如下:,C,:,C:Program FilesMySQLMySQL Server 5.6binmysqladmin-u root shutdown,该命令调用,MySQL,管理工具,mysqladmin,连接服务器并告知它关闭服务。该命令使用,MySQL,数据库的,root,用户连接数据库,,root,用户是,MySQL,权限系统中的默认管理账户。,任务二,MySQL,客户端使用,2,退出,成功地连接后,可以在,mysql,提示下输入,QUIT(,或,q),随时退出:,mysql,QUIT,任务二,MySQL,客户端使用,(四),MySQL,命令,show databases,:找出在服务器上当前存在什么数据库,use*,:更换数据库,show tables,:查看现在的数据库中存在什么表;,clear,:明确当前输入语句;,exit,:退出,MySQL,;,help,:显示帮助信息;,quit,:退出,MySQL,;,source,:执行一个,SQL,脚本文件;,status,:从服务器获取,MySQL,的状态信息;,show variables,:查询,MySQL,数据库变量。,任务二,MySQL,客户端使用,(五)修改,MySQL,字符集,“,show variables like character%,”,set character_set_client=utf8;,set character_set_connection=utf8;,set character_set_database=utf8;,set character_set_results=utf8;,set character_set_server=utf8;,小,结,本章讲解了,MySQL,数据库管理系统软件的安装以及配置,详细讲解了,MySQL Workbench,客户端的使用,包括:连接数据库、启动关闭数据库、查看服务器状态、使用,SQL,语言查看数据库实例、更换当前数据库实例、查看数据库实例中的表等。,Workbench,客户端是使用,MySQL,数据库的常用工具,是后续章节学习的基础,因此必须很好地掌握。本章还讲解了命令行客户端的使用,因为其使用不方便,本书采用较少。,实验一,MySQL,的安装和操作,实验目的,1,了解,MySQL,数据库下载和安装,2,安装最新版本,MySQL,数据库软件,3,掌握数据库使用的简单常用命令,4,熟悉,Workbench,的使用,实验一,MySQL,的安装和操作,实验条件,计算机(电脑),Windows 7,操作系统,MySQL5.6,数据库,实验一,MySQL,的安装和操作,2,操作如下,SQL,语句。,(,1,),show database;,(,2,),use mysql;,(,3,),show tables;,(,4,),select*from user;,3,在客户端,Workbench,上,关闭和启动数据库。,4,使用客户端,Workbench,查看,MySQL,数据库服务器状态。,(,四,).,使用命令行客户端,进行,MySQL,数据库的基本操作。,谢谢,第二章 数据定义,本章要点,本章要点,1,了解数据库、数据表、索引和,SQL,语言的基本概念,2,掌握数据库和表定义的,SQL,语言,3,熟悉索引创建和删除的,SQL,语言,4,掌握,Workbench,中数据库、数据表和索引的创建,引言,MySQL,数据库中,数据库对象的操作有两种方式:交互式和命令式。其中交互式方式是使用,Workbench,进行操作,比如数据库操作、表的操作、数据的操作和用户管理等等都是如此,因为交互式操作一般不要基础知识,只需要学习,Workbench,工具的使用即可,因此在任务实施过程中进行讲解。命令式方式需要学生掌握,SQL,语法知识,虽然使用,Workbench,可以简化知识,但是有些时候,SQL,语法是不可替代的,比如信息系统开发编写程序时,必须编写,SQL,语句,而不能使用,Workbench,,因此,SQL,语言以及,Workbench,工具都是学习过程中必须掌握的内容。,任务一 数据库的操作,基础知识,(一),SQL,语言,1,简介,SQL,,即,StructuredQueryLanguage,(即结构化查询语言),是关系数据库的标准语言,,SQL,是一个通用的、功能极强的关系数据库语言。大多数数据库均用,SQL,作为共同的数据存取语言和标准接口,使不同数据库系统之间的互操作有了共同的基础。,SQL,可以对数据库进行任何的操作,比如:创建数据库、数据表和用户,添加和删除数据,编写数据库程序等。当前,几乎所有的关系数据库管理系统软件都支持,SQL,,许多软件厂商对,SQL,基本命令集还进行了不同程度的扩充和修改。,2,特点,MySQL,数据库,SQL,之所以能够为用户和业界接受,并成为国际标准,是因为它是一个综合的、功能极强又简洁易学的语言。,SQL,集数据查询、数据操纵、数据定义和数据控制功能于一体,主要特点包括:,(,1,)综合统一,SQL,集数据定义语言,DDL,、数据操纵语言,DML,、数据控制语言,DCL,的功能于一体,语言风格统一,可以独立完成数据库生命周期中的全部活动。,(,2,)高度非过程化,非关系数据模型的数据操纵语言是“面向过程”的语言,只要提出“做什么”,而无须指明“怎么做”。,SQL,的操作过程由系统自动完成。这不但大大减轻了用户负担,而且有利于提高数据独立性。,(,3,)面向集合的操作方式,MySQL,数据库,非关系数据模型采用的是面向记录的操作方式,操作对象是一条记录。,SQL,采用集合操作方式,不仅操作对象、查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。,(,4,)以同一种语法结构提供多种使用方式,SQL,既是独立的语言,又是嵌入式语言。作为独立的语言,可以独立地用于联机交互的使用方式;作为嵌入式语言,,SQL,语句能够嵌入到高级语言,供程序员设计程序时使用。两种不同方式下的,SQL,语法结构一致,提供了极大的灵活性与方便性。,(,5,)语言简洁,易学易用,SQL,功能极强,但由于设计巧妙,语言十分简洁,完成核心功能只用了,9,个动词。,(二),SQL,语法概述,MySQL,数据库,SQL,输入由一系列命令组成,用一个分号,;,结尾。注意:,SQL,语句结尾的分号为英文分号,中文分号则出错。在,SQL,输入里可以有注释。,1,标识符和关键字,标识符和关键字是指,SQL,语言里有固定含义的单词,根据使用它们的命令的不同,它们标识表、字段或者其它数据库对象的名字。,SQL,标识符和关键字必须是以一个字母或下划线开头,并且只能包含字母、数字或者下划线的字符串。,注意:标识符和关键字都是与大小写无关的,但是关键字用大写,而标识符名字等用小写是一种好习惯。,数据库、表、索引、列和别名是标识符,每类标识符的最大长度和允许的字符如表,2-1,所示。,MySQL,数据库,2,注释,注释有两种方式:双划线开头的单行注释;,C,风格的多行注释。,-,单行注释,/*,多行注释,*/,注释在进一步的语法分析之前被从输入流删除并有效地用空白代替。,(三)数据定义语言,MySQL,数据库,数据库系统的基本对象有数据库、表、视图和索引等。,SQL,的数据定义功能包括定义数据库、定义表、定义视图和定义索引,如图表,2-2,所示。,数据库对象数据库、视图、索引在标准,SQL,中,一般不提供修改操作,而是采用先将它们删除,然后再创建的方式实现修改的方法。,MySQL,数据库提供了数据库、视图和索引的直接修改。,四,数据库操作,1,创建数据库,创建数据库语法如下:,MySQL,数据库,mysqlCREATE DATABASE chap02;,注意:在,Unix,下,数据库名称是区分大小写的,这点不像,SQL,关键字,因此你必须总是以,chap02,访问数据库,而不能用,Chap02,、,CHAP02,或其它一些名称。对表名也是这样的。在,Windows,下,则不存在该限制,查询中,可以使用不同的大小写来引用数据库和表,但是,作为好的习惯,推荐使用与数据库和数据表创建时相同的大小写引用相关对象。,创建数据库并不表示选定并使用它,你必须明确地操作。为了使,chap02,成为当前的数据库,使用这个命令:,mysqlUSE chap02;,Database changed,数据库只需要创建一次,但是必须在每次启动,MySQL,会话时在使用前先选择它。你可以根据上面的例子执行一个,USE,语句来实现。,MySQL,数据库,2,修改数据库,(,1,)修改表名,ALTER DATABASE,数据库名,DEFAULT CHARACTERSET,编码方式,DEFAULT COLLATE,编码方式,_bin;,ALTER DATABASE,用于更改数据库的全局特性。,CHARACTERSET,子句用于更改默认的数据库字符集。,COLLATE,子句用于更改默认的数据库排序。,3,删除数据库,DROP DATABASE IF EXISTS,数据库名,DROP DATABASE,用于取消数据库中的所用表格和取消数据库。,注意:,MySQL,数据库,(,1,)使用此语句时要非常小心,(,2,),IF EXISTS,用于防止当数据库不存在时发生错误。,(,3,)也可以使用,DROP SCHEMA,。,MySQL,数据库,基础知识,(一)字段(列)类型,MySQL,支持多种列类型:数值类型、日期,/,时间类型和字符串,(,字符,),类型。,1,数值类型,MySQL,支持所有标准,SQL,数值数据类型。这些类型包括严格数值数,据,类型、近似数值数据类型。,MySQL,整数类型包括:,tinyint,、,mediumint,、,int,和,bigint,,每个整数类型的存储大小和范围如表,2-3,所示。,MySQL,数据库,任务二 表的操作,MySQL,还支持选择在该类型关键字后面的括号内指定整数值的显示宽度,例如,int(4),。,对于浮点列类型,在,MySQL,中单精度值使用,4,个字节,双精度值使用,8,个字节。,MySQL,允许使用非标准语法:,float(,M,D,),或,real(,M,D,),或,dobule(,M,D,),。这里,,“(,M,D,)”,表示该值一共显示,M,位整数,,D,表示小数位数。,decimal,和,numeric,类型在,MySQL,中视为相同的类型。,MySQL,数据库,2,日期和时间类型,表示日期和时间的类型主要有:,datetime,、,date,、,timestamp,、,time,和,year,。,MySQL,解释两位年值使用以下规则:,70-99,范围的年值转换为,1970-1999,。,00-69,范围的年值转换为,2000-2069,。,datetime,、,date,和,timestamp,类型是相关的。,datetime,类型同时包含日期和时间信息,以,YYYY-MM-DDHH:MM:SS,格式检索和显示值,支持的范围为,1000-01-0100:00:00,到,9999-12-3123:59:59,。,date,类型只需要日期值而不需要时间部分,以,YYYY-MM-DD,格式检索和显示值,支持的范围是,1000-01-01,到,9999-12-31,。,MySQL,数据库,timestamp,列类型的属性不固定,取决于,MySQL,版本和服务器运行的,SQL,模式,。,time,类型以,HH:MM:SS,格式检索和显示,值,值范围可以从,-838:59:59,到,838:59:59,。,year,类型是一个单字节类型用于表示年,以,YYYY,格式检索和显示,year,值,范围是,1901,到,2155,。,注意:,(,1,)如果试图插入一个不合法的日期,,MySQL,将给出警告或错误。,(,2,)当,MySQL,遇到一个日期或时间类型的超出范围或对于该类型不合法的值时,将该值转换为该类的,“,零,”,值。,3,String,类型,字符串类型指,char,、,varchar,、,binary,、,varbinary,、,blob,、,text,等。,MySQL,数据库,(,1,),char,和,varchar,类型,char,和,varchar,类型类似。,char,和,varchar,类型声明的长度表示你想要保存的最大字符数。例如,,char(30),可以占用,30,个字符。,char,为定长字符串,长度可以为从,0,到,255,的任何值。当保存,char,值时,在它们的右边填充空格以达到指定的长度。,varchar,为变长字符串,长度可以指定为,0,到,65,535,之间的值,,varchar,的最大有效长度由保存的字符串的值和使用的字符集确定,整体最大长度是,65,532,字节,,varchar,值保存时尾部不进行填充。,(,2,),binary,和,varbinary,类型,binary,和,varbinary,类似于,char,和,varchar,,不同的是它们包含二进制字符串而不要非二进制字符串。,MySQL,数据库,binary,和,varbinary,允许的最大长度一样,如同,char,和,varchar,,不同的是,binary,和,varbinary,的长度是字节长度而不是字符长度。,(,3,),blob,和,text,类型,blob,是一个二进制大对象,可以容纳可变数量的数据。有,4,种,blob,类型:,tinyblob,、,blob,、,mediumblob,和,longblob,。它们只是可容纳值的最大长度不同。,有,4,种,text,类型:,tinytext,、,text,、,mediumtext,和,longtext,。这些对应,4,种,blob,类型,有相同的最大长度和存储需求。,MySQL,数据库,(,4,选择正确的列类型,为了优化存储,在任何情况下均应使用最精确的类型。例如,如果列的值的范围为从,1,到,99999,,若使用整数,则,mediumint unsigned,是最好的类型。在所有可以表示该列值的类型中,该类型使用的存储最少。,使用双精度操作对,decimal,值进行计算。如果准确度不是太重要或速度为最高优先级,,double,类型即足够了。为了达到高精度,可以转换到保存在,bigint,中的定点类型。这样可以用,64,位整数进行所有计算,根据需要将结果转换回浮点值。,(二)创建表,创建数据表语法基本格式如下:,create table,if not exists,表名,(,列名 数据类型 列级完整性约束,MySQL,数据库,(列名 数据类型 列级完整性约束,表级完整性约束,);,注意:,(,1,)必须拥有表,create,权限,才能执行,create,语句。,(,2,)默认情况下,表被创建到当前的数据库中。如果表已存在,或者如果没有当前数据库,或者如果数据库不存在,则会出现错误。表名称被指定为,“,数据库名,.,表名,”,,以便在特定的数据库中创建表。不论是否有当前数据库,都可以通过这种方式创建表。,(,3,)如果表已存在,则使用关键词,if not exists,可以防止发生错误。,(三)修改表,alter table,用于更改原有表的结构。例如,您可以增加或删减列,创建或取消索引,更改原有列的类型,或重新命名列或表。您还可以更改表的评注和表的类型。,MySQL,数据库,alter tableb,表名,add,新列名数据类型完整性约束,drop,完整性约束,alter column,列名数据类型,允许进行的变更中,许多子句的语法与,create table,中的子句的语法相近。,可以在一个,alter table,语句里写入多个,add,、,alter,、,drop,和,change,子句,中间用逗号分开。,示例,2-1,:添加一个新的,timestamp,列,名称为,d,:,alter table t2 add d timestamp;,示例,2-2,:在列,d,和列,a,中添加索引:,alter table t2 addindex(d),addindex(a);,MySQL,数据库,(示例,2-3,:删除列,c,:,alter table t2 drop column c;,示例,2-4,:添加一个新的,auto_increment,整数列,名称为,c,:,alter table t2,add c intunsigned not null auto_increment,add primary key(c);,rename table tbl_name to new_tbl_name,tbl_name2 to new_tbl_name2.,(四)删除表,drop table,if exists,表名,表名,;,drop table,用于删除一个或多个表。您必须有每个表的,drop,权限。所有的表数据和表定义会被删除。,对于不存在的表,使用,if exists,用于防止错误发生。,MySQL,数据库,任务三 索引操作,基础知识,索引是数据库中用来提高查询性能的最常用工具。在,MySQL,数据库中,所有字段类型都可以建立索引,对相关字段使用索引是提高,select,操作性能的常用方法。,(一)索引类型,MySQL,索引类型包括:,1,普通索引,这是最基本的索引,它没有任何限制,由,key,或,index,定义。,2,唯一索引,唯一索引的索引列的值必须唯一,但允许有空值,由,unique,定义。,3,主键索引,它是一种特殊的唯一索引,不允许有空值。一般是在建表的时候同时创建主键索引,在第五章完整性中讲解。,MySQL,数据库,4,组合索引,组合索引也称作符合索引,是指在多列上创建的索引,不同于独立的多个单列索引。,MySQL,数据库从左到右使用组合索引中的字段列,一个查询可以只使用组合索引的一部分,但是只能是左侧部分,比如组合索引,index(a,b,c),,可以支持,(a),、,(a,b),和,(a,b,c),进行查询,但是不支持,(a,c),或,(b,c),进行查询。,(二)索引语法,索引可以在创建表时创建索引,也可以在创建表后通过修改表的方式创建索引,还可以直接创建索引。,1,创建表时创建索引,语法如下:,create table,表名,(,MySQL,数据库,字段名 数据类型,字段名 数据类型,字段名 数据类型,index|key|unique,(列名),asc|desc,),;,2,修改表时创建索引,语法如下:,alter table,表名,add index|key|unique,索引名(列名),asc|desc;,3,直接创建索引,create unique index,索引名,MySQL,数据库,on,表名,(,字段名,)asc|desc;,4,删除索引,(,1,)直接删除索引,删除索引语法:,drop index,索引名,on,表名,(,2,)修改表时删除索引,alter table,表名,drop index,索引名,;,(三)建立索引的时机,到这里我们已经学会了建立索引,那么我们需要在什么情况下建立索引呢?一般来说,在,where,和,join,中出现的列需要建立索引,但也,MySQL,数据库,不完全如此,因为,MySQL,只对,,,,,=,,,between,,,in,,以及某些时候的,like,才会使用索引。,(四)索引的不足之处,索引在提高查询效率上作用很大,但过多使用索引也会带来问题。,1,虽然索引大大提高了查询速度,同时却会降低更新表的速度,因为更新表时,,MySQL,不仅要保存数据,还要保存索引文件。,2,建立索引会占用磁盘空间的索引文件。如果你在一个大表上创建了多种组合索引,索引文件会膨胀的很快。,索引只是提高效率的一个因素,如果你的,MySQL,有大数据量的表,就需要花时间研究建立最优秀的索引,或优化查询语句。,MySQL,数据库,实验二 数据定义实验,实验目的,熟悉,MySQL,的,SQL,命令窗口和,Workbench,的使用。,掌握,SQL,的数据定义语言的使用;理解数据库对象的概念。,实验条件,计算机(电脑),Windows 7,操作系统,MySQL5.6,数据库,实验内容,1,在,MySQL,命令窗口中创建,chap2,数据库。,2,在,MySQL,命令窗口中创建,student,表,该表的结构描述如下。,MySQL,数据库,3,在,Workbench,环境下,使用,SQL,语言定义,course,表,该表的结构描述如下:,MySQL,数据库,4,在,Workbench,环境下,使用交互式方式定义,sc,表,该表的结构描述如下:,5,使用,alter table,语句修改,student,表为其增加一个,birthday,列,类型为,date,。,6,使用,create index,语句在,student,表的,sage,列上建立一个名为,age_index,的索引,要求索引为升序。,MySQL,数据库,谢谢,追求,第三章 数据更新,本章要点,本章要点,1,了解数据操作的概念,2,掌握数据插入、修改和删除操作的,SQL,语句,3.,掌握,SQL,语句在,Workbench,中的操作,引言,数据更新操作是维护数据库中数据的操作,其包含三种具体操作:插入数据、修改数据和删除数据,对应的,SQL,语句为,insert,、,update,、,delete,语句。本章内容比较简单,主要掌握,insert,、,update,、,delete,三条,SQL,语句。,任务一 数据插入,MySQL,数据库,三、基础知识,(,一)数据插入,SQL,语法,1,一条记录,insert,into,表名(属性列,1,属性列,2,),values(,值,1,值,2,);,注意:,(,1,)定义了,not null,的属性列必须赋值或有默认值,否则会报错;,(,2,)当,into,子句中属性列包含了表的所有列,则可以省略不写,此时值,1,,值,2,的顺序应该与表中属性列的原始顺序一致。,(,3,)值,1,,值,2,需要和属性列,1,,属性列,2,的类型兼容,比如如果属性列,1,是整数类型,则值,1,应该是整数或兼容类型。,2,、多条记录,insert,into,表名(属性列,1,属性列,2,),values(,值,1,值,2,),,,(,值,1,值,2,),,,(,值,1,值,2,);,新记录的属性列,1,的值为值,1,,属性列,2,的值为值,2,,以此类推。,into,子句中没有出现的属性列,新记录中在这些列上将取默认值,如果该列没有默认值则取,null,值。,MySQL,数据库,3,、插入查询结果,insert,into,表名(属性列,1,,属性列,2,,),子查询,把子查询结果插入到表中,关于查询在第四章中讲解。,MySQL,数据库,任务二 数据修改,基础知识,一)数据修改语法,update,表名,set,列名,1=,值,1,,列名,2=,值,2,where,条件,update,语法可以用新值更新原有表行中的各列。,set,子句指示修改哪些,列,和给予哪些值。,where,子句指定应更新哪些行。,注意:,(,1,)如果没有,where,子句,则更新所有的行。,(,2,)如果列设置为其当前值,则不会更新。,(二)示例,1,修改学号为,150312106,的学生性别为女。,MySQL,数据库,update student,set gender=,女,where sno=150312106;,2,修改机械学院的学生年龄为,18,。,update student,set age=18,where depart=,机械,;,3,修改王美霞同学的年龄为,22,,院系为生物。,update student,set age=22,depart=,生物,where name=,王美霞,;,MySQL,数据库,任务三 数据删除,基础知识,(一)数据插入,SQL,语法,删除语句格式为:,delete,from,表名,where,条件,delete,用于删除数据表中满足由,where,给定的条件的行,,并返回被删除的记录的数目。如果,delete,语句包括一个,order by,子句,则各行按照子句中指定的顺序进行删除。,注意:如果没有,where,子句,则所有的行都被删除。,删除所有行有一个更快的方法,即使用,truncate table,。,truncate table,表名,MySQL,数据库,(二),truncate,和,delete,的区别,truncate table,用于完全清空一个表。从逻辑上说,该语句与用于删除所有行的,delete,语句等同,但是在有些情况下,两者在使用上有所不同。,1,使用,truncate table,重新设置,auto increme
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服