第12章数据库操作基础课件

PPT
  • 阅读 43 次
  • 下载 0 次
  • 页数 75 页
  • 大小 436.641 KB
  • 2022-12-05 上传
  • 收藏
  • 违规举报
  • © 版权认领
下载文档30.00 元 加入VIP免费下载
此文档由【小橙橙】提供上传,收益归文档提供者,本网站只提供存储服务。若此文档侵犯了您的版权,欢迎进行违规举报版权认领
第12章数据库操作基础课件
可在后台配置第一页与第二页中间广告代码
第12章数据库操作基础课件
可在后台配置第二页与第三页中间广告代码
第12章数据库操作基础课件
可在后台配置第三页与第四页中间广告代码
第12章数据库操作基础课件
第12章数据库操作基础课件
还剩10页未读,继续阅读
【这是免费文档,您可以免费阅读】
/ 75
  • 收藏
  • 违规举报
  • © 版权认领
下载文档30.00 元 加入VIP免费下载
文本内容

【文档说明】第12章数据库操作基础课件.ppt,共(75)页,436.641 KB,由小橙橙上传

转载请保留链接:https://www.ichengzhen.cn/view-92336.html

以下为本文档部分文字说明:

数据库操作基础目标关系数据库SQL语言关系数据库的结构一、关系数据模型的数据结构在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。学号姓名年龄性别系名年级2005004王小明19女社会学20052005006黄大鹏20男商品学

20052005008张文斌18女法律2005………………属性元组关系数据模型的数据结构关系(Relation)一个关系对应通常说的一张表元组(Tuple)表中的一行即为一个元组属性(Attribute)表中的一列即

为一个属性,给每一个属性起一个名称即属性名主码(Key)表中的某个属性组,它可以唯一确定一个元组关系数据模型的数据结构域(Domain)属性的取值范围分量元组中的一个属性值关系模式对关系的描述关系名(属性1,属性2,

…,属性n)关系数据模型的数据结构关系必须是规范化的,满足一定的规范条件最基本的规范条件:关系的每一个分量必须是一个不可分的数据项,不允许表中还有表职工号姓名职称工资扣除实发基本津贴职务房租水电86051陈平讲师13051200

501601122283图1.27一个工资表(表中有表)实例关系数据模型的数据结构(术语对比)关系术语一般表格的术语关系名表名关系模式表头(表格的描述)关系(一张)二维表元组记录或行属性列属性名列名属性值列值分量一条记录中的一个列值

非规范关系表中有表(大表中嵌有小表)二、关系数据模型的操纵与完整性约束数据操作是集合操作,操作对象和操作结果都是关系,都必须满足关系的完整性约束条件查询插入删除更新数据操作是集合操作,操作对象和操作结果都是关系,

即若干元组的集合存取路径对用户隐蔽,用户只要指出“干什么”,不必详细说明“怎么干”关系数据模型的操纵与完整性约束关系的完整性约束条件实体完整性规定基本关系的所有主属性都不能取空值参照完整性规定基本关系的主属性可以取空值或目标关系中已经存在的值用户定义的完整性针对某一具体关系数

据库的约束条件反映某一具体应用所涉及的数据必须满足的语义要求三、关系数据模型的存储结构实体及实体间的联系都用表来表示表以文件形式存储有的DBMS一个表对应一个操作系统文件有的DBMS自己设计文件结构SQL语言SQL特点SQL分类Mysql中常用的数据类型SQL主要语句语法从

Mysql中导入和导出数据库结构SQL概述SQL—StructuredQueryLanguageSQL的功能:数据定义、操纵和控制。SQL的特点综合统一高度非过程化面向集合的操作方式语言简捷,易学易用SQL语言支持关系数据库三级模式结构1.SQL(StructuredQuery

Language)全称是结构化查询语言,是一种关系数据库语言,提供数据的定义、查询、更新和控制等功能。功能强大、能够完成各种数据库操作。2.SQL语言不是一个应用程序开发语言,它只提供对数据库的操作能力,不能完成屏幕控制、菜单管理、报表生成等功能。SQL特点SQL特点3.有利于各种数据库之

间交换数据、有利于程序的移植、有利于实现程序和数据间的独立性;有利于实施标准化;4.书写简单、易学易用。1、数据定义语言(DDL:DataDefinitionLanguage)创建、修改或删除数据库中各种对象,

包括表、视图、索引等。2、查询语言(QL:QueryLanguage)按照指定的组合、条件表达式或排序检索已存在的数据库中的数据,但并不改变数据库中数据。SQL分类SQL分类3、数据操纵语言(DM

L:DataManipulationLanguage)对已经存在的数据库进行记录的插入、删除、修改等操作4、数据控制语言(DCL:DataControlLanguage)用来授予或收回访问数据库的某种特权、控制数据操纵事务的发生时间及效

果、对数据库进行监视注意:在书写各种SQL命令时,命令中所涉及的标点符号,如括号、逗号、分号、圆点(英文句号)等都应是英文半角,如果写成中文全角符号,则会在执行命令时出错。SQL分类数值类型(例如:Float,Int,Double等)日期和时间类型(例如:

Date,Time等)String类型(例如:Char,Varchar)Mysql常用的数据类型:MySQL支持所有标准SQL数值数据类型。这些类型包括严格数值数据类型(INTEGER(Integer)、SMALLINT(S

mallInt)等以及近似数值数据类型(FLOAT、REAL和DOUBLEPRECISION)。关键字INT是INTEGER的同义词,关键字DEC是DECIMAL的同义词。数值类型数值类型作为SQL标准的扩

展,MySQL也支持整数类型TINYINT、MEDIUMINT和BIGINTFloat(同义real)小(单精度)浮点数。允许的值是-3.402823466E+38到-1.175494351E-38、0和1.17

5494351E-38到3.402823466E+38。Double(同义DOUBLEPRECISION)普通大小(双精度)浮点数。允许的值是-1.7976931348623157E+308到-2.2250738585072014E-308、0和2.225

0738585072014E-308到1.7976931348623157E+308日期和时间类型表示时间值的DATE和时间类型为DATETIME、DATE、TIMESTAMP、TIME和YEAR。每个时间类型有一个有效值范围和一个“

零”值,当指定不合法的MySQL不能表示的值时使用“零”值。TIMESTAMP类型有专有的自动更新特性日期和时间类型-DateDATE日期。支持的范围为'1000-01-01'到'9999-12-31'。MySQL以'YYYY-MM-DD'格式显示DATE值,但允许使用字符串或数字为D

ATE列分配值。日期和时间类型-DatetimeDATETIME日期和时间的组合。支持的范围是'1000-01-0100:00:00'到'9999-12-3123:59:59'。MySQL以'YYYY-MM-DDHH:

MM:SS'格式显示DATETIME值,但允许使用字符串或数字为DATETIME列分配值。日期和时间类型-TIMESTAMPTIMESTAMP(Mysql4.1版本以下)时间戳。范围是'1970-01-0100:00:00'到20

37年。TIMESTAMP列用于INSERT或UPDATE操作时记录日期和时间。如果你不分配一个值,表中的第一个TIMESTAMP列自动设置为最近操作的日期和时间。也可以通过分配一个NULL值,将TIMESTAMP列设置为当前的

日期和时间。TIMESTAMP值返回后显示为'YYYY-MM-DDHH:MM:SS'格式的字符串,显示宽度固定为19个字符日期和时间类型-TimeTIME时间。范围是'-838:59:59'到'838:59:59'。MySQL以

'HH:MM:SS'格式显示TIME值,但允许使用字符串或数字为TIME列分配值。日期和时间类型-YearYEAR[(2|4)]两位或四位格式的年。默认是四位格式。在四位格式中,允许的值是1901到2155和0000。在两位

格式中,允许的值是70到69,表示从1970年到2069年。MySQL以YYYY格式显示YEAR值,但允许使用字符串或数字为YEAR列分配值。日期和时间类型下面的表显示了各类“零”值的格式。请注意如果启用NO_ZERO_DATESQL模式,使用这些值会产生警告。可以使用任何常见格式指定

DATETIME、DATE和TIMESTAMP值:'YYYY-MM-DDHH:MM:SS'或'YY-MM-DDHH:MM:SS'格式的字符串。允许“不严格”语法:任何标点符都可以用做日期部分或时间部分之间的间割符。例如,'9

8-12-3111:30:45'、'98.12.3111+30+45'、'98/12/3111*30*45'和'98@12@3111^30^45'是等价的。'YYYYMMDDHHMMSS'或'YYMMDDHHMMSS'格式的没有间割符的字符串,假定字符串对于日期类型是有意义的。例如,'19970

523091528'和'970523091528'被解释为'1997-05-2309:15:28',但'971122129015'是不合法的(它有一个没有意义的分钟部分),将变为'0000-00-0000:00:00'。Y

YYYMMDDHHMMSS或YYMMDDHHMMSS格式的数字,假定数字对于日期类型是有意义的。例如,19830905132800和830905132800被解释为'1983-09-0513:28:00'。„YYYY-MM-DD‟或‘YY-MM-

DD‟格式的字符串。这里也允许使用“不严格的”语法。例如,‘98-12-31‟、‘98.12.31‟、‘98/12/31‟和‘98@12@31‟是等价的。·'YYYYMMDD'或'YYMMDD'格式的没有间割符的字符串,假定字符串对于日期类型是有意义的。例如,'19970

523'和'970523'被解释为'1997-05-23',但'971332'是不合法的(它有一个没有意义的月和日部分),将变为'0000-00-00'。YYYYMMDD或YYMMDD格式的数字,假定数字对于日期类型是有意义的。例如,19830905和830905被解释

为'1983-09-05'。无效DATETIME、DATE或者TIMESTAMP值被转换为相应类型的“零”值('0000-00-0000:00:00'、'0000-00-00'或者00000000000000)。String类型字符串类型指CHAR、VARCHAR、BINARY

、VARBINARY、BLOB、TEXT、ENUM等。String类型-CHAR和VARCHAR类型CHAR和VARCHAR类型声明的长度表示你想要保存的最大字符数。例如,CHAR(30)可以占用30个字符。CHAR列的长度固定为创建表时声明的长

度。最大长度为8,000个字符。VARCHAR列中的值为可变长字符串。最大长度为8,000个字符。下面的表显示了将各种字符串值保存到CHAR(4)和VARCHAR(4)列后的结果,说明了CHAR和VARCHAR之间的差别:String类型-BIN

ARY和VARBINARY类型BINARY和VARBINARY类类似于CHAR和VARCHAR它们包含字节字符串而不是字符字符串。BINARY和VARBINARY允许的最大长度一样,如同CHAR和VARCHAR,不同的是B

INARY和VARBINARY的长度是字节长度而不是字符长度。String类型-BLOB和TEXT类型可以容纳可变数量的数据BLOB列被视为二进制字符串(字节字符串)。TEXT列被视为非二进制字符串(字符字符串)。Te

xt数据类型的列可用于存储大于8kb的字符。String类型-ENUM类型ENUM是一个字符串对象,其值来自表创建时在列规定中显式枚举的一列值。ENUM('value1','value2',...)ENUM列最多可以

有65,535个截然不同的值.SQL主要语句语法MySQL实用工具语句(DESCRIBE语法,USE语法)数据定义语句(创建,删除,修改数据库和表)数据操作语句(对表中的数据进行查询,修改,删除等操作)SQL主要语句语法-

MySQL实用工具语句USE语法USEdb_nameUSEdb_name语句可以通告MySQL把db_name数据库作为默认(当前)数据库使用,用于后续语句。该数据库保持为默认数据库,直到语段的结尾,或者直到发布一个不同的USE语句:SQL主要语句语法-MySQL实用工具语

句DESCRIBE语法(获取有关列的信息)DESCRIBE可以提供有关表中各列的信息。也就是创建的表中各个属性的名字和数据类型等信息.SQL主要语句语法-数据定义语句CREATEDATABASE语法CREATETABLE语法CREA

TEINDEX语法DROPDATABASE语法DROPINDEX语法DROPTABLE语法ALTERTABLE语法RENAMETABLE语法CREATEDATABASE语法CREATEDATABASE用于创建数据库,并进行命名。如果要使用CREATEDATABASE,您

需要获得数据库CREATE权限。CREATEDATABASEdb_name;例如:CreateDatabasetest1;CREATETABLE语法CREATETABLE<表名>(<列名><数据类型>[列级完整性约束条件][,<列名><数据类型>[列级完整性约束条件)]]

…[,<表级完整性约束条件>]);注:列级约束条件有两个任选项:NOTNULL,表示此列不得置NULL,在其后还可加UNIQUE任选项,表示列值不得重复。DEFAULT,当此列的值空缺时,填以缺省值例如:stu_idch

ar(20)notnull,pricefloatdefault0.01表级完整性约束条件主关键字约束指定表的一列或几列的组合的值在表中具有惟一性,即能惟一地指定一行记录。每个表中只能有一列被指定为主关键字,且IMAGE和TEXT类型的列不能被

指定为主关键字,也不允许指定主关键字列有NULL属性。语法如下:CONSTRAINT[constraint_name]PRIMARYKEY(column_name)各参数说明如下:constraint_name指定约束的名称约束的名称。在数据库中应是惟一的。如果不指定,则系统会自动生成一个

约束名。column_name指定组成主关键字的列名。Createtableproducts(idchar(20)notnull,pricefloatdefault0.01,constraintprimarykey(id));

定义外关键字约束的语法如下:CONSTRAINTFOREIGNKEY(column_name1[,column_name2,„,column_name16])REFERENCESref_table[(ref_column1[,ref_column2,„,

ref_column16])][ONDELETE{CASCADE|NOACTION}][ONUPDATE{CASCADE|NOACTION}]各参数说明如下:REFERENCES指定要建立关联的表的信息。ref_table指定要建立关联的表的名称。ref_column指定要建立关联的

表中的相关列的名称。ONDELETE{NOACTION|RESTRICT}指定在删除表中数据时,对关联表所做的相关操作。在子表中有数据行与父表中的对应数据行相关联的情况下,NOACTION是缺省值.RE

STRICT:凡被基表引用的主键,不得删除ONUPDATE{NOACTION|RESTRICT}指定在更新表中数据时,对关联表所做的相关操作。在子表中有数据行与父表中的对应数据行相关联的情况下,NOACTION是缺省值.RESTRICT:凡被基表引用

的主键,不得删除createtableorders(order_idchar(8),p_idchar(8),p_namechar(10),constraintprimarykey(order_id),foreignkey(p_id)referencesproducts(p_id)on

deleterestrict);CREATEINDEX语法CREATEINDEXindex_nameONtbl_name(index_col_name,...)注:index_col_name:col_name[(length)][ASC|DESC]例

如:createindexstu_ageonstudent(ageASC);DROPDATABASE语法DROPDATABASEdb_name删除已有的数据库.DROPINDEX语法DROPINDEXindex_nameONtbl

_name删除表中的索引.DROPTABLE语法删除表Droptabletable_name;ALTERTABLE语法ALTERTABLEtbl_name[ADD<新列名><数据类型>[完整性约束]][DROP<列名><完整性约束名>][MODIFY<列名><数据类型>];AD

D用于增加新列和新的完整性约束条件,新增加的列一律为空值。(index,primarykey等)DROP用于删除指定的完整性约束条件(index,primarykey,foreignkey)MODIFY用于修改原有的列定义Altertableaaaddprimarykey(

id);Altertableaaaddnamechar(20);Altertableaadropprimarykey;Altertableaamodifyidchar(100)notnull;RENAMETABLE语法

RENAMETABLEtbl_nameTOnew_tbl_name对一个表重命名例如:renametablestudenttoss;创建,删除视图(view)创建视图语法:Createview<视图名>(<列名1>,[<列名2

>,….])As[select查询语句]删除视图语法:Dropview<视图名>Createviewstu_test(id,name)Asselectstu_id,namefromstudent;Dropviewstu_test;SQL主要语句语法-数据操作语

句SelectUpdateInsertDeleteSelect查询语句SELECT[ALL|DISTINCT]<目标列表达式>[,<目标列表达式>]…FROM<表名或视图名>,[<表名或视图名>]…[WHERE<条件表达式>][GROUPBY

<列名1>[HAVING<条件表达式>]][ORDERBY<列名2>[ASC|DESC]];Select查询语句SELECT指明需要查询的项目,一般是列名,也可以是表达式,查询表中未存储但可导出的结果。WHERE用来说明查询的条件DISTINCT任选项用来消除查询结果的重

复项GROUP用来将结果按列名1的值进行分组,该属性列值相等的元组为一组ORDER将结果表按列名2的值升序或降序排序where查询满足条件的元组(where子句)1.比较大小2.确定范围(BETWEEN…AND/

NotBeteween….and)3.确定集合(IN,NOTIN)4.字符匹配(LIKE,NOTLIKE)可适用通配符%和-。%:代表任意长度(长度可以为0)的字符串:a%_:代表任意单个字符:a_Select*fromstudent;Sele

ct*fromstudentwhereagenotbetween18and19;Select*fromstudentwherenamelikea%;Selectstudent.name,teacher.namefromstudent,teach

erwherestudent.select_course_id=teacher.teach_course_id;Update修改语法一般格式:INSERTINTO<表名>[(<属性列1>[,<属性列2>…)]VALUES(<常量1>[,<常量2>]…)功能是将新元组插入指定的表中I

NTO中没有出现的属性列,新纪录在其上取空值属性列省略则按已有关系模式顺序插入,且其在每个属性列上均有值。Insertintostudentvalues(„1‟,‟aa‟,‟asdf‟,‟1980-12-09);Insertintostudent(stu_id,name)valu

es(„2‟,‟bb‟);INSERTINTO<表名>[(<属性列1>[,<属性列2>…)]子查询;Insert插入语法一般格式:UPDATE<表名>SET<列名>=<表达式>[,<列名>=<表达式>]…[WHERE<条件>];功能是修改指定表中满足条件的元组

SET子句给出<表达式>的值用于取代相应的属性列值。省略WHERE子句,表示修改表中所有元组例如:Updatesetaddress=„asdf‟,birthday=„1977-11-3‟wherestu_id=2;Delete删除语法DELETEF

ROM<表名>[WHERE<条件>];功能是从指定表中删除满足条件的所有元组如果省略WHERE子句,表时删除表中全部元组,但表的定义仍在数据字典中。即:只删除数据。例如:Deletefromstudentwherename=“aa”;从Mysql中导入和导出数据库结构一、进入m

ysql的bin目录二、导出:[mysqlbinpath]>mysqldump-d-u用户名-p数据库名>backup-file.sql(这个名字任意起)Enterpassword:******(数据库的密码)三、导入:[mys

qlbinpath]>mysql-u用户名-p创建好的空的数据库名<backup-file.sql(你想导入的数据库文件)Enterpassword:******

小橙橙
小橙橙
文档分享,欢迎浏览!
  • 文档 25747
  • 被下载 7
  • 被收藏 0
相关资源
广告代码123
若发现您的权益受到侵害,请立即联系客服,我们会尽快为您处理。侵权客服QQ:395972555 (支持时间:9:00-21:00) 公众号
Powered by 太赞文库
×
确认删除?