数据库3.2 数据定义SQL语句-2 (2)
第三章 关系数据库查询语言SQL
20112011-2-25
主讲:王颂华
9
3.2 数据定义
3.2.3 索引的建立与删除
1.建立索引 1.建立索引 索引是数据库随机检索的常用手段,它实际上是记 录的关键字与其相应地址的对应表。借助于索引结构,可 以迅速查找到某个属性A 以迅速查找到某个属性A具有指定值的那些元组。对一个 基本表,可以按需要建立若干个索引,以便提供多种存取 路径。 建立索引的语句格式为: CREATE[UNIQUE][CLUSTER]INDEX<索引名 CREATE[UNIQUE][CLUSTER]INDEX<索引名 > ON<表名>(<列名1>[<次序>],[<列名2>[<次序 ON<表名>(<列名1>[<次序>],[<列名2>[<次序 >]]… >]]…);
3.2 数据定义
2)主关键字的定义 一个关系可能有多个候选关键字,但在定义基本表 时只能定义一个主关键字。一个关系的主关键字由一个或 几个属性构成,在CREATE TABLE中声明主关键字有两 几个属性构成,在CREATE TABLE中声明主关键字有两 种方法: (1)在列出关系模式的属性时,在属性及其类型后加 上保留字PRIMARY KEY,表示该属性是主关键字。 上保留字PRIMARY KEY,表示该属性是主关键字。 (2)在列出关系模式的所有属性后,再附加一个声明: PRIMARY KEY(<属性1>[,<属性2>,…]) KEY(<属性1 ,<属性2>,… 如果关键字由多个属性构成,则必须使用第二种方 法。
20112011-2-25 主讲:王颂华 12
3.3 数据查询
3.3.1 单表查询
第3章-结构化查询语言ppt课件
1. 数据操纵语言
数据操纵语言(Data Manipulation Language,DML)是SQL语言中用于查询和增删修改表数据的语句,主要语句如下:
SELECT - 从数据库表中获取数据 UPDATE - 更新数据库表中的数据 DELETE - 从数据库表中删除数据 INSERT - 向数据库表中插入数据
四、SQL能做什么?
SQL 可从数据库取回数据 SQL 可在数据库中插入新的纪录 SQL 可更新数据库中的数据 SQL 可从数据库删除记录 SQL 可创建新数据库 SQL 可在数据库中创建新表 SQL 可在数据库中创建存储过程 SQL 可在数据库中创建视图 SQL 可以设置表、存储过程和视图的权限
Numeric(6,2)
否
否
工作时数
任务(ASSIGNMENT)表结构
列名
类型
键
是否非空
备注
DepartmentName
Text(35)
主键是Biblioteka 部门名称BudgetCode
Text(30)
否
是
预算编号
OfficeNumber
Text(15)
否
是
办公室编号
Phone
Text(12)
否
是
办公电话
列名
类型
PROJECT表结构
列名
类型
键
是否非空
备注
ProjectID
Int
主键,外键
是
复合键,项目编号
EmployeeNumber
Int
主键,外键
是
复合键,雇员编号
HoursWorked
Numeric(6,2)
数据库第3章
使用DROP子句删除指定的完整性约束条件 【例3-7】 删除student表学生姓名必须取惟一值的约束 条件。 ALTER TABLE student DROP UNIQUE(name); 使用MODIFY子句修改基本表的列定义 【例3-8】 将student 表name列的数据类型改为定长字符 串型。 ALTER TABLE student MODIFY name char(8) NOT NULL; 注意: (1)修改列定义时,要将原来的列级约束条件写上,否则 原有的列级约束会不起作用。 (2)修改列定义时,有可能会破坏已有的数据,应事先作 好备份工作。 (3)SQL未提供删除属性列的语句,只能采取间接的方法
3.2 数据定义
表3-1 SQL的数据定义语句 操作对象 数据库 操作方式 创建语句 CREATE DATABASE CREATE TABLE 删除语句 DROP DATABASE 修改语句 ALTER DATABASE
基本表 索引
视图
DROP
TABLE INDEX
VIEW
ALTER TABLE
CREATE INDEX DROP
3.2.4 建立索引 索引的概念 索引是建立在列上的一种数据库对象,它 对表中的数据提供逻辑顺序,当在数据库表中 搜索某一行时,可以通过使用索引来找到它的 物理位置。索引建立后,什么时候使用索引以 及使用哪一个索引(当有多个索引存在时), 由DBMS内部根据情况自行决定,不需要人员干 预。索引是动态的,每当数据库表的数据更新 一次,相应的索引也随之更新。
CREATE VIEW DROP
3.2.1 数据库的创建与删除 创建数据库 SQL使用命令CREATE DATABASE创建数据库,其一般语法 如下: CREATE DATABASE <数据库名>; 【例3-1】创建一个简单数据库。 CREATE DATABASE MyDb; 删除数据库 SQL使用命令DROP DATABASE删除一个或多个数据库,其 一般语法如下: DROP DATABASE <数据库名1> [,<数据库名2>][,…]; 【例3-2】删除数据库MyDb。 DROP DATABASE MyDb;
-数据库原理及应用第二版-第1-4章习题答案-课后习题
-数据库原理及应用第二版-第1-4章习题答案-课后习题数据库原理及应用第二版第1-4章习题答案课后习题---1. 第一章习题答案1.1 什么是数据库管理系统(DBMS)?提供三个具体例子。
DBMS是一种软件系统,用于管理和组织大量数据的存储和访问。
具体例子包括MySQL,Oracle和Microsoft SQL Server。
1.2 数据库系统由哪些基本组成部分构成?简要描述每个组成部分的功能。
数据库系统由以下组成部分构成:- 数据库:用于存储和组织数据的集合。
- 数据库管理系统(DBMS):负责管理和操作数据库的软件系统。
- 应用程序:使用数据库中的数据进行特定任务的软件程序。
- 用户:通过应用程序和DBMS与数据库进行交互的人。
1.3 什么是数据库模式(schema)?它包括哪些内容?数据库模式是数据库的逻辑结构和特征的描述。
它包括实体(Entity)、属性(Attribute)、关系(Relationship)以及约束条件等内容。
1.4 什么是数据库实例(instance)?它包括哪些内容?数据库实例是指在内存中运行的数据库系统。
它包括当前数据库中的数据以及与之相关的缓冲区、连接信息和其他控制结构等内容。
1.5 简述数据库管理系统的主要功能。
- 数据定义功能:定义和描述数据库模式。
- 数据操作功能:实现对数据库的增、删、改、查等操作。
- 数据控制功能:管理用户访问权限,并确保数据的完整性和安全性。
- 数据库恢复功能:通过备份和恢复机制保护数据的持久性。
- 并发控制功能:维护多个用户同时访问数据库的一致性和隔离性。
2. 第二章习题答案2.1 数据库系统中的数据模型是什么?它的目的是什么?数据模型是数据库中数据的逻辑表示方式。
它的目的是描述数据之间的关系以及数据的特性和约束条件。
2.2 列举并简要描述常见的数据模型。
- 层次模型:将数据组织成树状结构,通过父节点和子节点之间的关系表示数据之间的层次关系。
数据库的标准语言SQL
学时数:12学时课程类型:理论课程章节:第三章 数据库的标准语言SQL§3.1SQL查询§3.2 SQL数据定义§3.3 SQL数据操作§3.4 SQL数据控制§3.5数据字典教学目的:了解SQL的背景知识掌握SQL查询语句掌握SQL数据定义语句CREATE、DROP、ALTER掌握数据操纵语句INSERT、DELETE、UPDATE掌握数据控制语句GRANT、REVOKE教学要求:牢记有关概念,掌握SQL查询教学重点:1. SQL数据定义:基本表、视图、别名,建立索引2. SQL数据操纵:插入、更新、删除3. SQL数据查询教学难点:SQL查询:简单查询、联接查询、嵌套查询、库函数查询、集合运算教学手段:讲解、分组讨论、习题主要教学内容:1.SQL查询:简单查询、联接查询、嵌套查询、库函数查询、集合运算2.SQL数据定义:基本表、视图、别名,建立索引3.SQL数据操作:插入、更新、删除4.SQL数据控制5.数据字典第三章 数据库的标准语言SQLSQL是一种介于关系代数与关系演算之间的结构化查询语言,其功能并不仅仅是查询。
SQL是一个通用的、功能极强的关系数据库语言。
SQL的特点SQL语言之所以能够为用户和业界所接受,并成为国际标准,是因为它是一个综合的、功能极强同时又简捷易学的语言。
SQL语言集数据查询(Data Query)、数据操纵(Data Manipulation)、数据定义(Data Definition)和数据控制(Data Control)功能于一体,主要特点包括:1.综合统一数据库系统的主要功能是通过数据库支持的数据语言来实现的。
非关系模型(层次模型、网状模型)的数据语言一般都分为模式数据定义语言(Schema Data Definition Language,简称模式DDL)、外模式数据定义语言(Subschema Data Definition Language,简称外模式DDL或子模式DDL)、与数据存储有关的描述语言(Data Storage Description Language,简称DSDL)及数据操纵语言(Data Manipulation Language,简称DML),分别用于定义模式、外模式、内模式和进行数据的存取与处置。
《数据库原理及应用》教学课件 第三章SQL基础
第三章 SQL基础
本章导读
结构化查询语言(Structured Query Language,SQL) 是关系数据库的标准语言,是集数据查询、数据操纵、数 据定义与数据控制于一体的综合性语言。在关系数据库 中,可以通过它完成数据库内的所有操作。本章首先介绍 SQL的发展及特点,然后通过实例介绍数据库和数据表的 基本操作。
④ MODIFY FILE:指定要修改的文 件。
⑤ ADD FILEGROUP:向数据库中 添加文件组。
⑥ REMOVE FILEGROUP:从数据 库中删除文件组。若文件组不为空,则 无法删除。
⑦ “[ , … N]”表示在前一语句后可 接N个同格式语句。
⑧ “|”表示用其隔开的语句在一次 命令中不可同时选用。
20
3.2 数据库基本操作
3.2.4 修改数据库
【例3-2】 将数据库 test 的名称改为 test1。 ALTER DATABASE test MODIFY NAME=test1
【例3-3】 将数据库SRS的日志文件最大容量改为100 MB。
ALTER DATABASE SRS MODIFY FILE (NAME=SRS_Data, MAXSIZE=100MB)
系列 1, 锐系普列PP2T, 锐, 2普.8 PPT, 2.8
日志文件由一系列日志记录组成,它 记录了数据库的更新情况和用户对数据库 的修改操作等。
当数据库发生损坏时,可以通过日志 文件分析出错原因;当数据丢失时,也可 以使用日志文件恢复数据库。
16
3.2 数据库基本操作
3.2.3 创建数据库
02 用SSMS创建数据库
在 SSMS 中可按如下步骤创建数据库。
数据库系统第3章 结构化查询语言
5. 事务处理语言
事务处理语言(Transaction Process Language,TPL)是SQL 语言中用于数据库内部事务处理的语句。主要语句如下:
BEGIN TRANSACTION – 开始事务 COMMIT – 提交事务 ROLLBACK – 回滚事务
6. 游标控制语言
游标控制语言(Cursor Control Language,CCL)是SQL语言 中用于数据库游标操作的语句。主要语句如下:
DECLARE CURSOR – 定义游标 FETCH INTO – 提交游标数据 CLOSE CURSOR– 关闭游标
六、SQL语言的数据类型
1. 基本数据类型
字符:CHAR、VARCHAR、TEXT 整数:SMALLINT、INTEGER 浮点数:NUMBER(n,d)、FLOAT(n,d) 日期:DATE、DATETIME 货币:MONEY 2. 不同数据库所支持数据类型 Access的数据类型见表3-1所示 SQL Server的数据类型见表3-2所示 MySQL的数据类型见表3-3所示
3. 数据查询语言 数据查询语言(Data Query Language,DQL)是SQL语言中用 于对数据库进行查询的语句。该语句只有Select一个语句, 但其变化范型较多。
4. 数据控制语言 数据控制语言(Data Control Language,DCL)是SQL语言中 用于对数据访问权进行控制的语句。主要语句如下: GRANT – 授予用户对数据对象的权限 DENY – 拒绝授予用户对数据对象的权限 REVOKE – 撤消用户对数据对象的权限
DBMS
(执行SQL)
I/O
数据
数据库
第3章 SQL语言基础及数据定义功能
Create Table SC (学号 char(7) References S(学号), 课程号 char(2) Not Null, 成绩 smallint Check(成绩>=0), Primary Key(学号, 课程号) Foreign Key(课程号) References C(课程号) ) (2)删除数据表 格式:Drop Table 表名, … 功能:删除数据表。 例:删除数据表text,语句为 Drop Table text
(3)删除数据库 格式:Drop DataBase 数据库名 功能:删除指定数据库。 例:删除学生管理数据库student 。 Drop DataBase student 3.3.1 数据表建立和删除 (1)建立数据表 格式:Create Table 数据表名 (列名 类型 [完整性约束] ,… [,完整性约束])
SQL语言的命令动词 SQL功能
数据查询 数据定义 数据操纵 数据控制 SELECT CREATE、DROP、ALTER INSERT、UPDATE、DELETE GRANT、REVOKE
命令动词
P27表3-1
3.2 SQL数据类型
在定义表结构时,每个字段都要指明它的数据类 型,SQL提供了丰富的数据类型。 每个数据类型都有它的特点和取值范围,用户使 用时可以根据实际需要进行选择。 3.2.1 数值型 1. 准确型 指在计算机中能精确存储的数据类型。 有bigint、int、smallint、tinyint、bit、nume ric(p,q)、decimal(p,q)等。
3.3.2 修改表结构 格式:Alter Table 表名 [Alter Column 列名 新类型 |Add 新列名 类型 [完整性约束] |Drop Column 列名] 功能:修改列类型、添加新列、删除列。 例2:为表SC添加新列修课类别。 Alter Table SC Add 修课类别 char(4) 例3:修改表SC中修课类别的类型。 Alter Table SC Alter Column 修课类别 char(6)
数据库(数据库、表及表数据、SQL语句)
数据库(数据库、表及表数据、SQL语句)数据库MYSQL今⽇内容介绍u MySQL数据库u SQL语句第1章数据库1.1 数据库概述l 什么是数据库数据库就是存储数据的仓库,其本质是⼀个⽂件系统,数据按照特定的格式将数据存储起来,⽤户可以对数据库中的数据进⾏增加,修改,删除及查询操作。
l 什么是数据库管理系统数据库管理系统(DataBase Management System,DBMS):指⼀种操作和管理数据库的⼤型软件,⽤于建⽴、使⽤和维护数据库,对数据库进⾏统⼀管理和控制,以保证数据库的安全性和完整性。
⽤户通过数据库管理系统访问数据库中表内的数据。
l 常见的数据库管理系统MYSQL :开源免费的数据库,⼩型的数据库.已经被Oracle收购了.MySQL6.x版本也开始收费。
Oracle :收费的⼤型数据库,Oracle公司的产品。
Oracle收购SUN公司,收购MYSQL。
DB2 :IBM公司的数据库产品,收费的。
常应⽤在银⾏系统中.SQLServer:MicroSoft 公司收费的中型的数据库。
C#、.net等语⾔常使⽤。
SyBase :已经淡出历史舞台。
提供了⼀个⾮常专业数据建模的⼯具PowerDesigner。
SQLite : 嵌⼊式的⼩型数据库,应⽤在⼿机端。
Java相关的数据库:MYSQL,Oracle.这⾥使⽤MySQL数据库。
MySQL中可以有多个数据库,数据库是真正存储数据的地⽅。
l 数据库与数据库管理系统的关系1.2 数据库表数据库中以表为组织单位存储数据。
表类似我们的Java类,每个字段都有对应的数据类型。
那么⽤我们熟悉的java程序来与关系型数据对⽐,就会发现以下对应关系。
类----------表类中属性----------表中字段对象----------记录1.3 表数据根据表字段所规定的数据类型,我们可以向其中填⼊⼀条条的数据,⽽表中的每条数据类似类的实例对象。
表中的⼀⾏⼀⾏的信息我们称之为记录。
数据库知识点
第一章数据(Data)是数据库中存储的基本对象;定义:描述事物的符号记录;种类:文字、图形、图象、声音;特点:数据与其语义是不可分的数据库的定义:数据库(DB)是长期储存在计算机内、有组织的、可共享的大量数据集合数据库的特征:数据按一定的数据模型组织、描述和储存,可为各种用户共享,冗余度较小,数据独立性较高,易扩展数据库管理系统(DBMS)是位于用户与操作系统之间的一层数据管理软件。
DBMS的用途:科学地组织和存储数据、高效地获取和维护数据DBMS的功能:数据库定义功能;数据组织、存储、管理;数据操纵功能;数据库的事务管理和运行管理;数据库的建立和维护功能数据库系统(DBS)是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统、应用系统、数据库管理员构成数据管理:对数据进行分类、组织、编码、存储、检索和维护,是数据处理的中心问题数据处理:对各种数据进行收集、存储、加工和传播的一系列活动的总和数据库管理技术经历了人工管理、文件系统、数据库三个阶段数据库系统的特点:数据结构化,数据共享性高、冗余度低、易扩充,数据独立性高,数据由DBMS统一管理(安全性保护、完整性保护、并发控制、数据库恢复)数据模型应满足三方面要求:能比较真实地模拟现实世界,容易为人所理解,便于在计算机上实现数据模型分成两个不同的层次:(1) 概念模型:也称信息模型,它是按用户的观点来对数据和信息建模。
(2) 数据模型(逻辑模型和物理模型):主要包括网状模型、层次模型、关系模型等,它是按计算机系统的观点对数据建模。
数据模型的组成要素:(1)、数据结构:描述数据库的组成对象以及对象之间的联系(系统静态特性);(2)、数据操作:对数据库中各种对象(型)的实例(值)允许执行的操作及有关的操作规则,主要有查询和更新(包括插入、删除和修改)(系统动态特性);(3)、数据的完整性约束条件概念模型:概念模型用于信息世界的建模,是现实世界到机器世界的一个中间层次概念模型要求:较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识、简单、清晰、易于用户理解。
232 2019远程数据库技术与应用模拟4
[试题分类]:试题分类/数据库技术与应用1.关系数据模型是用关系表示A. 实体B. 联系C. 属性D. 实体和联系答案: D题型:单选题知识点: 1.4 数据模型难度:12.支持数据库操作的软件系统称为A.数据库管理系统B.数据库系统C. 编译系统D. 操作系统答案: A题型:单选题知识点:1.2数据库系统的组成难度:13.实体集商品与工厂之间的联系是C.1:1D.1:nC. n:1D. m:n答案: D题型:单选题知识点: 4.2实体-联系模型难度:14.数据库中用于查询和更新数据的语言称为E.DDLF.DMLC. DCLD. QBE答案: B题型:单选题知识点: 3.1 SQL概述难度:15.关系代数的5种基本运算是A. 选择、投影、并、交、差B. 选择、投影、笛卡儿积、连接、差C. 并、交、选择、投影、笛卡儿积D. 并、差、选择、投影、笛卡儿积答案: D题型:单选题知识点: 3.4数据的查询操作难度:26.若关系模式R中不存在函数依赖,则R至少属于A. 2NFB. 3NFC. BCNFD. 4NF答案: C题型:单选题知识点: 5.1函数依赖难度:27.关于视图,下列说法不正确的是A. 可在多个表或视图上定义视图B. 视图简化了用户的操作C. 视图提供了一定的物理独立性D. 视图提供了一定的安全性答案: C题型:单选题知识点: 3.13视图难度:18.数据库系统中定义和描述数据库逻辑结构的语言称为A. SQL语言B. DDL语言C. DML语言D. DCL语言答案:B题型:单选题知识点: 3.2 数据定义难度:19.设关系模式R(ABCDE),F={A->BDE,B->C},R最高属于A. 1NFB. 2NFC. 3NFD. BCNF答案: B题型:单选题知识点: 5.2关系的规范化难度:210.出现在SELECT后的短语DISTINCT的作用是消除A. 重复元组B. 重复属性C. 重复属性值D. 重复元组或重复属性值答案:A题型:单选题知识点: 3.4 数据的查询操作难度:111.SQL中,如下涉及空值的条件表示不正确的是A. GRADE IS NULLB. GRADE IS NOT NULLC. GRADE = NULLD. NOT (GRADE IS NULL)答案: C题型:单选题知识点: 4 数据库设计难度:212.下面不能授予属性列的权限是A. SELECTB. INDEXC. DETETED. UPDATE答案:C题型:单选题知识点: 7.6 数据库的安全性难度:113. E-R图属于数据库设计的A. 需求分析阶段B. 概念设计阶段C. 逻辑设计阶段D. 物理设计阶段答案: B题型:单选题知识点: 4 数据库设计难度:114.从数据库中将基本表S删除的SQL语句是A.DRTOP TABLE SB.ALTER TABLE SC.DELETE FROM SD.UPDATE TABLE S答案:C题型:单选题知识点: 3.2 数据定义难度:115 SQL中,GRANT语句的功能属于A.并发控制B.完整性控制C.安全性控制D.数据恢复控制答案: C题型:单选题知识点: 7.6数据库的安全性难度:116关系数据库中的关系应该至少属于1NF,1NF满足A.每个非主属性完全依赖于码B.主码唯一标识关系中的元组C.关系中的元组不可重复D.每个属性都是不可再分的答案: D题型:单选题知识点: 3.3数据的基本操作难度:117.若事务T1对数据A执行SELECT操作,事务T2对A执行UPDATE操作,下列封锁方法不能够保证数据库数据一致性的是A.仅事务T2对A上S锁B.仅事务T2对A上X锁C.事务T1对A上S锁,事务T2对A上X锁D.事务T1和事务T2对A都上X锁答案: C题型:单选题知识点: 7.3加锁协议难度:218.仅用日志文件不能恢复的故障是A.事务故障B.系统故障C.介质故障D.软件故障答案: C题型:单选题知识点: 7.4数据库恢复难度:219.SQL中,视图提高了数据库系统的A.完整性B.安全性C.一致性D.可恢复性答案: B题型:单选题知识点: 7.4数据库的安全性难度:120.下面描述的内容属于数据库物理设计的是A.选择存取路径B.转换E-R图为关系模式C.建立数据字典D.进行数据库的重组织答案: A题型:单选题知识点: 4.1数据库设计概述难度:121.关系模型中仅有表一种结构,但可以表示二类数据:______ 。
第03章-关系数据库标准语言SQL
语句 CREATE
功能 创建数据库或数据库对象
ALTER
修改数据库或数据库对象
DROP
删除数据库或数据库对象
说明 不同数据库对象参数不同 不同数据库对象参数不同 不同数据库对象参数不同
SQL的组成(续) ❖ 数据操纵语言DML(Data Manipulation Language):用于执行对数据库检索和更新。
定义基本表(续)
❖ 表的完整性约束条件 创建表时可指定表的完整性约束条件,也称为约束: 列级完整性约束条件 完整性约束条件涉及到该表的当前一个属性列 表级完整性约束条件 完整性约束条件涉及到该表的一个或多个属性列
➢ RDBMS自动检查对表的操作是否违背表的完整性约束条件
学生表Student
数据库 模式
表 视图
模式 表
索引
定义模式(续)
❖ 基本格式: CREATE SCHEMA [<模式名>] AUTHORIZATION <用户名> CREATE、SCHEMA 、AUTHORIZATION为保留字 保留字习惯使用大写 CREATE SCHEMA 为定义模式的语句 <模式名>为所创建的模式的名称 尖括号表示用户提供的参数 方括号表示参数可选 AUTHORIZATION <用户名> 子句用于指定模式的所有者 <用户名>指定一个用户
❖ 也可以使用带指定参数值的命令创建数据库
3.3 数据定义
3.3.1 模式的定义与删除 3.3.2 基本表的定义、删除与修改 3.3.3 索引的建立与删除
定义模式
❖ 模式(SCHEMA) 定义模式实际上是定义了一个命名空间(或容器)。 在这个空间中可以定义该模式包含的数据库对象 例如基本表、视图、索引、存储过程等。 定义模式能更好的管理数据库中的对象
MySQL中的SQL语句详解
MySQL中的SQL语句详解@⽬录总结内容1. 基本概念数据库的概念1)结构化查询语⾔(Structured Query Language)简称SQL;2)数据库管理系统(Database Management System)简称DBMS;3)数据库管理员(Database Administration)简称DBA,功能是确保DBMS的正常⾼效运⾏;SQL常⽤的3个部分1)数据查询语⾔(DQL):其语句也称“数据库检索语句”,⽤以从表中获得数据,保留字SELECT经常使⽤,DQL也是所有SQL中⽤的最多的,其他保留字还有WHERE, ORDER BY, GROUP BY和HAVING这些保留字还与DML⼀起使⽤;2)数据操作语⾔(DML):其余局包括动词INSERT,UPDATE和DELETE。
他们分别⽤于添加,修改和删除表中的⾏。
也称动作语⾔;3)数据定义语⾔(DDL):DDL主要⽤于操作数据库。
2. SQL列的常⽤类型MySQL: | Java:INT | intBIGINT | longDECIMAL | BigDecimalDATE/DATETIME | java.util.DateVARCHAR | String3. DDL简单操作3.1 数据库操作连接数据库语句mysql -uroot -padmin;查看数据库列表:show databases创建数据库create database 数据库名称;删除数据库drop database 数据库名称;;修改数据库(alter databese)# 修改数据库编码格式alter database 数据库名称 charset=编码格式;查看当前数据库下所有数据表show tables;3.2 表操作表的约束1)⾮空约束:NOT NULL,不允许某列的内容为空;2)设置列的默认值:DEFAULT;3)唯⼀约束:UNIQUE,该表中,该列的内容必须唯⼀;4)主键约束:PRIMARY KEY,⾮空且唯⼀;5)主键⾃增长:AUTO_INCREMENT,从1开始,步长为1;6)外键约束:FOREIGN KEY,A表中的外键列。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
varchar(10)
','选修课')),
CourseCredit smallint
CoursePeriod smallint
TestMethod
char(4)
);
PRIMARY Key, NOT NULL UNIQUE, NULL CHECK(CourseType IN('基础课','专业课
NULL, NULL, NOT NULL DEFAULT '闭卷考试'
字段名称 学号 姓名 性别
出生日期 专业
手机号
字段编码 StudentID StudentName StudentGender BirthDay
Major
StudentPhone
数据类型 文本 文本 文本 日期 文本
文本
字段大小 13 10 2
短日期 30
11
必填字段 是 是 否 否 否
否
是否为键 主键 否 否 否 否
PRIMARY KEY, NOT NULL, NULL, NULL, NULL, NULL
4.SQL语句执行
在PostgreSQL服务器中,执行SQL语句创建数据库关系表Student。
运行按钮
SQL语句
数据库表
结果消息
5.其它的列完整性约束应用 在关系表创建SQL语句中,除了使用主键约束、是否空值约束外。有 时还会使用如下约束。
• UNIQUE——值唯一 • CHECK——有效性检查 • DEFAULT——缺省值
例 选课管理系统数据库的课程信息表Course设计需求
字称段名 字段编码 数据 型类 字小段大 必填字段 是否为键 备注
课号 程 编 CourseID 文本
4
是
主键
课程名 CeourseNam 文本
20
是
否 取值唯一
课别 程 类 CourseType 文本
10
否
学分 Ct ourseCredi 数字 短整型
否
“基础
课”、
否
“专业
课”、 “选修课”
否
创建课程信息表Course的SQL语句
CREATE TABLE Course
( CourseIName
varchar(20)
CourseType
在一些关系表中,为了方便数据处理,可以使用代理键去替代复合主键 。在SQL语句中,关系表的代理键采用表约束方式来定义。
CREATE TABLE <表名> ( <代理键列名> <Serial数据类型> NOT NULL,
<列名2> <数据类型> [列完整性约束], <列名3> <数据类型> [列完整性约束], … CONSTRAINT <约束名> PRIMARY Key(代理键列名) );
30
否
备注
Note
文本
50
否
是否为键 主键 主键 否 否 否
创建开课计划表Plan的SQL语句
CREATE TABLE ( CourseID
TeacherID CourseRoom CourseTime Note CONSTRAINT );
Plan char(4) NOT char(4) NOT varchar(30), varchar(30), varchar(50), CoursePlan_PK
CONSTRAINT <约束名> PRIMARY Key(主键列)
);
例 选课管理系统数据库的开课计划表Plan设计需求
字段名称 字段编码
数据类型 字段大小 必填字段
课程编号 CourseID
文本
4
是
教师编号 TeacherID
文本
4
是
地点
CourseRoom
文本
30
否
时间
CourseTime
文本
[列完整性约束], [列完整性约束], [列完整性约束],
2. 列完整性约束
列完整性约束关键词 • PRIMARY KEY——主键 • NOT NULL——非空值 • NULL——空值 • UNIQUE——值唯一 • CHECK——有效性检查 • DEFAULT——缺省值
3. SQL语句应用
例 选课管理数据库的学生表Student设计需求
NULL, NULL,
PRIMARY Key(CourseID,TeacherID)
在PostgreSQL中,执行SQL语句创建数据库关系表Plan。
运行按钮 SQL语句
数据库表
结果消息
使用表约束定义主键的优点: • 便于定义复合主键 • 可命名主键约束 • 便于定义代理键
7.表约束定义代理键
3.2-2 数据定义SQL语句
——数据库表创建、修改、删除
【本节学习目标】
• 掌握SQL语言的数据库表创建语句 • 掌握SQL语言的数据库表修改语句 • 掌握SQL语言的数据库表删除语句
一、数据库表创建SQL语句
1.语句基本格式
CREATE TABLE <表名> ( <列名1> <数据类型> <列名2> <数据类型> <列名3> <数据类型> … );
否
创建学生表Student的SQL语句
CREATE TABLE Student ( StudentID
StudentName StudentGender BirthDay Major StudentPhone );
char(13) varchar(10) char(2) date varchar(30) char(11)
文本
50
否
是否为键 代理键
否 否 否 否 否
创建开课计划表Plan的SQL语句
CREATE TABLE Plan
( CoursePlanID serial
CourseID
char(4)
TeacherID
例 选课管理系统数据库的开课计划表Plan设计需求
字段名称 字段编码
数据类型 字段大小 必填字段
开课编号 CoursePlanID 自动编号
长整型
是
课程编号 CourseID
文本
4
是
教师编号 TeacherID
文本
4
是
地点
CourseRoom
文本
30
否
时间
CourseTime
文本
30
否
备注
Note
在PostgreSQL服务器中,执行SQL语句创建数据库关系表Course。
运行按钮 SQL语句
数据库表
结果消息
6.表约束定义主键
使用列约束关键词PRIMARY KEY定义表的主键列只能定义单列主键,若 要定义由多个列构成的复合主键,则需要使用表约束方式来定义。
CREATE TABLE <表名> ( <列名1> <数据类型> [列完整性约束], <列名2> <数据类型> [列完整性约束], <列名3> <数据类型> [列完整性约束], …