第三章MySql学生第一次课时,将笔记本带到课堂---演示软件安装概述学习目标:–掌握Word文档的建立、编辑、格式化、保存、输出的基本操作–熟悉Word模板的使用–掌握Word表格的相关操作图形–了解在Word中处理图片、图形的方法–了解样式、域的基本使用第三章主要内容8.1数据库8.2SQL语句3.33.4输入文本内容——“插入”菜单3.5修改内容——“编辑”菜单3.6文档排版——“格式”菜单3.7Word对象的创建与设置3.8表格——“表格”菜单3.9打印输出3.10综合实例3.1数据库3.1.1数据库概念3.1.2安装MYSQL数据库3.1.3MySQL服务器启动与客户端的登录3.1.1数据库概念(了解)数据库就是用来存储和管理数据的仓库!数据库存储数据的优先:可存储大量数据;方便检索;保持数据的一致性、完整性;安全,可共享;通过组合分析,可产生新数据。数据库的发展历程没有数据库,使用磁盘文件存储数据;层次结构模型数据库;网状结构模型数据库;关系结构模型数据库:使用二维表格来存储数据;关系-对象模型数据库;注意:MySQL就是关系型数据库!Java---面向对象;数据库---面向关系;二者之间有一个映射。常见数据库Oracle:市场使用率最高!业界霸主;(1)“神喻”---国外应用的名字;(2)甲骨文---在中国注册的名字。DB2:IBM;SQLServer:微软;(课堂上,.net平台使用自己的东西)Sybase:赛尔斯;MySQL:甲骨文;(起始时免费,新版本也开始收费,目前用的5.5版本还是免费的)理解数据库我们现在所说的数据库泛指“关系型数据库管理系统(RDBMS-Relationaldatabasemanagementsystem)”,即“数据库服务器”。理解数据库当我们安装了数据库服务器后,就可以在数据库服务器中创建数据库,每个数据库中还可以包含多张表。理解数据库数据库表就是一个多行多列的表格。在创建表时,需要指定表的列数,以及列名称,列类型等信息。而不用指定表格的行数,行数是没有上限的。下面是tab_student表的结构:理解数据库当把表格创建好了之后,就可以向表格中添加数据了。向表格添加数据是以行为单位的!下面是s_student表的记录:注意:大家要学会区分什么是表结构,什么是表记录。应用程序与数据库应用程序使用数据库完成对数据的存储!应用程序与数据库(1)数据库和应用程序(如Java)不在同一台机器上,远程访问数据库。例如家(应用程序)和仓库(专门存放数据的,数据库)在两个地点。讲课时,为了方便数据库和应用程序是在同一台机器上的。(2)数据库和应用程序离得很远。远程数据库。如家和仓库离得很远。3.1.2安装MySQL数据库1、安装MySQL2、MySQL目录结构安装MySQL安装参考:MySQL安装图解.doc校验安装:MySQL安装图解.doc重点内容:开启关闭服务器以及登录退出客户端。卸载方法:MySQL安装图解.docMySQL目录结构参见:MySQL安装目录介绍.doc3.1.3MySQL服务器启动与客户端的登录服务器操作开启服务器(必须保证mysql为windows服务):两种方法。验证方法:查看进程表中是否存在:mysqld.exe进程(存在)客户登操作开始---运行---cmd1.登录服务器:mysql-uroot-p123-hlocalhost-u:后面跟随用户名-p:后面跟随密码-h:后面跟随IP,可以省略,也可以为-hlocalhost或者-h127.0.0.1,表示本机IP验证方法:查看进程表中是否存在:mysql.exe进程(存在)2.退出服务器:exit或quit8.2SQL语句8.2.1SQL概述8.2.2SQL分类8.2.3DDL(用的不太多)8.2.4DML(用的多)8.2.5DCL(用的很少)8.2.6DQL(用的多)SQL概述SQL(StructuredQueryLanguage)是“结构化查询语言”,它是对关系型数据库的操作语言。它可以应用到所有关系型数据库中,例如:MySQL、Oracle、SQLServer等。通俗地讲,SQL语言用于服务器端与客户端对话使用。即客户端使用SQL来操作服务器。启动mysql.exe,连接服务器后,就可以使用sql来操作服务器了。将来会使用Java程序连接服务器,然后使用sql来操作服务器。SQL概述SQL标准(例如SQL99,即1999年制定的标准,不断升级版本):由国际标准化组织(ISO)制定的,对DBMS的统一操作方式(例如相同的语句可以操作:mysql、oracle、SQLServer等,即这些数据库通用该语言)。SQL方言虽然SQL可以用在所有关系型数据库中,但很多数据库还会有一些自己独有的语法,这就称之为方言!例如limit语句只在MySQL中可以使用,其它数据库都不支持!当然,Oracle或SQLServer都有自己的方言。SQL概述语法要求SQL语句可以单行或多行书写,以分号结尾(注意:不同的使用环境对是否具有分号的要求也不同);可以用空格和缩进来来增强语句的可读性;关键字不区别大小写,建议使用大写;如:SELECT*FROMbook;SQL语句分类1.DDL(DataDefinitionLanguage):数据定义语言,用来定义数据库对象:库、表、列等;创建、删除、修改:库、表结构!!!2.DML(DataManipulationLanguage):数据操作语言,用来定义数据库记录(数据);增、删、改:表记录3.DCL(DataControlLanguage):数据控制语言,用来定义访问权限和安全级别;4.DQL*****(DataQueryLanguage):数据查询语言,用来查询记录(数据)。本质上属于2的一部分。ddl:数据库或表的结构操作(重点)dml:对表的记录进行更新(增、删、改)(重点)dql:对表的记录的查询(重点,难点)dcl:对用户的创建,及授权!(尽量不用使用root,创建其他普通用户并使用)DDL知识---数据库操作1.数据库操作查看所有数据库:SHOWDATABASES;切换(选择要操作的)数据库:USE数据库名;创建数据库:CREATEDATABASE[IFNOTEXISTS]mydb1[CHARSET=utf8]创建数据库,例如:CREATEDATABASEmydb1;,创建一个名为mydb1的数据库。如果这个数据已经存在,那么会报错。例如CREATEDATABASEIFNOTEXISTSmydb1,在名为mydb1的数据库不存在时创建该库,这样可以避免报错。“CHARSET=utf8”选项可以省略,因为在安装MySql时,已经指定了符号集。如果不指定字符集,则默认使用utf8。DDL知识1.数据库操作删除数据库:DROPDATABASE[IFEXISTS]mydb1删除数据库,例如:DROPDATABASEmydb1;,删除名为mydb1的数据库。如果这个数据库不存在,那么会报错。DROPDATABASEIFEXISTSmydb1,就算mydb1不存在,也不会的报错。修改数据库编码:ALTERDATABASEmydb1CHARACTERSETutf8;修改数据库mydb1的编码为utf8。注意,在MySQL中所有的UTF-8编码都不能使用中间的“-”,即UTF-8要书写为UTF8。DDL知识(软件SQLyog)---数据类型2.数据类型(参见“MySQL数据类型.doc”,MySQL中数据类型后面括号内的数字通常表示实际数据的位数)MySQL与Java一样,也有数据类型。MySQL中数据类型主要应用在列上。int:整型double:浮点型,例如double(5,2)表示最多5位,其中必须有2位小数,即最大值为999.99;decimal:浮点型,在表示钱方面使用该类型,因为不会出现精度缺失问题;DDL知识2.数据类型char:固定长度字符串类型;char(255),数据的长度不足指定长度,补足到指定长度!如char(4),当数据长度为2时,会在后面添加2个空格补位。注意:255表示字符串的长度或者255Byte,此时一个字符便为一个Byte。适合于身份证号码、时间等固定长度场合的表示。varchar:可变长度字符串类型;varchar(65535),数据的长度不足指定长度,不补足到指定长度!如zhangSan。缺点:需要使用一个字节用来记录长度。当数据长度大于255时,记录长度就需要2个字节了。DDL知识text(对应“标准”里的clob类型):字符串类型;MySQL独有的类型。很小---tinytext小---text中---mediumtext大---longtext,存储一本小说blob:字节类型;很小---tinyblob小---blob中---mediumblob大---longblobdate:日期类型,格式为:yyyy-MM-dd;time:时间类型,格式为:hh:mm:sstimestamp:时间戳类型;包含时间和日期。DDL知识---表的操作1、创建表语法如下:CREATE[IFNOTEXISTS]TABLE表名(列名列类型,列名列类型,......列名列类型);DDL知识---表的操作1、创建表例如,创建如下表:CREATETABLEstu(sidCHAR(6),snameVARCHAR(20),ageINT,genderVARCHAR(10));表的字段名称:学号、姓名、年龄和性别。DDL知识---表的操作又如,创建如下表(雇工表):CREATETABLEemp(eidCHAR(6),enameVARCHAR(50),ageINT,genderVARCHAR(6),birthdayDATE,hiredateDATE,salaryDECIMAL(7,2),resumeVARCHAR(1000));表的字段名称:工号、姓名、年龄、性别、生日、雇用日期、薪水、个人简历。DDL知识---表的操作2、查看当前数据库中所有表名称:SHOWTABLES;3、查看指定表的创建语句:SHOWCREATETABLE表名(了解);如:SHOWCREATETABLEemp;,查看emp表的创建语句;4、查看表结构:DESC表名;如:DESCemp;,查看emp表结构;5、删除表:DROPTABLE表名;如:DROPTABLEemp;,删除emp表;DDL知识---表的操作6、修改表:前缀:ALTERTABLE表名修改之添加列:ALTERTABLE表名ADD(列名列类型,列名列类型,...列名列类型);如:给stu表添加classname列:ALTERTABLEstuADD(classnamevarchar(100));DDL知识---表的操作6、修改表:修改之修改列类型(如果被修改的列已存在数据,那么新的类型可能会影响到已存在数据),语法如下:ALTERTABLE表名MODIFY列名列类型;如:修改stu表的gender列类型为CHAR(2):ALTERTABLEstuMODIFYgenderCHAR(2);DDL知识---表的操作6、修改表:修改之修改列名,语法如下:ALTERTABLE表名CHANGE原列名新列名列类型;如:修改stu表的gender列名为sex:ALTERTABLEstuchangegendersexCHAR(10);DDL知识---表的操作6、修改表:修改之删除列,语法如下:ALTERTABLE表名DROP列名;如:删除stu表的classname列:ALTERTABLEstuDROPclassname;DDL知识---表的操作6、修改表修改表名称,语法如下:ALTERTABLE原表名RENAMETO新表名;如:修改stu表名称为student:ALT