单元3 数据库和表的创建与管理
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
BLOB和 TEXT类型
BLOB:二进制字符串(字节字符串)。BLOB列没有字符集,并且排序和 比较基于列值字节的数值值。这种类型数据用于存储声音、视频、图 像等数据。 例如,图书数据处理中的图书封面、会员照片可以设定成为blob类 型。 TEXT:非二进制字符串(字符字符串)。TEXT列有一个字符集,并且根 据字符集的校对规则对值进行排序和比较。在实际应用中像个人履历、 奖惩情况、职业说明、内容简介等设定为text的数据类型。 例如,图书数据处理中的内容简介可以设定为text类型。 BLOB和TEXT列不能有 默认值。 BLOB或TEXT对象的最大大小由其类型确定,但在客户端和服务器之间 实际可以传递的最大值由可用内存数量和通信缓存区大小确定。你可 以通过更改max_allowed_packet变量的值更改消息缓存区的大小,但 必须同时修改服务器和客户端程序。
ISBN7301063423/tp.0731
网页编程技术
2008-10-01
54.15
33.23
23
31
数据库应用技术 2007-06-10
图书目录表的表结构分析
字段名 字段值的 表示方法 数据类型 图书编号 用20个字 符编号 Char(20) 书名 用40个字 符表示 Varchar(40 ) 出版时间 yyyy-mm-dd 表示 date 单价 用带有2位小数 的5位数字表示 Float(5) 数量 用5位整 数表示 Int(5) …
数 据 表
数据库
视 图
存 储 过 程
DELIMITER $$ CREATE PROCEDURE DELETE_STUD ENT(IN XH CHAR(6)) BEGIN
创建数据库
创建数据库
MySQL安装后,系统自动地创建information_scema和MySQL数据 库,MySQL把有关数据库的信息存储在这两个数据库中。如果删除了这 些数据库,MySQL就不能正常工作。 对于用户的数据,需要创建新的数据库来存放。
字符串类型-VARCHAR
VARCHAR: 列中的值为可变长字符串。长度可以指定为0到65,535之间的值。 (VARCHAR的最大有效长度由最大行大小和使用的字符集确定。整体最 大长度是65,532字节)。同CHAR对比,VARCHAR值保存时只保存需要 的字符数。 例如,在学生情况表中,如果设定“name varchar(8)”,可以做 赋值引用即:name=`张三`,这里姓名的值包括5个字符,其中2个 汉字(按照4个字符处理)和1个空格。name右侧只有一个空格占位。
单元三
数据库和表的创建与管理
项目知识要点与目标
项目知识要点
3.1任务1 创建与管理数据库 3.1.1 创建数据库 3.1.2 管理数据库 3.2 任务2 创建与管理数据库表 3.2.1 创建数据库表 3.2.2管理数据库表 3.3 任务3 图形界面工具创建数据库和表 3.3.1图形界面工具简介 3.3.2图形界面工具创建数据库 3.4 综合实例建立Petstore数据库表 3.4.1 Petstore数据库表结构分析 3.4.2 创建Petstore数据库与表 项目实训三
CREATE DATABASE Bookstore DEFAULT CHARACTER SET gb2312 COLLATE gb2312_chinese_ci;
ຫໍສະໝຸດ Baidu 修改数据库
数据库创建后,如果需要修改数据库的参数,可以使用ALTER DATABASE命令。 语法格式: ALTER {DATABASE | SCHEMA} [数据库名] [[DEFAULT] CHARACTER SET 字符集名 | [DEFAULT] COLLATE 校对规则名]
【例3.3】 修改数据库Pet的默认字符集为latin1,校对规则为 latin1_swedish_ci。 ALTER DATABASE Pet DEFAULT CHARACTER SET latin1 DEFAULT COLLATE latin1_swedish_ci;
删除和显示数据库
已经创建的数据库需要删除,使用DROP DATABASE命令。 语法格式: DROP DATABASE [IF EXISTS] 数据库名 修改数据库test2命令如下: DROP DATABASE test2;
MySQL数据库模型
在数据库服务器中可以存储多个数据库文 件,所以建立数据库时要设定数据库的文 件名,每个数据库有惟一的数据库文件名 作为与其它数据库区别的标识。
数据库文件: 数据库是由相关数据表组成, 一个数据库包括多个数据表。数据库文件 用于记录数据库中数据表构成的信息。 数据库只能由得到授权的用户访问,这样 保证了数据库的安全。
创建数据库时使用IF NOT EXISTS
如果在服务器已有 test1数据库的情况下,再创建一个名为test1的 数据库。 因为MySQL不允许两个数据库使用相同的名字,所以会出错。
使用IF NOT EXISTS从句可以不显示错误信息,例如: create database IF NOT EXISTS test1;
语法格式: CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] 数据库名 [ [DEFAULT] CHARACTER SET 字符集名 | [DEFAULT] COLLATE 校对规则名] 说明:语句中“[ ]”内为可选项。 { | }表示二选一。
命令行方式创建数据库
为了表达问题简单,在以后的示例中单独描述命令而不需要界面结 果时,在命令前省略“mysql>”提示符。 注意:在MySQL中,每一条SQL语句都以“;”作为结束标志。
打开数据库
因为MySQL服务器中有多个数据库,可以使用USE命令可指定当前数 据库。 语法格式: USE db_name; 说明:这个语句也可以用来从一个数据库“跳转”到另一个数据库, 在用CREATE DATABASE语句创建了数据库之后,该数据库不会自动成为当 前数据库,需要用这条USE语句来指定。 【例】将数据库test1设置为当前数据库。 Use test1
MySQL服务器
成绩数据库 xscj 网络图书库 bookstore 雇员管理库 bookstore
……….库
数据库和表
数据库可以看成是一个存储数据对象的容器,这些数据对象包括表、 视图、触发器、存储过程等,其中,表是最基本的数据对象,用以存 放数据库的数据的。
必须首先创建数据库,然后 才能创建数据库的数据对象。 MySQL可以采用两种方式 创建、操作数据库和数据对 象 (1)命令行方式 (2)图形界面工具方式
use命令后直接跟数据库名,然后按下回车键即完成设定过程
使用这个命令之后,所有SQL命令都会应用于该数据库,这是几个少 数不需要分号结尾的命令。
MySQL中的字符集和校对规则
字符集是一套符号和编码。校对 规则是在字符集内用于比较字符 的一套规则。 ASCII字符集中四个字母:„A‟、 „B‟、„a‟、„b‟,每个字母赋予一个 数值:„A‟=65,„B‟= 66,„a‟= 113, „b‟= 114。字母„A‟是一个符号, 数字65是„A‟的编码,字母和它们 的编码组合在一起是一个字符集。 假设我们希望比较两个字符串的 值:„A‟和„b‟。比较的最简单的方 法是查找编码:„A‟为65,„b‟为 114。因为65 小于114,我们可以 说„A‟小于„b‟。我们做的仅仅是在 我们的字符集上应用了一个校对 规则。
ASCII 码字符集:使用7 位二进制数来表示所有的大写和小写字母, 数字0 到9、标点符号, 以及在美式英语中使用的特殊控制字符 GB2312是中国国家标准的简体中文字符集。 GB2312收录简化汉字及 一般符号、序号、数字、拉丁字母、日文假名、希腊字母、俄文字母、 汉语拼音符号、汉语注音字母,共 7445 个图形字符。 【例3.2】 创建一个名为Bookstore的数据库,采用字符集gb2312和校 对规则gb2312_chinese_ci。
日期和时间类型
(3)日期和时间类型 date:表示日期,输入数据的格式是:yyyy-mm-dd。支持的范围是 '1000-01-01'到 '9999-12-31'。 time:表示时间,输入数据的格式是:hh:mm:ss。TIME值的范围可以 从'-838:59:59'到'838:59:59'。小时部分会因此大的原因是TIME类 型不仅可以用于表示一天的时间(必须小于24小时),还可能为某个事 件过去的时间或两个事件之间的时间间隔(可以大于24小时,或者甚 至为负)。 datetime: 表示日期时间,格式是:yyyy-mm-dd hh:mm:ss。支持的 范围为'1000-01-01 00:00:00'到'9999-12-31 23:59:59'。 例如,在图书销售信息管理中注册时间、订购时间可以设定成为 datetime类型。
显示服务器中已建立的数据库, 使用SHOW DATABASES命令。 语法格式: SHOW DATABASES;
任务二 数据库表的操作
图书编号 ISBN7115126836/tp.4235 书名 出版时间 单价 23.50 数量 12 …
跟我学网页设计 2009-09-10
ISBN730205701x/tp.3361
MySQL字符集和校对规则应用
MySQL支持30多种字符集的70多种校对规则。在同一台服务器、 同一个数据库或甚至在同一个表中使用不同字符集或校对规则来混合 字符串。
两个不同的字符集不能有相同的校对规则。 每个字符集有一个默认校对规则。 例如,latin1默认校对规则是latin1_swedish_ci,而gb2312默认校对规则 是gb2312_chinese_ci。
字符串类型-CHAR
(2)字符串类型: 字符串类型的数据主要是由字母、汉字、数字符号、特殊符号构 成的数据对象。按照字符个数多少的不同分为以下几类: CHAR: 列的长度固定为创建表时声明的长度。长度可以为从0到255的任 何值。当保存CHAR值时,在它们的右边填充空格以达到指定的长度。 例如,在学生情况表中,如果设定“name char(8)”,表示“name” 是8个字符长度的字符串,可以做赋值引用即:name=`张三`,这里 name的值包括8个字符,其中2个汉字(按照4个字符处理)和4个空格。 name右侧会有若干个空格占位。这样浪费了磁盘的存储空间。
数据类型
(1)数值类型
MySQL支持所有标准SQL数值数据类型。 严格数值数据类型: INTEGER或INT,SMALLINT,DECIMAL 或DEC,NUMERIC 近似数值数据类型: FLOAT,REAL, PRECISION MySQL支持选择在该类型关键字后面的括号内指定整数值的显示宽度 (例如,INT(4))。 对于浮点列类型,在MySQL中单精度值使用4个字节,双精度值使用8 个字节。 MySQL允许使用FLOAT(M,D)或REAL(M,D)或DOUBLE PRECISION(M,D)格 式。“(M,D)”表示该值一共显示M位整数,其中D位位于小数点后面。 例如,定义为FLOAT(7,4)的一个列可以显示为-999.9999。MySQL保存 值时进行四舍五入,因此如果在FLOAT(7,4)列内插入999.00009,近 似结果是999.0001。
在SQL语言创建数据库命令create database中,如果省略语句 中“[ ]”中的所有可选项,其结构形式如下:
mysql>create database name;
name表示被创建数据库名,数据库名必须符合以下规则:
– 数据库名必须唯一; – 名称内不能含有“/”及“.”等非法字符; – 最大不能超过64字节。 【例3.1】 创建一个名为Bookstore的数据库。 CREATE DATABASE Bookstore;
学时
2
2
任务一 创建与管理数据库
数据的物理模型:即指数据的存储结构,如对数据库物理文件、索引 文件的组织方式、文件的存取路径,内存的管理,等。物理模型不仅 与数据库管理系统有关,还和操作系统甚至硬件有关,物理模型对用 户是不可见的。
按关系模型组织的数据表达方式简洁、直观,插入、删除、修改操作 方便,而按层次、网状模型组织的数据表达方式复杂,插入、删除、 修改操作复杂。因此,关系模型得到了广泛应用,MySQL是一个典型 的支持关系数据模型的数据库管理系统。
知识能力目标
【情境】:创建Petstore数 据库 【职业岗位】:数据库管理 员、程序员 【典型工作任务】:学会创 建与管理数据库 【技能要求】: 1、学会命令行方式创建与 管理数据库 2、学会图形界面创建与管 理数据库 【知识要求】: 1、数据库结构 2、数据库操作的SQL语句 创建“员工管理系统”数据 库