数据库PPT第5章数据库的创建与管理.pptx
《数据库PPT第5章数据库的创建与管理.pptx》由会员分享,可在线阅读,更多相关《数据库PPT第5章数据库的创建与管理.pptx(137页珍藏版)》请在三一文库上搜索。
1、数据库的创建与管理第5章教学目标理解MySQL数据表的基本概念掌握数据库的创建与管理掌握表的创建、维护与修改方法掌握如何在表中添加、修改和删除数据记录掌握表的复制与删除方法5.1 数据库的创建5.1.1 创建数据库CREATE DATABASE IF NOT EXISTS 数据库名称 CHARACTER SET 字符集 COLLATE 校验规则;注意:分号是每条语句的结束标记IF NOT EXISTS:在创建online_sales_system数据库之前,首先判断数据库是否存在,若存在则不再创建,也不会报错,如果不存在则会创建该数据库;如果不做判断直接创建,若数据库已经存在,就会有错误信息提
2、示。CHARSET 字符集5.1.1 创建数据库1.数据库名:数据库名必须符合操作系统文件夹的命名规则。MySQL在Windows系统下默认不区分大小写,在Linux系统下默认区分大小写。2.CHARSET(8.0及以后等价于CHARACTER SET)用来设置数据库采用的字符集,字符集是一套字符内容与编码方式的集合。省略表示采用默认值utf8mb4。3.COLLATE用来设置数据库校对规则,校对规则指对特定字符集比较时的排序规则。省略表示采用默认值utf8mb4_0900_ai_ci。5.1 数据库的创建5.1.1 创建数据库【例5.1】用CREATE DATABASE命令创建一个数据库on
3、line_sales_system,存储引擎、字符集和校验规则采用默认值。CREATE DATABASE online_sales_system CHARSET utf8mb4 COLLATE utf8mb4_0900_ai_ci;Query OK,1 row affected(0.00 sec)的含义:语句成功运行,使用时间为0.00秒。说明SQL语句运行速度很快,不到0.01秒。5.1 数据库的创建5.1.2 管理数据库-1.显示数据库语法语法格式:格式:【例5.2】用SHOW DATABASES命令显示所有数据库;(大小写均可)SHOW DATABASES;SHOW DATABASES;
4、5.1 数据库的创建5.1.2 管理数据库-1.显示数据库1)information_schema数据库:存储了数据库的元数据(database metadata),元数据是关于MySQL服务器的信息,例如数据库或表的名称、列的数据类型或访问权限等,有时也称为数据字典(data dictionary)或系统目录(system catalog)。2)mysql数据库:提供了MySQL 服务器运行时所需信息的表,包括用于存储数据库对象元数据(database object metadata)的数据字典表,以及诸如日志系统表、时区系统表等一系列系统表。3)performance_schema数据库:
5、用于监控服务器的执行性能,并提供执行时的信息的访问。4)sys数据库:此数据库主要是利用performance_schema数据库提供的信息,生成一系列的视图、存储过程和存储函数,帮助数据库管理人员和开发者了解系统的性能。5.1 数据库的创建【例5.3】用USE命令选择数据库,选择当前数据库。USE online_sales_system;5.1.2 管理数据库-2.打开数据库语法语法格式:格式:USE 数据库名称;数据库切换成功5.1 数据库的创建【例5.4】查看网络购物数据库online_sales_system中包含的数据表等对象。SHOWTABLES;5.1.2 管理数据库-3.查看数
6、据库信息查看查看数据库对象数据库对象语法语法格式:格式:SHOW TABLES;数据库名称数据库onlin_sales_system1中包含的对象5.1 数据库的创建数据库对象包括:数据表、索引、视图、存储过程等【例5.】查看网络购物数据库online_sales_system采用的字符集。5.1.2 管理数据库-3.查看数据库信息查看字符集的语法查看字符集的语法格式:格式:SHOW VARIABLES LIKE character_set_database;5.1 数据库的创建【例5.6】查看网络购物数据库online_sales_system采用的校验规则。5.1.2 管理数据库-3.查看
7、数据库信息查看校验规则的语法查看校验规则的语法格式:格式:SHOW VARIABLES LIKE collation_database;5.1 数据库的创建【例5.7】查看网络购物数据库online_sales_system的详细信息。5.1.2 管理数据库-3.查看数据库信息查看数据库定义的详细信息的语法查看数据库定义的详细信息的语法格式:格式:SHOW CREATE DATABASE 数据库名称;SHOW CREATE DATABASE online_sales_system;5.1 数据库的创建字符集校验规则是否加密DROP DATABASE IF EXISTS online_sales
8、_system;5.1.2 管理数据库-4.删除数据库删除数据库的语法删除数据库的语法格式:格式:DROP DATABASE IF EXISTS 数据库名称;【例5.8】用DROP DATABASE命令删除online_sales_system数据库。IF EXISTS:在删除online_sales_system数据库之前,首先判断数据库是否存在,若存在则删除,否则不执行删除运算;如果不做判断直接删除,若数据库不存在,就会出现错误的提示。5.1 数据库的创建5.1.2 管理数据库-4.删除数据库【例5.9】使用DROP DATABASE语句删除数据库时,使用IF EXISTS可选项和不使用I
9、F EXISTS可选项两种情况再删除一次数据库online_sales_system。5.1 数据库的创建MySQL对象包括数据库、表、视图、索引、存储过程或存储函数等。这些对象名称统称为标识符,标识符必须符合一定规则或约定,各个DBMS的约定不完全相同。在MySQL中,数据表是数据库中最重要、最基本的操作对象,是存储数据的基本单位。如果把数据库比喻成柜子,那么表就像柜子中各种规格的抽屉。一个表就是一个关系,表实质上就是行列的集合,每一行代表一条记录,每一列代表记录的一个字段。每个表由若干行组成,表的第一行为各列标题,其余行都是数据。5.2 认识数据表1)标识符可以由当前字符集中的任何字母、汉
10、字、数字字符组成,另外,还可以包括下划线(_)和美元符号($)。但一般不建议使用汉字作为标识符。2)标识符最长为64个字符。但标识符的长度受限于所用操作系统限定的长度。3)标识符应尽可能做到“见名知义”。4)用户自己定义的标识符可以直接使用,如果标识符名与系统保留字(关键字)重名时,应该用反引号()括起来。但建议在给对象命名时,应避免和系统的保留字重名。5)操作系统中的文件系统是否大小写敏感,会影响到如何命名和引用数据库对象。如果文件系统大小写敏感(如UNIX),名字为tbl_items、TBL_items和tbl_ITEMS是三个不同的标识符。如果文件系统大小写不敏感(如Windows),那
11、么这三个名字指的是一个标识符,也就是对应一个对象。标识符的命名标识符的命名规则如下:规则如下:5.2 认识数据表1.表的名称在当前数据库中操作数据表时,表名之前的数据库名限定可以省略,只有在处理属于两个不同数据库中的数据表时,才需要用完整的数据表名。数据库名.表名完整的数据表名称应该由数据库名和表名两部分组成,其格式如下:5.2 认识数据表2.数据表MySQL的表拥有列(Column)和行(Row)。列即是字段(Field),而每一行中的各个字段的数据构成一条数据记录(Record)。数据表表的结构表的内容(数据、记录)5.2 认识数据表【例5.10】显示客户表customers的数据,了解表
12、的构成。2.数据表字段字段字段字段第一行是表的结构记录记录记录5.2 认识数据表记录3.表的结构表的结构定义即决定表拥有哪些字段以及这些字段的特性。所谓“字段特性”是指这些字段的名称、数据类型、长度、精度、小数位数、是否允许空值(NULL)、设置默认值、主码等。【例5.11】使用DESC语句查看客户表customers的表结构。5.2 认识数据表4.字段名(1)字段名最长可达64个字符。(2)字段名可包含中文、英文字母、数字、下划线符号(_)、#字符号()、$货币符号。字段名可以用中文(建议尽量不要使用中文字段名)。(3)字段名应尽可能做到“见名知义”。通过字段名称就可以知道字段表示的属性值的
13、含义,从而增强可读性。(4)同一个表中,各个字段的名称不能重复。(5)字段名不能使用MySQL语言中的关键字,如:DROP、ALTER、INSERT、CREATE等。表可以拥有多个字段,各个字段分别用来存储不同性质的数据,字段名同样必须符合MySQL的命名规则。5.2 认识数据表5.表间关系在关系数据库中,一个数据库系统一般都包含多个表,表间也会存在联系。表间联系是通过外键(外码)来实现的,也是体现了关系之间的参照完整性。主表(父表)从表(子表)主表(父表)从表(子表)从表(子表)主表(父表)5.2 认识数据表数值数据类型:包括整数类型TINYINT、SMALLINT、MEDIUMINT、IN
14、T、BIGINT,浮点小数类型FLOAT和DOUBLE,定点小数类型DECIMAL。日期/时间类型:包括YEAR、TIME、DATE、DATETIME和TIMESTAMP。字符串类型:包括CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM和SET等。二进制类型:包括BIT、BINARY、VARBINARY、TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB。MySQL提供多种数据类型,数据类型是对数据存储方式的一种约定,它能够规定数据的操作方式和存储所占空间的大小。MySQL数据库使用不同的数据类型存储数据,主要根据实际需求(数据值的内容、
15、大小、精度)来选择合适的数据类型。5.3 数据类型5.3.1 数值类型MySQL支持所有的ANSI/ISO SQL 92数字类型,包括整数和小数。其中整数用整数类型表示;小数用浮点数类型和定点数类型表示。数据类型字节数无符号数的取值范围有符号数的取值范围TINYINT10255-128127SMALLINT2065535-3276832767MEDIUMINT3016777215-83886088388607INT或INTEGER404294967295-21474836482147483647BIGINT8018446744073709551615-922337203685477580892
16、23372036854775807MySQL的整数类型表-整数类型5.3 数据类型5.3.1 数值类型整数类型注:MySQL 允许指定整数值的显示宽度,INT(M)表示该整数值最大有效显示宽度为M。例如INT(10)表示最大显示宽度为10。在MySQL8.x及以后版本不再支持设置显示宽度。显示宽度与存储大小、类型包含的值的范围无关;实际数据位数 M 时,显示完整数据。如果在定义表结构时不指定显示宽度,系统则为该字段指定默认的显示宽度。5.3 数据类型5.3.1 数值类型浮点数类型MySQL中使用浮点数和定点数表示小数;其中浮点类型有两种:单精度浮点类型FLOAT和双精度浮点类型DOUBLE;定
17、点数类型只有一种DECIMAL。用(M,D)来定义小数,其中M称为精度,表示总共的位数;D称为标度,表示小数的位数。其中M和D的取值范围是:M(1255),D(130,且不能大于M-2)数据类型字节数负数的取值范围非负数的取值范围FLOAT4-3.402823466E+38-1.175494351E-380和1.175494351E-383.402823466E+38DOUBLE8-1.7976931E+308-2.2250738E-3080和2.2250738E-3081.7976931E+308MySQL的浮点数类型表5.3 数据类型5.3.1 数值类型定点数类型定点数类型DECIMAL实
18、际是以字符串存储的。DECIMAL可能的最大取值范围与DOUBLE一样;但其有效的取值范围由M和D决定。M固定,则其取值范围将随着D的变大而变小,但精度增加;D固定,则其取值范围将随着M的变大而变大。DECIMAL的存储空间不是固定的,由M和D决定:若MD,则字节数为M+2;若DM,则字节数为D+2。数据类型字节数负数的取值范围非负数的取值范围DEC(M,D)、DECIMAL(M,D)如果MD为M+2,否则为D+2-1.7976931E+308-2.2250738E-3080和2.2250738E-3081.7976931E+308MySQL的定点数类型表5.3 数据类型5.3.1 数值类型
19、1)在能够容纳所有数据的前提下,尽可能选择最小的可用类型。例如年龄,正常的值在0到120之间,则可以使用TINYINT,这样数据占用内存少,数据处理也更简单。2)在需要表示的精度要求比较高的时候,比如货币、用于科学计算用的数据等,优先选择定点数类型DECIMAL。3)不论定点类型还是浮点类型,如果用户指定的精度值超过系统定义的精度范围,则会进行四舍五入。4)因为浮点数存在误差,也尽量避免两个数值相近的浮点数进行大小比较。在创建表时,数字类型的选择应遵循一下原则:5.3 数据类型5.3.2 日期时间类型MySQL支持5种日期类型:包括YEAR、DATE、TIME、DATETIME和TIMESTA
20、MP。日期时间类型字节数范围格式用途DATE41000-01-019999-12-31YYYY-MM-DD日期值TIME3-838:59:59838:59:59HH:MM:SS时间值YEAR119012155YYYY年份值DATETIME81000-01-01 00:00:009999-12-31 23:59:59YYYY-MM-DDHH:MM:SS混合日期和时间值TIMESTAMP4197001010800012038年的某一时刻YYYYMMDDHHMMSS时间戳5.3 数据类型5.3.2 日期时间类型(1)DATE类型的字段一般使用函数CURRENT_DATE()或NOW()插入计算机系统
21、的当前日期;(2)在给DATETIME类型的字段赋值时,可以使用字符串类型或者数值类型,只需符合DATETIME格式;(3)DATETIME和TIMESTAMP的显示格式相同,显示宽度为19个字符;但TIMESTAMP的取值范围小;(4)DATETIME按实际输入的格式存储,和时区无关;(5)TIMESTAMP是以UTC(世界标准时间)格式存储,在进行查询时,根据读者所在时区不同,显示的日期时间值是不同的。形式上,日期类型的表示方法与字符串的表示方法相同,使用单引号括起来;本质上,日期类型的数据是一个数值类型,可以参与简单的加、减运算;每种日期类型都有取值范围,当插入不合法的值时,系统会将“0
22、”插入该字段。5.3 数据类型5.3.3 字符串类型MySQL支持2种字符串类型:文本字符串和二进制字符串。字符串类型指的是CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM和SET。字符串类型的数据又可以分为普通的文本字符串类型(CHAR和VARCHAR)、可变类型(TEXT和BLOB)和特殊类型(SET和ENUM)VARCHAR和TEXT类型是变长类型,它们的存储需求取决于值的实际长度,而不是取决于类型的最大可能程度。例如。一个VARCHAR(10)字段能保存最大长度为10个字符的一个字符串,实际的存储需求是字符串的长度加上1个字节来记录字符串的长度。
23、例如,字符串welcome,字符个数是7而存储需求是8个字节。5.3 数据类型5.3.3 字符串类型字符串类型大小用途字符串类型大小用途CHAR0255B定长字符串VARCHAR0255B变长字符串TINYBLOB0255B不超过255个字符的二进制字符串YINYTEXT0255B短文本字符串BLOB065535B二进制的长文本数据TEXT065535B长文本数据MEDIUMBLOB016777215B二进制形式的中等长度文本数据MEDIUMTEXT016777215B中等长度文本数据LONGBLOB04294967295B二进制形式的极大文本数据LONGTEXT04294967295B极大文
24、本数据5.3 数据类型5.3.3 字符串类型(1)CHAR和VARCHAR类型 CHAR(M)为固定长度字符串,M表示该字段中存储的字符串长度,取值范围在0255,输入的字符串长度不足M时,右侧用空格填满,当查询到CHAR的值时,尾部的空格被删除。VARCHAR(M)为长度可变的字符串,M表示最大的字符串长度,取值范围在65535,VARCHAR的最大实际长度由最长字段的大小和使用的字符集确定。例如:VARCHAR(50)定义一个最长为50的字符串,如果输入的字符串只有20个字符,那么实际存储的字符串的长度为21,20个字符+一个字符串结束符。VARCHAR在值存储和查询时尾部的空格仍保留。5
25、.3 数据类型5.3.3 字符串类型(2)TEXT类型 TEXT字段保存非二进制字符串,如文章内容、评论、留言等,当保存或查询TEXT字段值时,不删除尾部空格。TEXT类型分为4种:TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT。不同的TEXT类型所需的存储空间和数据长度都有所不同。5.3 数据类型5.3.4 二进制类型MySQL支持7种二进制类型:BINARY、VARBINARY、BIT、TINYBLOB、BLOB、MEDIUBLOB、LONGBLOB。二进制类型的主要用于存储由0、1组成的字符串,从某种意义上讲,二进制类型的数据是一种特殊格式的字符串。二进制类型与字符型
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库PPT第5章 数据库的创建与管理 数据库 PPT 创建 管理
链接地址:https://www.31doc.com/p-21712395.html