版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据库操作基础,目标,关系数据库 SQL语言,关系数据库的结构,一、关系数据模型的数据结构,在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。,属性,元组,关系数据模型的数据结构,关系(Relation) 一个关系对应通常说的一张表 元组(Tuple) 表中的一行即为一个元组 属性(Attribute) 表中的一列即为一个属性,给每一个属性起一个名称即属性名 主码(Key) 表中的某个属性组,它可以唯一确定一个元组,关系数据模型的数据结构,域(Domain) 属性的取值范围 分量 元组中的一个属性值 关系模式 对关系的描述 关系名(属性1,属性2,属性n),关系数据模型的数据
2、结构,关系必须是规范化的,满足一定的规范条件 最基本的规范条件:关系的每一个分量必须是一个不可分的数据项, 不允许表中还有表,图1.27 一个工资表(表中有表)实例,关系数据模型的数据结构(术语对比),二、关系数据模型的操纵与完整性约束,数据操作是集合操作,操作对象和操作结果都是关系,都必须满足关系的完整性约束条件 查询 插入 删除 更新 数据操作是集合操作,操作对象和操作结果都是关系,即若干元组的集合 存取路径对用户隐蔽,用户只要指出“干什么”,不必详细说明“怎么干”,关系数据模型的操纵与完整性约束,关系的完整性约束条件 实体完整性 规定基本关系的所有主属性都不能取空值 参照完整性 规定基本
3、关系的主属性可以取空值或目标关系中已经存在的值 用户定义的完整性 针对某一具体关系数据库的约束条件 反映某一具体应用所涉及的数据必须满足的语义要求,三、关系数据模型的存储结构,实体及实体间的联系都用表来表示 表以文件形式存储 有的DBMS一个表对应一个操作系统文件 有的DBMS自己设计文件结构,SQL语言,SQL特点 SQL分类 Mysql中常用的数据类型 SQL主要语句语法 从Mysql中导入和导出数据库结构,SQL概述,SQLStructured Query Language SQL的功能:数据定义、操纵和控制。 SQL的特点 综合统一 高度非过程化 面向集合的操作方式 语言简捷,易学易用
4、 SQL语言支持关系数据库三级模式结构,1SQL(Structured Query Language)全称是结构化查询语言,是一种关系数据库语言,提供数据的定义、查询、更新和控制等功能。功能强大、能够完成各种数据库操作。 2SQL语言不是一个应用程序开发语言,它只提供对数据库的操作能力,不能完成屏幕控制、菜单管理、报表生成等功能。,SQL特点,SQL特点,3有利于各种数据库之间交换数据、有利于程序的移植、有利于实现程序和数据间的独立性;有利于实施标准化; 4书写简单、易学易用。,1、数据定义语言(DDL:Data Definition Language) 创建、修改或删除数据库中各种对象,包括
5、表、视图、索引等。 2、查询语言(QL:Query Language) 按照指定的组合、条件表达式或排序检索已存在的数据库中的数据,但并不改变数据库中数据。,SQL分类,SQL分类,3、数据操纵语言(DML:Data Manipulation Language ) 对已经存在的数据库进行记录的插入、删除、修改等操作,4、数据控制语言(DCL:Data Control Language) 用来授予或收回访问数据库的某种特权、控制数据操纵事务的发生时间及效果、对数据库进行监视 注意:在书写各种SQL 命令时,命令中所涉及的标点符号,如括号、逗号、分号、圆点(英文句号)等都应是英文半角,如果写成中文
6、全角符号,则会在执行命令时出错。,SQL分类,数值类型 (例如: Float,Int,Double 等) 日期和时间类型 (例如: Date,Time等) String类型 (例如: Char,Varchar),Mysql常用的数据类型:,MySQL支持所有标准SQL数值数据类型。 这些类型包括严格数值数据类型(INTEGER (Integer)、SMALLINT (SmallInt) 等 以及近似数值数据类型(FLOAT、REAL和DOUBLE PRECISION)。 关键字INT是INTEGER的同义词,关键字DEC是DECIMAL的同义词。,数值类型,数值类型,作为SQL标准的扩展,My
7、SQL也支持整数类型TINYINT、MEDIUMINT和BIGINT,Float (同义real) 小(单精度)浮点数。 允许的值是-3.402823466E+38到-1.175494351E-38、0和1.175494351E-38到3.402823466E+38。 Double(同义DOUBLE PRECISION) 普通大小(双精度)浮点数。允许的值是-1.7976931348623157E+308到-2.2250738585072014E-308、0和2.2250738585072014E-308到 1.7976931348623157E+308,日期和时间类型,表示时间值的DATE和
8、时间类型为DATETIME、DATE、TIMESTAMP、TIME和YEAR。每个时间类型有一个有效值范围和一个“零”值,当指定不合法的MySQL不能表示的值时使用“零”值。TIMESTAMP类型有专有的自动更新特性,日期和时间类型-Date,DATE 日期。支持的范围为1000-01-01到9999-12-31。MySQL以YYYY-MM-DD格式显示DATE值,但允许使用字符串或数字为DATE列分配值。,日期和时间类型-Datetime,DATETIME 日期和时间的组合。支持的范围是1000-01-01 00:00:00到9999-12-31 23:59:59。MySQL以YYYY-MM
9、-DD HH:MM:SS格式显示DATETIME值,但允许使用字符串或数字为DATETIME列分配值。,日期和时间类型-TIMESTAMP,TIMESTAMP (Mysql 4.1版本以下) 时间戳。范围是1970-01-01 00:00:00到2037年。 TIMESTAMP列用于INSERT或UPDATE操作时记录日期和时间。如果你不分配一个值,表中的第一个TIMESTAMP列自动设置为最近操作的日期和时间。也可以通过分配一个NULL值,将TIMESTAMP列设置为当前的日期和时间。 TIMESTAMP值返回后显示为YYYY-MM-DD HH:MM:SS格式的字符串,显示宽度固定为19个字
10、符,日期和时间类型-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_DATE SQL模式,使用这些值会产生警告。,
11、可以使用任何常见格式指定DATETIME、DATE和TIMESTAMP值:,YYYY-MM-DD HH:MM:SS或YY-MM-DD HH:MM:SS格式的字符串。允许“不严格”语法:任何标点符都可以用做日期部分或时间部分之间的间割符。例如,98-12-31 11:30:45、98.12.31 11+30+45、98/12/31 11*30*45和981231 113045是等价的。,YYYYMMDDHHMMSS或YYMMDDHHMMSS格式的没有间割符的字符串,假定字符串对于日期类型是有意义的。例如,19970523091528和970523091528被解释为1997-05-23 09:1
12、5:28,但971122129015是不合法的(它有一个没有意义的分钟部分),将变为0000-00-00 00:00:00。,YYYYMMDDHHMMSS或YYMMDDHHMMSS格式的数字,假定数字对于日期类型是有意义的。例如,19830905132800和830905132800被解释为 1983-09-05 13:28:00。,YYYY-MM-DD或YY-MM-DD格式的字符串。这里也允许使用“不严格的”语法。例如,98-12-31、98.12.31、98/12/31和981231是等价的。 YYYYMMDD或YYMMDD格式的没有间割符的字符串,假定字符串对于日期类型是有意义的。例如,
13、19970523和970523被解释为 1997-05-23,但971332是不合法的(它有一个没有意义的月和日部分),将变为0000-00-00。,YYYYMMDD或YYMMDD格式的数字,假定数字对于日期类型是有意义的。例如,19830905和830905被解释为1983-09-05。,无效DATETIME、DATE或者TIMESTAMP值被转换为相应类型的“零”值(0000-00-00 00:00:00、0000-00-00或者00000000000000)。,String类型,字符串类型指CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM等。,St
14、ring类型- CHAR和VARCHAR类型,CHAR和VARCHAR类型声明的长度表示你想要保存的最大字符数。例如,CHAR(30)可以占用30个字符。 CHAR列的长度固定为创建表时声明的长度。最大长度为 8,000 个字符。 VARCHAR列中的值为可变长字符串。最大长度为 8,000 个字符。,下面的表显示了将各种字符串值保存到CHAR(4)和VARCHAR(4)列后的结果,说明了CHAR和VARCHAR之间的差别:,String类型- BINARY和VARBINARY类型,BINARY和VARBINARY类类似于CHAR和VARCHAR 它们包含字节字符串而不是字符字符串。 BINA
15、RY和VARBINARY允许的最大长度一样,如同CHAR和VARCHAR,不同的是BINARY和VARBINARY的长度是字节长度而不是字符长度。,String类型-BLOB和TEXT类型,可以容纳可变数量的数据 BLOB 列被视为二进制字符串(字节字符串)。TEXT列被视为非二进制字符串(字符字符串)。 Text数据类型的列可用于存储大于8kb的字符。,String类型-ENUM类型,ENUM是一个字符串对象,其值来自表创建时在列规定中显式枚举的一列值。 ENUM(value1,value2,.) ENUM列最多可以有65,535个截然不同的值.,SQL主要语句语法,MySQL实用工具语句(
16、DESCRIBE语法 ,USE语法) 数据定义语句(创建,删除,修改数据库和表) 数据操作语句 (对表中的数据进行查询,修改,删除等操作),SQL主要语句语法MySQL实用工具语句,USE语法 USE db_name USE db_name语句可以通告MySQL把db_name数据库作为默认(当前)数据库使用,用于后续语句。该数据库保持为默认数据库,直到语段的结尾,或者直到发布一个不同的USE语句:,SQL主要语句语法MySQL实用工具语句,DESCRIBE语法(获取有关列的信息) DESCRIBE可以提供有关表中各列的信息。也就是创建的表中各个属性的名字和数据类型等信息 ,SQL主要语句语法
17、数据定义语句,CREATE DATABASE语法 CREATE TABLE语法 CREATE INDEX语法 DROP DATABASE语法 DROP INDEX语法 DROP TABLE语法 ALTER TABLE语法 RENAME TABLE语法,CREATE DATABASE语法,CREATE DATABASE用于创建数据库,并进行命名。如果要使用CREATE DATABASE,您需要获得数据库CREATE权限。 CREATE DATABASE db_name ; 例如:Create Database test1;,CREATE TABLE语法,CREATE TABLE ( 列级完整性约
18、束条件 , 列级完整性约束条件) ,);,注:列级约束条件有两个任选项: NOT NULL,表示此列不得置NULL,在其后还可加UNIQUE任选项,表示列值不得重复。 DEFAULT,当此列的值空缺时,填以缺省值 例如:stu_id char(20) not null, price float default 0.01,表级完整性约束条件,主关键字约束指定表的一列或几列的组合的值在表中具有惟一性,即能惟一地指定一行记录。 每个表中只能有一列被指定为主关键字,且IMAGE 和TEXT 类型的列不能被指定为主关键字,也不允许指定主关键字列有NULL 属性。 语法如下:,CONSTRAINT constraint_namePRIMARY KEY (column_name) 各参数说明如下:constraint_name指定约束的名称约束的名称。在数据库中应是惟一的。如果不指定,则系统会自动生成一个约束名。 column_name指定组成主关键字的列名。,Create table products( id char(20) not null, price float default 0.01, constraint primary key (id) );,定义外关键字约束的语法如下:CONSTRAINT FOREIGN KEY (column_name1, column_n
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026四川长虹教育科技有限公司招聘软件开发岗位测试笔试历年备考题库附带答案详解
- 2026合肥常春藤移动科技有限公司招聘笔试历年备考题库附带答案详解
- 2026内蒙古未来产业投资管理有限公司招聘11人笔试历年备考题库附带答案详解
- 2026中煤科工集团北京华宇工程有限公司全球校园招聘40人笔试历年常考点试题专练附带答案详解
- 2026中国石化贵州分公司招聘3人笔试历年常考点试题专练附带答案详解
- 2026中国华电集团有限公司广东公司校园招聘(第一批)笔试历年典型考点题库附带答案详解
- 2026下半年上海市闵行区区管国企招聘8人(第二批)笔试历年备考题库附带答案详解
- 2025陕西汉水电力实业(集团)有限责任公司供电服务用工招聘117人笔试历年典型考点题库附带答案详解
- 2025重庆机床(集团)有限责任公司招聘40人笔试历年常考点试题专练附带答案详解
- 2025达拉特旗智杰教育投资有限责任公司招聘10名劳务服务人员笔试历年常考点试题专练附带答案详解
- 2026年国企中层干部竞聘笔考试题与答案
- 2026年演出经纪人考试题库及答案(真题)
- 2026年广西壮族自治区南宁市公安招聘辅警考试真题及答案
- 2026江苏苏州市相城区人民检察院招聘编外人员3人笔试题库及答案详解(新)
- 2026年生产文员测试题及答案
- 2026年全国执业兽医资格证考试题库带答案详解(完整版)
- 2026年学法减分题库和答案
- 乡镇(街道功能区)党政领导干部离任经济事项交接表(开发区和园区适用本表-修订)
- 第一单元 文明的产生和古代亚非文明知识点提纲-2026-2027学年统编版九年级历史上册
- 2025年四川省公开遴选公务员笔试(案例分析)试题及答案
- 慈星全电脑横编织机操作手册
评论
0/150
提交评论