版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
在项目2中已经安装配置好MySQL以后,接下来我们需要创建数据库,这是使用MySQL数据库各种功能的前提。本项目将详细介绍数据的基本操作,主要内容包括:创建数据库、管理数据库、删除数据库、数据表的创建修改删除和常用的基本数据类型。学习目标1数据库可以看成是一个存储数据对象的容器。这些数据对象包括表、视图、触发器、存储过程等。3.1创建与管理数据库2MySQL安装完成之后,将会在其data目录下自动创建几个必需的数据库,可以使用showdatabases语句来查看当前所有存在的数据库3.1创建与管理数据库33.1创建与管理数据库43.1.1创建数据库MySQL中创建数据库语法为:使用基本的SQL语法格式创建数据库:3.1创建与管理数据库53.1.1创建数据库【例3.1】创建一个名称为bookDB的数据库,采用字符集为utf8,校对规则为utf8_bin(区分大小写)。测试如下两个语句:3.1创建与管理数据库63.1.2管理数据库1.打开数据库
use数据库名称;2.修改数据库【例3.2】修改bookDB数据库的字符集为latin1(注意:最后一个字符为阿拉伯数字“1”),校对规则为latin1_swedish_ci。3.1创建与管理数据库73.1.2管理数据库3.删除数据库示例:
提示:dropdatabase命令必须小心使用,因为它将永久删除指定数据库的所有信息,包括数据库中所有的数据库对象。3.1创建与管理数据库83.1.2管理数据库4.显示数据库命令
显示MySQL服务器中已经创建的所有数据库,可以使用showdatabases命令。
在数据库中,数据表是数据库中最重要、最基本的操作对象,是数据存储的基本单位。数据表是由多列、多行组成的表格,数据表包括表结构部分和记录部分,是列的集合,数据在表中是按照行和列的格式来存储的。每一行代表一条唯一的记录,每一列称为一个字段,每一列有一个与其它列不重复的名称称为字段名,字段名的命名可以根据设计者的需要来命名。数据表中的一列是由一组字段值组成,若某个字段的值出现重复,该字段称为普通字段,若某个字段的值不允许重复,该字段称为索引字段。在bookDB数据库下创建图书类别表bookType、图书信息表bookInfo。(表结构参看教材P31)3.2创建与管理数据表93.2.1MySQL常用数据类型MySQL中常用的数据类型有数值类型、字符串类型、日期和时间类型、二进制数据类型、逻辑类型。1.数值类型3.2创建与管理数据表103.2.1MySQL常用数据类型MySQL中常用的数据类型有数值类型、字符串类型、日期和时间类型、二进制数据类型、逻辑类型。2.字符串类型3.2创建与管理数据表113.2.1MySQL常用数据类型MySQL中常用的数据类型有数值类型、字符串类型、日期和时间类型、二进制数据类型、逻辑类型。3.日期和时间类型3.2创建与管理数据表123.2.1MySQL常用数据类型MySQL中常用的数据类型有数值类型、字符串类型、日期和时间类型、二进制数据类型、逻辑类型。4.二进制数据类型3.2创建与管理数据表133.2.1MySQL常用数据类型MySQL中常用的数据类型有数值类型、字符串类型、日期和时间类型、二进制数据类型、逻辑类型。5.逻辑类型:bitbit型数据只能取两个值:0或1。MySQL保存逻辑值时用1代表true,0代表false,boolean在MySQL里的类型为tinyint(1),bit类型MySQL里有四个常量:true、false、TRUE、FALSE,它们分别代表1、0、1、0。3.2创建与管理数据表143.2.2创建数据表1.创建数据表的语法3.2创建与管理数据表153.2.2创建数据表【例3.3】在bookDB数据库下,创建bookInfo(图书信息)表。3.2创建与管理数据表163.2.2创建数据表2.查看数据表结构 describe/desc语句可以查看表的字段信息,其中包括:字段名、字段数据类型、是否为主键、是否有默认值等。
语法规则为:describe表名或desc表名3.2创建与管理数据表173.2.2创建数据表3.查看表详细结构的语句 showcreatetable语句可以用来显示创建表时的createtable语句。语法格式如下:showcreatetable表名\G;3.2创建与管理数据表18提示:如果不加‘\G’参数,显示的结果可能非常混乱,加上参数‘\G’之后,可使显示结果更加直观,易于查看。3.2.3管理数据表1.用altertable语句修改表的结构增加列 altertable表名add字段名数据类型;
修改列 altertable表名modify字段名数据类型;另一种方法是:
altertable表名change旧字段名新字段名数据类型;
删除列altertable表名drop字段名;
给表更名
altertable表名rename新表名;3.2创建与管理数据表193.2.3管理数据表2.利用select查询的结果创建表
语法格式:createtable...select语句3.2创建与管理数据表203.2.3管理数据表3.用droptable语句删除数据表语法格式如下:
droptable[ifexists]表1[,表2,...表n]
3.2创建与管理数据表213.2.4约束管理
数据完整性指的是数据的一致性和正确性。完整性约束是指数据库的内容必须随时遵守的规则。 MySQL中的约束保存在information_schema数据库的table_constraints表中,可以通过该表查询约束信息。
3.2创建与管理数据表223.2.4约束管理根据约束数据列限制,约束可分为:
单列约束:每个约束只约束一列
多列约束:每个约束约束多列数据
3.2创建与管理数据表233.2.4约束管理1.非空约束notnull非空约束用于确保当前列的值不为空值,非空约束只能出现在表对象的列上。对于使用了非空约束的字段,如果用户在添加数据时没有指定值,数据库系统会报错。非空约束的语法格式如下:
字段名数据类型notnull【例3.4】在bookDB数据库下,创建bookType(图书类别)表,表结构如表3.1所示。要求:为bookType表的btname列添加非空约束。
3.2创建与管理数据表243.2.4约束管理2.唯一约束unique唯一约束要求该列唯一,允许为空,但只能出现一个空值。唯一约束可以确保一列或者几列不出现重复值。(1)在定义字段之后直接指定唯一约束语法格式如下:字段名数据类型unique【例3.5】在bookDB数据库下,创建bookType1表,表结构如表3.1所示。要求:为bookType1表的btname列添加唯一约束。3.2创建与管理数据表253.2.4约束管理2.唯一约束unique(2)在定义完所有列之后指定唯一约束语法格式如下:[constraint<约束名>]unique(<字段名>)
3.2创建与管理数据表263.2.4约束管理2.唯一约束unique上面的bookType1表加上了唯一约束,也可以用alter来修改或增加唯一约束。添加唯一约束altertablebookType1addunique(btid,btname);修改唯一约束altertablebookType1modifybtnamevarchar(60)unique;删除约束,删除时必须知道约束的名字altertablebookType1dropindexuk_btname;
3.2创建与管理数据表273.2.4约束管理3.主键约束primarykey
主键约束相当于唯一约束加非空约束的组合,主键约束列不允许重复,也不允许出现空值;如果是多列组合的主键约束,那么这些列都不允许为空值,并且组合的值不允许重复。每个表最多只允许一个主键,建立主键约束可以在列级别创建,也可以在表级别上创建。 MySQL在创建主键约束时,系统默认在对应字段和字段组合上建立对应的唯一索引(后面项目介绍索引)。主键能够唯一地标识表中的一条记录,主键和记录之间的关系如同身份证和人之间的关系,它们之间是一一对应的。主键分为两种类型:单字段主键和多字段联合主键。3.2创建与管理数据表283.2.4约束管理3.主键约束primarykey(1)单字段主键,定义列的同时指定主键语法如下:字段名数据类型primarykey【例3.6】在bookDB数据库下,创建bookType2表,表结构如表3.1所示。要求:为bookType2表的btid列添加主键约束。3.2创建与管理数据表293.2.4约束管理3.主键约束primarykey(1)单字段主键,在定义完所有列之后指定主键语法如下:[constraint<约束名>]primarykey[字段名]3.2创建与管理数据表303.2.4约束管理3.主键约束primarykey(2)多字段联合主键,主键由多个字段联合组成语法格式如下: [constraint<约束名>]primarykey([字段1,…,字段n])【例3.7】在bookDB数据库下,创建bookInfo1表,表结构如表3.3所示。要求:为bookInfo1表的bid、bname列添加主键约束。3.2创建与管理数据表313.2.4约束管理3.主键约束primarykey上面的bookType2表加上了主键约束,也可以用alter来删除、增加或修改主键约束。alter删除主键约束
altertablebookType2dropprimarykey;alter添加主键
altertablebookType2addprimarykey(btid);alter修改列为主键
altertablebookType2modifybtidintprimarykey;3.2创建与管理数据表323.2.4约束管理3.主键约束primarykey设置主键自增3.2创建与管理数据表333.2.4约束管理4.外键约束foreignkey
外键用来在两个表的数据之间建立链接,它可以是一列或者多列。一个表可以有一个或多个外键。外键对应的是参照完整性,一个表的外键可以为空值,若不为空值,则每一个外键值必须等于另一个表中主键列的某个值。外键:首先它是表中的一个字段,它可以不是本表的主键,但对应另外一个表的主键或唯一约束。外键主要作用是保证数据引用的完整性,定义外键后,不允许删除在另一个表中具有关联关系的行。例如:图书类别表bookType的主键是btid,在图书信息表bookInfo中有一个键btid与这个btid相关联。其中bookType表为主表,bookInfo表为从表。主表(父表):对于两个具有关联关系的表而言,相关联字段中主键所在的表即是主表。从表(子表):对于两个具有关联关系的表而言,相关联字段中外键所在的表即是从表。3.2创建与管理数据表343.2.4约束管理4.外键约束foreignkey创建外键的语法格式如下:[constraint<外键名>]foreignkey(字段名1[,字段名2,…])references<主表名>(主键列1[,主键列2,…])【例3.8】在bookDB数据库下,删除已经创建过的bookType、bookInfo及相关表。重新创建bookType、bookInfo表,表结构如表3.9、表3.10所示,这两个表中bookInfo表中的btid列引用了bookType表中的btid列中的值,其中bookType表为主表,bookInfo表为从表。3.2创建与管理数据表35注意,外键约束的外键列,在主表中引用的只能是主键或唯一键约束的列,假定引用的主表列不是唯一的记录,那么从表引用的数据就不确定记录的位置。通常先建主表,然后再建从表,这样从表的参照引用的主表才存在。主表中被引用的列与从表中外键列的数据类型必须一致。3.2.4约束管理4.外键约束foreignkey,表上的外键约束,也可以增加、删除增加外键约束altertablebookInfoaddconstraintfk_btidforeignkey(btid)referencesbookType(btid); 删除外键约束altertalbebookInfodropforeignkeyfk_btid;外键绑定关系altertablebookInfoaddconstraintfk_btidforeignkey(btid)referencesbookType(btid)ondeletecascadeonupdatecascade; 3.2创建与管理数据表363.2.4约束管理5.检查约束checkMySQL可以用check约束,但check约束对数据验证没有作用3.2创建与管理数据表373.2.4约束管理6.默认约束default默认约束指定某列的默认值语法格式:字段名数据类型default默认值3.2创建与管理数据表38
使用图形管理工具对数据库进行操作时,大部分操作都能使用菜单方式完成,而不需要熟练记忆操作命令。下面以NavicatforMySQL为例,说明使用MySQL图形管理工具创建数据库和表的过程及方法。3.3使用图形界面工具管理数据库及表393.3.1图形界面工具管理数据库1.链接MySQL服务器3.3使用图形界面工具管理数据库及表403.3.1图形界面工具管理数据库3.访问数据库3.3使用图形
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 9.1压强 教学设计 -人教版物理八年级下学期
- 2024-2025学年七年级历史下册 第二单元 辽宋夏金元时期:民族关系发展和社会变化 第06课 北宋的政治教学设计 新人教版
- 库存汽车销售售后服务保障合同协议
- 第23课 挑战多角度比拼教学设计小学信息科技人教版2024四年级全一册-人教版2024
- 2026四年级道德与法治下册 珍惜每一粒粮食
- 2026年全固态电池量产线项目可行性报告
- 2026年健康产业园区“十四五”发展规划中期评估
- 加油站道路及交通组织优化方案
- 农产品检测实验室实验室信息系统方案
- 建筑施工相关标准执行方案
- 学堂在线 雨课堂 学堂云 遥测原理 期末考试答案
- 残疾等级评定培训课件
- 瑜伽康复墙培训课件
- 法院司法礼仪培训课件
- 2025年高中生物学知识竞赛试题及答案
- 业财融合:提升企业成本控制效率的实践策略
- 小学数学国培二次培训
- 2025年衡阳市商品房买卖合同(正式版本)
- 烹饪工艺学(第2版) 课件 单元9调色和调香工艺
- 银屑病的全英文
- 绿色燃料研究
评论
0/150
提交评论