版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
项目2创建与维护教学管理
数据表建表、对表数据的增删改查操作
创建教学管理数据库2.1解读MySQL的数据类型2.2创建数据表2.3操作表数据库2.4使用Navicat管理表2.5添加表的约束
2.1解读MySQL的数据类型学号sno姓名sname性别ssex出生日期birthday专业spec20231012101李伟男2002-09-06计算机应用20231012102张兰女2003-03-09软件技术20231012103王芳女2003-05-06通信技术20231012104刘勇男2003-06-16软件技术课程号cno课程名cname学分credit开课学期termc06101高等数学41c06102大学英语21c06103C语言52c05101软件工程44学号sno课程号cno成绩grade20231012101c061019020231012101c061028920231012102c061018520231012103c0610375字符串类型数值类型日期时间类型三大类型:学生表课程表成绩表1
字符串类型char类型:定长的字符串。varchar类型:不定长的字段串。2.1解读MySQL的数据类型插入值char(4)char(4)存储需求varchar(4)varchar(4)存储需求‘’‘‘4字节‘’1字节‘ab’‘ab‘4字节‘ab’3字节‘abc’‘abc‘4字节‘abc’4字节‘abcd’‘abcd’4字节‘abcd’5字节1
字符串类型text类型:用于保存大文本数据,例如,文章内容、评论等比较长的文本。binary和varbinary类型:binary和varbinary类型类似于char和varchar,不同的是,它们所表示的是二进制数据。blob类型:是一种特殊的二进制类型,它用于表示数据量很大的二进制数据,例如图片、PDF文档等。2.1解读MySQL的数据类型1
字符串类型enum类型:也称为枚举类型,只能从枚举列表中取,并且只能取一个。set类型:集合类型,用于表示字符串对象,它的值可以有零个或多个。与enum不同的是,enum只允许向一条记录中插入一个值,而set可以向一条记录中插入多个值。2.1解读MySQL的数据类型2
数字类型1.整数类型数据类型字节数有符号数的取值范围无符号数的取值范围tinyint1-128~1270~255smallint2-32768~327670~65535mediumint3-8388608~83886070~16777215int4-2147483648~21474836470~4294967295bigint8-9223372036854775808~92233720368547758070~18446744073709551615intunsigned2.1解读MySQL的数据类型2
数字类型2.小数类型数据类型精度取值范围字节数
float(p[,s])8位精度,p表示数据长度,s表示小数位数,若不指定精度,则默认保存实际精度+(-)3.402823466E+384
double(p[,s])16位精度,p表示数据长度,s表示小数位数,若不指定精度,则默认保存实际精度+(-)1.7976931348623157E+308+(-)2.2250738585072014E-3088
decimal(p[,s])p表示数据长度,s表示小数位数,默认的精度为10,小数位数为0可变自定义浮点数定点数--2.1解读MySQL的数据类型3
日期和时间类型类型取值范围说明year1901~2155年份,格式YYYY或YYdate1000-01-01~1999-12-31日期,格式YYYY-MM-DDtime-838:59:59~838:59:59时间,格式HH:MM:SSdatetime1000-01-0100:0:0~9999-12-3123:59:59日期和时间,格式YYYY-MM-DDHH:MM:SStimestamp1970-01-0100:00:01~2038-01-1903:14:07时间标签,在处理报告时使用显示格式取决于M的值2.1解读MySQL的数据类型
创建教学管理数据库2.1解读MySQL的数据类型2.2创建数据表2.3操作表数据库2.4使用Navicat管理表2.5添加表的约束
1
表的基本概念2.2创建数据表学号sno姓名sname性别ssex出生日期birthday专业spec20231012101李伟男2002-09-06计算机应用20231012102张兰女2003-03-09软件技术20231012103王芳女2003-05-06通信技术20231012104刘勇男2003-06-16软件技术表名、表结构、字段名、字段长度和小数位数student表1
表的基本概念2.2创建数据表说明:(1)字符串类型。对于字符串类型来说,长度代表字段所能容纳字符的数目,因此它会限制用户所能输入的文本长度。(2)整数类型。对于整数类型来说,长度代表该数据类型指定的显示宽度。显示宽度是指能够显示的最大数据的长度。在不指定宽度的情况下,每个整数类型都有默认的显示宽度。(3)二进制类型。对于二进制类型来说,长度代表字段所能容纳的最大字节数。(4)浮点数类型和定点数类型。对于浮点数类型和定点数类型来说,长度代表数据的总长度,也就是精度。精度是指数据中数字的位数(包括小数点左侧的整数部分和小数点右侧的小数部分),而小数位数是指数字中小数点右侧的位数。例如,数字12345.678的精度是8,小数位数是3。1
表的基本概念2.2创建数据表确定数据类型的原则:(1)数据内容是数值。
如果数据内容是数值,则数据类型应为整型、浮点型和定点型中的一种。其遵循的原则如下。①选择最小的可用类型,如果值永远不超过127,则使用tinyint。②对于没有小数部分的数,可以选择整数类型。③浮点类型用于可能具有小数部分的数,如货物单价、网上购物支付金额等。(2)数据内容是文本。
如果数据内容是文本,则数据类型应为字符串类型,具体选择哪一种字符串类型,可以遵循以下原则。①从速度方面考虑,要选择固定长度的列,可以使用char类型。②要节省空间,使用长度可变的列,可以使用varchar类型。③要将列中的内容限制在一种选择,可以使用enum类型。④允许在一列中有多于一个的条目,可以使用set类型。⑤对于长文本数据,如果要搜索的内容不区分大小写,可以使用text类型。⑥对于长文本数据,如果要搜索的内容区分大小写,可以使用blob类型。2
建表2.2创建数据表学号sno姓名sname性别ssex出生日期birthday专业spec20231012101李伟男2002-09-06计算机应用20231012102张兰女2003-03-09软件技术20231012103王芳女2003-05-06通信技术20231012104刘勇男2003-06-16软件技术student表2
建表2.2创建数据表mysql>createtablestudent(->snochar(11)comment'学号'primarykey,->snamechar(8)comment'姓名',->sexenum('男','女')comment'性别',->birthdaydatecomment'出生日期',->specvarchar(20)comment'专业'->);CREATETABLE[IFNOTEXISTS]表名(字段名字段类型[字段属性]…)[表选项]语法格式:3
查看表结构2.2创建数据表1.SHOWCREATETABLE表名;2.DESCRIBE表名;3.使用SHOWTABLES语句查看库中所有表;mysql>showcreatetablestudent;mysql>descstudent;mysql>showtables;4修改表结构2.2创建数据表
ALTERTABLE
命令1.修改表名2.修改字段名ALTERTABLE旧表名RENAME[TO]新表名;ALTERTABLE表名CHANGE旧属性名
新属性名
新数据类型
[字段属性];3.增加字段ALTERTABLE表名ADD[COLUMN]新字段名字段类型[FIRST|AFTER字段名]mysql>altertablestudentrenametostudents;mysql>altertablestudentaddemailvarchar(30)afterspec;4修改表结构2.2创建数据表
ALTERTABLE
命令4.修改字段的数据类型ALTERTABLE表名MODIFY[COLUMN]字段名
数据类型
[字段属性];5.删除字段ALTERTABLE表名DROP[COLUMN]字段名;mysql>altertablecoursemodifytermenum('1','2','3','4','5','6');mysql>altertablestudentdropemail;5
删除数据表2.2创建数据表DROP
TABLE表名;
删除数据表是指删除数据库中已存在的表,在删除数据表的同时,数据表中存储的数据都将被删除。
创建教学管理数据库2.1解读MySQL的数据类型2.2创建数据表2.3操作表数据库2.4使用Navicat管理表2.5添加表的约束
1添加数据2.3操作表数据INSERT[INTO]表名[字段名,…]VALUES(值1,[值2]…);1.为所有字段添加数据2.为部分字段添加数据mysql>insertintostudent->values('20231012101','李伟','男','2004-09-06','计算机应用');mysql>insertintostudent(sno,sname)values('20231012102','张兰');3.一次添加多行数据mysql>insertintostudentvalues->('20231012103','王芳','女','2005-05-06','通信技术'),->('20231012104','刘勇','男','2005-06-16','软件技术'),->('20231012105','高兴','男',null,null);2查询数据2.3操作表数据2.查询表中部分字段SELECT*FROM数据表名;1.查询表中全部数据SELECT{字段名1,字段名2,字段名3,…}FROM数据表名;3.简单条件查询SELECT*|{字段名1,字段名2,字段名3,…}FROM数据表名WHERE字段名=值;mysql>select*fromstudent;mysql>selectsno,snamefromstudent;mysql>select*fromstudentwherespec='软件技术';3修改数据2.3操作表数据UPDATE表名SET字段名1=值1[,字段名2=值2,…][WHERE条件=表达式];4删除数据1.使用DELETE语句删除数据DELETEFROM表名[WHETE条件表达式];2.使用TRUNCATE语句删除数据TRUNCATE[TABLE]表名mysql>updatecoursesetterm='1'wherecname='C语言';mysql>deletefromstudentwheresno='20231012105';
创建教学管理数据库2.1解读MySQL的数据类型2.2创建数据表2.3操作表数据库2.4使用Navicat管理表2.5添加表的约束
1建表2.4使用Navicat管理表打开连接--->打开数据库--->用鼠标右键单击“表”节点--->快捷菜单中选择“新建表”--->在打开的设计表窗口中输入列名、数据类型等等列属性--->保存并输入表名2.4使用Navicat管理表2编辑表数据左侧窗口中展开数据库中的表--->选中要编辑的表--->鼠标右键快捷菜单中选择“打开表”命令--->打开该表的数据窗口--->利用窗口底部的“+”、“—”按钮进行添加、删除数据--->“√”按钮保存编辑结果
创建教学管理数据库2.1解读MySQL的数据类型2.2创建数据表2.3操作表数据库2.4使用Navicat管理表2.5添加表的约束
1非空约束2.5添加表的约束NOTNULL字段名
数据类型
NOTNULL;
非空约束指的是数据列不能为NULL,非空表示数据列不允许有空值出现,空值表示数值未确定,并不是数字“0”或字符“空格”。非空约束可以确保数据列中必须是有意义的值。语法格式:2.5添加表的约束2主键约束PRIMARYKEY1.创建表时定义主键约束2.修改表的主键修改表结构ALTERTABLE
设置主键的目的是帮助MySQL以最快的速度查找到表中的指定信息。主键的值能唯一标识表中的记录,类似指纹、身份证用于标识人的身份一样。#列级约束mysql>createtablecourse01(->cnochar(6)primarykey,->cnamevarchar(20)notnull,->credittinyintnotnull,->termtinyintnotnull->);#表级约束mysql>createtablecourse02(->cnochar(6),->cnamevarchar(20)notnull,->credittinyintnotnull,->termtinyintnotnull,->primarykey(cno)->);mysql>altertablestudent01addprimarykey(sno);3外键约束2.5添加表的约束FOREIGNKEYCONSTRAINT外键名FOREIGNKEY(字段名1,[字段名2…])REFERENCES表名(字段名1,[字段名2…])[ONDELETE{RESTRICT|CASCADE|SETNULL|NOACTION}][ONUPDATE{RESTRICT|CASCADE|SETNULL|NOACTION}]1.参照完整性
在关系数据库中,有很多规则是跟表之间的关系有关的,表与表之间往往存在一种“父子”关系。外键的作用是建立子表与其父表的关联关系,保证子表与父表关联数据的一致性。当父表中更新或删除某条信息时,子表中与之对应的信息也必须有相应的改变。语法格式:3外键约束2.5添加表的约束FOREIGNKEY参数名称功能描述RESTRICT默认值。拒绝父表删除或修改外键关联字段CASCADE父表中删除或更新记录时,同时自动删除或更新子表中对应的记录SETNULL父表中删除或更新记录时,使用NULL值替换子表中对应的记录(不适用于NOTNULL字段)NOACTION与默认值RESTRICT相同,拒绝父表删除或修改外键关联字段SETDEFAULT设默认值,但InnoDB目前不支持外键约束的参数说明3外键约束2.5添加表的约束FOREIGNKEY2.创建表时定义外键mysql>createtablescore(->snochar(11)notnull,->cnochar(6)notnull,->gradeint,->primarykey(sno,cno),->foreignkey(sno)referencesstudent(sno)->);3.对已有的表添加外键mysql>altertablescoreaddconstraintfk_cno->foreignkey(cno)referencescourse(cno);2.5添加表的约束4检查约束CHECKCONSTRAINT约束名CHECK(条件)5唯一约束UNIQUE
唯一性约束是指所有记录中该字段的值不能重复出现。
在进行数据完整性管理时,还需要一些针对数据表列的取值范围进行限定的约束。语法格式:mysql>altertablestudent->addconstraintcheck_birth->check(birthday>'1999-12-31');mysql>altertablecourseaddunique(cname);2.5添加表的约束6其他约束默认值DEFAULT、自动增长AUTO_INCREMENT
默认约束就是给数据表中的字段指定默认值。在插入一条新的记录时,如果没有为这个字段赋值,那么系统会自动为这个字段插入默认值。1.默认约束字段名数据类型
DEFAULT默认值;语法格式:mysql>createtablemy_default(->idintprimarykey,->stu_idintunique,->gradefloatdefault0);2.5添加表的约束6其他约束默认值DEFAULT、自动增长AUTO_INCREMENTAUTO_INCREMENT是MySQL数据库中一个特殊的约束。其主要用于为表中插入的新记录自动生成唯一的ID。AUTO_INCREMENT约束的字段可以是任何整数类型(TINYINT、SMALLINT、INT、BIGINT等)。2.自动增长字段字段名
数据类型AUTO_INCREMENT语法格式:mysql>createtabletest(->idintprima
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 数学一冲刺试卷(2026考研全国统考·含答题卡)
- 思想政治理论(政治)期中试卷(2022考研全国统考·高频考点)
- 2026年大学建筑环境与能源应用工程(暖通空调系统设计)试题及答案
- 内勤综合岗考试题及答案
- 山西省宁武县第三小学度上小学2026年六上数学期末达标检测模拟试题含解析
- 餐馆晋升考试题及答案
- 药师考试题库及答案解析
- 城管员招聘考试题及答案
- 2025年天津市电商企业智能仓库新建可行性研究报告
- 整车运输统筹管理方案
- 2026年中国银行招聘考试试题真题解析
- 2026年常州市中考语文试卷(含答案)
- 新版2025-2026学年湘美版(2026秋新教材)小学美术六年级上册(全册)教学设计合集
- 《房地产信托投融资实务及典型案例》目录
- 中国面神经炎临床诊疗指南(2025版)
- 2025年中考政治总复习提纲
- 西方传播学理论评析 第6章 全球化与全球传播理论
- 工业药剂学期末期中考试题库及答案
- 生产过程中次品管理制度
- 小学科学教学中科学探究中问题意识培养的研究课题报告教学研究课题报告
- 《健康管理实务》课件-健康信息收集与管理
评论
0/150
提交评论