MySQL课件:-数据库和表的创建与管理.ppt

上传人:豆**** 文档编号:24778202 上传时间:2022-07-07 格式:PPT 页数:37 大小:1.02MB
返回 下载 相关 举报
MySQL课件:-数据库和表的创建与管理.ppt_第1页
第1页 / 共37页
MySQL课件:-数据库和表的创建与管理.ppt_第2页
第2页 / 共37页
点击查看更多>>
资源描述

《MySQL课件:-数据库和表的创建与管理.ppt》由会员分享,可在线阅读,更多相关《MySQL课件:-数据库和表的创建与管理.ppt(37页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、项目知识要点与目标任务一 创建与管理数据库数据的物理模型:即指数据的存储结构,如对数据库物理文件、索引文件的组织方式、文件的存取路径,内存的管理,等。物理模型不仅与数据库管理系统有关,还和操作系统甚至硬件有关,物理模型对用户是不可见的。按关系模型组织的数据表达方式简洁、直观,插入、删除、修改操作方便,而按层次、网状模型组织的数据表达方式复杂,插入、删除、修改操作复杂。因此,关系模型得到了广泛应用,MySQL是一个典型的支持关系数据模型的数据库管理系统。MySQL数据库模型在数据库服务器中可以存储多个数据库文件,所以建立数据库时要设定数据库的文件名,每个数据库有惟一的数据库文件名作为与其它数据库

2、区别的标识。数据库文件: 数据库是由相关数据表组成,一个数据库包括多个数据表。数据库文件用于记录数据库中数据表构成的信息。数据库只能由得到授权的用户访问,这样保证了数据库的安全。成绩数据库xscj网络图书库bookstore雇员管理库bookstore.库MySQL服务器服务器数据库数据库数据库可以看成是一个存储数据对象的容器,这些数据对象包括表、视图、触发器、存储过程等,其中,表是最基本的数据对象,用以存放数据库的数据的。必须首先创建数据库,然后必须首先创建数据库,然后才能创建数据库的数据对象。才能创建数据库的数据对象。 MySQL MySQL可以采用两种方式可以采用两种方式创建、操作数据库

3、和数据对创建、操作数据库和数据对象象(1 1)命令行方式)命令行方式(2 2)图形界面工具方式)图形界面工具方式数据表视图存储过程DELIMITER $CREATE PROCEDURE DELETE_STUDENT(IN XH CHAR(6)BEGIN 创建数据库 MySQL安装后,系统自动地创建information_scema和MySQL数据库,MySQL把有关数据库的信息存储在这两个数据库中。如果删除了这些数据库,MySQL就不能正常工作。 对于用户的数据,需要创建新的数据库来存放。 语法格式: CREATE DATABASE | SCHEMA IF NOT EXISTS 数据库名 DE

4、FAULT CHARACTER SET 字符集名 | DEFAULT COLLATE 校对规则名说明:语句中“ ”内为可选项。 | 表示二选一。创建数据库创建数据库 命令行方式创建数据库 在SQL语言创建数据库命令create database中,如果省略语句中“ ”中的所有可选项,其结构形式如下: mysqlcreate database name; name表示被创建数据库名,数据库名必须符合以下规则: 数据库名必须唯一;数据库名必须唯一; 名称内不能含有名称内不能含有“/ /”及及“. .”等非法字符;等非法字符; 最大不能超过最大不能超过6464字节。字节。【例例3.13.1】 创建一

5、个名为创建一个名为BookstoreBookstore的数据库。的数据库。 CREATE DATABASE Bookstore; CREATE DATABASE Bookstore; 创建数据库时使用IF NOT EXISTS如果在服务器已有如果在服务器已有 test1 test1数据库的情况下,再创建一个名为数据库的情况下,再创建一个名为test1test1的的数据库。数据库。因为因为MySQLMySQL不允许两个数据库使用相同的名字,所以会出错。不允许两个数据库使用相同的名字,所以会出错。使用使用IF NOT EXISTSIF NOT EXISTS从句可以不显示错误信息,例如:从句可以不显

6、示错误信息,例如:create database create database IF NOT EXISTS IF NOT EXISTS test1;test1;为了表达问题简单,在以后的示例中单独描述命令而不需要界面结为了表达问题简单,在以后的示例中单独描述命令而不需要界面结果时,在命令前省略果时,在命令前省略“mysqlmysql”提示符。提示符。注意:在注意:在MySQLMySQL中,每一条中,每一条SQLSQL语句都以语句都以“; ;”作为结束标志。作为结束标志。因为因为MySQLMySQL服务器中有多个数据库,可以使用服务器中有多个数据库,可以使用USEUSE命令可指定当前数命令可指

7、定当前数据库。据库。 语法格式:语法格式: USEUSE db_namedb_name; ;说明:这个语句也可以用来从一个数据库说明:这个语句也可以用来从一个数据库“跳转跳转”到另一个数据库,到另一个数据库,在用在用CREATE DATABASECREATE DATABASE语句创建了数据库之后,该数据库不会自动成为当语句创建了数据库之后,该数据库不会自动成为当前数据库,需要用这条前数据库,需要用这条USEUSE语句来指定。语句来指定。【例例】将数据库将数据库test1test1设置为当前数据库。设置为当前数据库。 Use test1Use test1useuse命令后直接跟数据库名,然后按下

8、回车键即完成设定过程命令后直接跟数据库名,然后按下回车键即完成设定过程使用这个命令之后,所有使用这个命令之后,所有SQLSQL命令都会应用于该数据库,这是几个命令都会应用于该数据库,这是几个少少数不需要分号结尾数不需要分号结尾的命令。的命令。MySQL中的字符集和校对规则字符集是一套符号和编码。校对规则是在字符集内用于比较字符的一套规则。ASCII字符集中四个字母:A、B、a、b,每个字母赋予一个数值:A=65,B= 66,a= 113,b= 114。字母A是一个符号,数字65是A的编码,字母和它们的编码组合在一起是一个字符集。假设我们希望比较两个字符串的值:A和b。比较的最简单的方法是查找编

9、码:A为65,b为114。因为65 小于114,我们可以说A小于b。我们做的仅仅是在我们的字符集上应用了一个校对规则。 MySQL支持30多种字符集的70多种校对规则。在同一台服务器、同一个数据库或甚至在同一个表中使用不同字符集或校对规则来混合字符串。 两个不同的字符集不能有相同的校对规则。 每个字符集有一个默认校对规则。 例如,latin1默认校对规则是latin1_swedish_ci,而gb2312默认校对规则是gb2312_chinese_ci。ASCII 码字符集:使用7 位二进制数来表示所有的大写和小写字母,数字0 到9、标点符号, 以及在美式英语中使用的特殊控制字符GB2312是

10、中国国家标准的简体中文字符集。 GB2312收录简化汉字及一般符号、序号、数字、拉丁字母、日文假名、希腊字母、俄文字母、汉语拼音符号、汉语注音字母,共 7445 个图形字符。【例3.2】 创建一个名为Bookstore的数据库,采用字符集gb2312和校对规则gb2312_chinese_ci。CREATE DATABASE Bookstore DEFAULT CHARACTER SET gb2312 COLLATE gb2312_chinese_ci; 数据库创建后,如果需要修改数据库的参数,可以使用ALTER DATABASE命令。 语法格式: ALTER DATABASE | SCHEM

11、A 数据库名 DEFAULT CHARACTER SET 字符集名 | DEFAULT COLLATE 校对规则名 【例3.3】 修改数据库Pet的默认字符集为latin1,校对规则为latin1_swedish_ci。ALTER DATABASE PetDEFAULT CHARACTER SET latin1DEFAULT COLLATE latin1_swedish_ci; 已经创建的数据库需要删除,使用DROP DATABASE命令。 语法格式: DROP DATABASE IF EXISTS 数据库名 修改数据库test2命令如下: DROP DATABASE test2;显示服务器中

12、已建立的数据库, 使用SHOW DATABASES命令。 语法格式: SHOW DATABASES; 图书目录表的表结构分析图书目录表的表结构分析(1)数值类型 MySQL支持所有标准SQL数值数据类型。 严格数值数据类型: INTEGER或INT,SMALLINT,DECIMAL 或DEC,NUMERIC 近似数值数据类型: FLOAT,REAL, PRECISIONMySQL支持选择在该类型关键字后面的括号内指定整数值的显示宽度(例如,INT(4)。对于浮点列类型,在MySQL中单精度值使用4个字节,双精度值使用8个字节。MySQL允许使用FLOAT(M,D)或REAL(M,D)或DOUB

13、LE PRECISION(M,D)格式。“(M,D)”表示该值一共显示M位整数,其中D位位于小数点后面。例如,定义为FLOAT(7,4)的一个列可以显示为-999.9999。MySQL保存值时进行四舍五入,因此如果在FLOAT(7,4)列内插入999.00009,近似结果是999.0001。字符串类型-CHAR(2)字符串类型: 字符串类型的数据主要是由字母、汉字、数字符号、特殊符号构成的数据对象。按照字符个数多少的不同分为以下几类:CHAR: 列的长度固定为创建表时声明的长度。长度可以为从0到255的任何值。当保存CHAR值时,在它们的右边填充空格以达到指定的长度。 例如,在学生情况表中,如

14、果设定“name char(8)”,表示“name”是8个字符长度的字符串,可以做赋值引用即:name=张三,这里name的值包括8个字符,其中2个汉字(按照4个字符处理)和4个空格。name右侧会有若干个空格占位。这样浪费了磁盘的存储空间。字符串类型-VARCHARVARCHAR: 列中的值为可变长字符串。长度可以指定为0到65,535之间的值。(VARCHAR的最大有效长度由最大行大小和使用的字符集确定。整体最大长度是65,532字节)。同CHAR对比,VARCHAR值保存时只保存需要的字符数。 例如,在学生情况表中,如果设定“name varchar(8)”,可以做赋值引用即:name=

15、张三,这里姓名的值包括5个字符,其中2个汉字(按照4个字符处理)和1个空格。name右侧只有一个空格占位。BLOBBLOB和和 TEXTTEXTBLOB:二进制字符串(字节字符串)。BLOB列没有字符集,并且排序和比较基于列值字节的数值值。这种类型数据用于存储声音、视频、图像等数据。 例如,图书数据处理中的图书封面、会员照片可以设定成为blob类型。TEXT:非二进制字符串(字符字符串)。TEXT列有一个字符集,并且根据字符集的校对规则对值进行排序和比较。在实际应用中像个人履历、奖惩情况、职业说明、内容简介等设定为text的数据类型。 例如,图书数据处理中的内容简介可以设定为text类型。BL

16、OB和TEXT列不能有 默认值。BLOB或TEXT对象的最大大小由其类型确定,但在客户端和服务器之间实际可以传递的最大值由可用内存数量和通信缓存区大小确定。你可以通过更改max_allowed_packet变量的值更改消息缓存区的大小,但必须同时修改服务器和客户端程序。日期和时间类型(3)日期和时间类型date:表示日期,输入数据的格式是:yyyy-mm-dd。支持的范围是1000-01-01到 9999-12-31。time:表示时间,输入数据的格式是:hh:mm:ss。TIME值的范围可以从-838:59:59到838:59:59。小时部分会因此大的原因是TIME类型不仅可以用于表示一天的

17、时间(必须小于24小时),还可能为某个事件过去的时间或两个事件之间的时间间隔(可以大于24小时,或者甚至为负)。datetime: 表示日期时间,格式是:yyyy-mm-dd hh:mm:ss。支持的范围为1000-01-01 00:00:00到9999-12-31 23:59:59。 例如,在图书销售信息管理中注册时间、订购时间可以设定成为datetime类型。 为数据库创建数据表,可以使用SQL命令create table来完成。此语句的完整语法是相当复杂的,因为存在很多的可选子句,但在实际中此语句的应用相当简单。其基本结构形式为: create table tbl_name (creat

18、e_definition,.) tbl_name为要创建的表名,括号内为表的字段,多个字段用逗号隔开。 CREATE TABLE命令创建表使用CREATE TABLE命令。 语法格式: CREATE TABLE IF NOT EXISTS 表名 (列名 数据类型 NOT NULL | NULL DEFAULT 列默认值) ENGINE = 存储引擎CREATE TABLE命令的基本格式: CREATE TABLE tbl_name (列名1 数据类型 1 NOT NULL | NULL , 列名2 数据类型 2 NOT NULL | NULL , .) 图书目录表如下图书目录表如下 ,在数据库

19、,在数据库BookstoreBookstore中创建图书目录表中创建图书目录表BookBook。 数据表结构分析:数据表结构分析:CREATE TABLE book ( 图书编号图书编号 char(20) NOT NULL PRIMARY KEY, 图书类别图书类别 varchar(20) NOT NULL DEFAULT 计算机计算机, 书名书名 varchar(40) NOT NULL , 作者作者 char(10) NOT NULL , 出版社出版社 varchar(20) NOT NULL , 出版时间出版时间 date NOT NULL , 单价单价 float(5) NOT NUL

20、L , 数量数量 int(5), 折扣折扣 float(3) , 封面图片封面图片 blob) ENGINE=InnoDB; 命令代码:命令代码:创建实训创建实训3 3中的中的YGGLYGGL数据库,并在该数据库中创建员工信息表数据库,并在该数据库中创建员工信息表EmployeesEmployees,请写出相关命令,请写出相关命令 ALTER TABLE用于更改原有表的结构。例如,可以增加或删减列,创建或取消索引,更改原有列的类型,重新命名列或表,还可以更改表的评注和表的类型。语法格式:ALTER IGNORE TABLE表名 ADD COLUMN 列名 FIRST | AFTER列名 /*添

21、加列*/ | ALTER COLUMN 列名 SET DEFAULT 默认值| DROP DEFAULT /*修改默认值*/ | CHANGE COLUMN 旧列名 列定义 /*对列重命名*/ FIRST|AFTER列名 | MODIFY COLUMN 列定义 FIRST | AFTER 列名 /*修改列类型*/ | DROP COLUMN 列名 /*删除列*/ | RENAME TO 新表名 /*重命名该表*/ 【例3.5】 假设已经在数据库Bookstore中创建了表book,表中存在“书名”列。在表book中增加“浏览次数”列并将表中的“书名”列删除。 ALTER TABLE book

22、ADD 浏览次数 tinyint NULL , DROP COLUMN 书名 ;【例3.6】 假设数据库Bookstore中已经存在table1表,将table1表重命名为student。 ALTER TABLE table1 RENAME TO student; 修改表名除了上面的ALTER TABLE命令,还可以直接用RENAME TABLE语句来更改表的名字。 语法格式: RENAME TABLE 旧表名1 TO 新表名1 , 旧表名2 TO 新表名2 .【例3.7】 假设数据库BookStore中已经存在table2表和table3表,将table2表重命名为orders,table3

23、表重命名为orderlist。 RENAME TABLE table2 TO orders, Table3 TO orderlist; 语法格式:CREATE TABLE IF NOT EXISTS 新表名 LIKE 参照表名 | AS (select语句) 使用LIKE关键字创建一个与old_table_name表相同结构的新表,列名、数据类型、空指定和索引也将复制,但是表的内容不会复制,因此创建的新表是一个空表。 使用AS关键字可以复制表的内容,但索引和完整性约束是不会复制的。【例3.8】 假设数据库BookStore中有一个表Book,创建Book表的一个名为book_copy1的拷贝。

24、 CREATE TABLE book_copy1 LIKE Book; 【例 3.9】 创建表Book的一个名为book_copy2的拷贝,并且复制其内容。 CREATE TABLE book_copy2 AS (SELECT * FROM Book); 需要删除一个表时可以使用DROP TABLE语句。语法格式: DROP TABLE IF EXISTS 表名1 ,表名2 . 这个命令将表的描述、表的完整性约束、索引及和表相关的权限等都全部删除。【例3.10】 删除表test。 USE XSCJ DROP TABLE IF EXISTS test ;(1)显示数据表文件名 语法格式: SHO

25、W TABLES 【例3.11】显示Bookstore 数据库建立的数据表文件: USE Bookstore SHOW TABLES ;(2)显示数据表结构 语法格式: DESCRIBE | DESC 表名 列名 | 通配符 DESC是DESCRIBE的简写,二者用法相同。【例3.12】 用DESCRIBE语句查看 Book 表的列的信息。 USE Bookstore DESCRIBE Book ;【例3.13】 查看 Book 表图书编号 列的信息。 USE Bookstore DESC Book 图书编号 ;1、对departments表增加一列负责人(manager)2、对employe

26、es表增加一列照片(photo),用以存放雇员照片,该字段可以为空。3、对salary表增加序号列(No) ,用以对每笔工资收入支出进行编号。4、将salary表的income列改为整数型,6位4、复制departments表的结构到bm表5、显示gygl数据库中的所有表6、显示departments表的结构7、删除bm表31 Navicat for MySQL: 1.连接MySQL服务器 Navicat for MySQL是一个桌面版MySQL数据库管理和开发工具,和微软SQLServer的管理器很像,易学易用,很受大家的欢迎。在上图窗口输入连接名(任取),在“密码(p):”输入密码,单击“确定”按钮,登录到数据库服务器中。32Navicat for MySQLNavicat for MySQL33Navicat for MySQLNavicat for MySQL34Navicat for MySQLNavicat for MySQL35Navicat for MySQLNavicat for MySQL创建用学生成绩数据库创建用学生成绩数据库XSCJXSCJ,包含以下三个表:,包含以下三个表:1 1)XSXS:学生信息表:学生信息表 2 2)KCKC:课程表:课程表 3 3) XS_KC:XS_KC:成绩表成绩表结束结束

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com