数据库 学习笔记(三) SQL基础

SQL语言分为:数据定义语言(Data-Definition Language,DDL)--SQL DDL定义关系模式、删除关系以及修改关系模式的命令;数据操纵语言(Data-Manipulation Language,DML)--增删改查;完整性(integrity)--SQL DDL包括定义完整性约束的命令;视图定义(view definition)--SQL DDL包括定义视图的命令;事务控制(transaction control)--SQL包括定义事务的开始和结束的命令;嵌入式SQL和动态SQL(embedded SQL and dynamic SQL)--嵌入式和动态SQL定义SQL语句如何嵌入到通用编程语言(如C、C++等);授权(authorization):SQL DDL包括定义对关系和视图的访问权限的命令。

3.1 基本模式定义
数据库中的关系集合必须由数据定义语言(DDL)指定给系统。SQL的DDL不仅能够定义一组关系,还能够定义每个关系的信息,包括:每个关系的模式;每个属性的取值类型;完整性约束;每个关系维护的索引集合;每个关系的安全性和权限信息;每个关系在磁盘上的物理存储结构。

创建关系(即创建表):

create table r(A1 D1,A2 D2,...,An Dn,<完整性约束1>,...,<完整性约束k>);

最常使用的完整性约束:

primary key(Aj1,Aj2,...,Ajm):属性Aj1,Aj2,...Ajm构成关系的主码--主码属性必须非空且唯一,关系中没有一个元组在主码属性上取空值,也没有两个元组在所有主码属性上取值相同。

foreign key(Ak1,Ak2,...,Akn) references t:任意元组在属性Ak1,Ak2,...,Akn上的取值必须对应于关系t中某元组在主码属性上的取值。

not null:该属性上不允许空值

删除关系(即删除表):

drop table r

修改关系(即修改表的定义):

alter table r

3.2 数据库数据的修改

删除元组(即删除数据):

delete from r where p;如果省略where子句,则删除r中所有元组

注意区别于drop:delete只删除表数据,而drop不仅删除表数据,还删除表的模式。

插入元组(即插入数据):

insert into r(A1,A2,...,An) values (p1,p2,...,pn)

提升:insert into r1 select A1,A2,...,An from r2 where Ak=V1 and Aj>V2

更新元组(即更新数据个别属性值)

update r set A1=V1,...,Ak=Vk

提升:

时间: 2024-12-29 07:27:19

数据库 学习笔记(三) SQL基础的相关文章

Oracle学习笔记三 SQL命令

SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)               下面是这四种SQL语言的详细笔记: Oracle学习笔记三 SQL命令(二):SQL操作语言类别 Oracle数据类型 创建表时,必须为各个列指定数据类型 以下是 Oracle 数据类型的类别: 字符数据类型 CHAR类型 当需要固定长度的字符串时,使用 CHAR 数据类型. CHAR 数据类型存储字母数字值. CH

Oracle数据库学习笔记1—SQL

什么是SQL? SQL是结构化查询语言(英语:Structural Query Language,缩写:SQL),是一种特殊目的之编程语言,用于数据库中的标准数据查询语言. SQL 是一种为数不多的声明性语言,它的运行方式完全不同于我们所熟知的命令行语言.面向对象的程序语言.甚至是函数语言.首先要在脑袋中有个"声明"的概念,SQL 语言是为计算机声明了一个你想从原始数据中获得什么样的结果的一个范例,而不是告诉计算机如何能够得到结果. SQL语法不按套路出牌. SQL有以下的几个分类:

Java基础学习笔记三 Java基础语法

Scanner类 Scanner类属于引用数据类型,先了解下引用数据类型. 引用数据类型的使用 与定义基本数据类型变量不同,引用数据类型的变量定义及赋值有一个相对固定的步骤或格式. 数据类型 变量名 = new 数据类型(); 每种引用数据类型都有其功能,我们可以调用该类型实例使用其功能. 变量名.方法名(); Scanner类 Scanner类可以完成用户键盘录入,获取到录入的数据. Scanner使用步骤: 导包: import java.util.Scanner; 创建对象实例:Scann

Python学习笔记三:基础语法

Python编程中理解对象的概念很重要,因为其宗旨是'一切皆对象'.(提前预告) 高级语言Python,Perl和Java等语言有许多相似之处.但是,也存在一些差异. 交互式编程: 脚本式编程 Python IDE 编写.py Python 标识符 区分大小写 以_开头的标识符有特殊意义 以单_开头(_foo)的代表不能直接访问的类属性,需要提供类提供的接口进行访问,不能用from xxx import **而导入. 以双下划线开头(__foo)代表私有成员 以双下划线开头和结尾的(__foo_

[转]mnesia数据库学习笔记

mnesia数据库学习笔记一 mnesia数据库学习笔记二 mnesia数据库学习笔记三 mnesia数据库学习笔记四

MySQL数据库学习笔记(十二)----开源工具DbUtils的使用(数据库的增删改查)

[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4085684.html 联系方式:[email protected] [正文] 这一周状态不太好,连续打了几天的点滴,所以博客中断了一个星期,现在继续. 我们在之前的几篇文章中学习了JDBC对数据库的增删改查.其实在实际开发中,一般都是使用第三方工具类,但是只有将之前的基础学习好了,在使用开源工具的

数据库学习笔记(一)

1.在ORACLE里默认只有三个系统用户,ORACLE是通过用户登入.  SYS用户:超级管理员,权限最高,它的角色是DBA.默认密码是change_on_install.具有创建数据库的权限   SYSTEM用户:系统管理员,权限很高,它的角色是DBA operator,默认密码manager.不具有创建数据库的权限!  普通用户(normal),如系统安装时的scott用户,默认密码是tiger.普通用户的权限是SYS用户或SYSTEM用户给的. 在SQL SERVER里是通过WINDOWS

MySQL数据库学习笔记(十)----JDBC事务处理、封装JDBC工具类

首先需要回顾一下上一篇文章中的内容:MySQL数据库学习笔记(九)----JDBC的PreparedStatement接口重构增删改查 一.JDBC事务处理: 我们已经知道,事务的概念即:所有的操作要么同时成功,要么同时失败.在MySQL中提供了Commit.Rollback命令进行事务的提交与回滚.实际上在JDBC中也存在事务处理,如果要想进行事务处理的话,则必须按照以下的步骤完成. JDBC中事务处理的步骤: 1.要取消掉JDBC的自动提交:void setAutoCommit(boolea

加壳学习笔记(二)-汇编基础

7.简单的汇编语法:   堆栈平衡  PUSH,POP功能: 把操作数压入或取出堆栈语法: PUSH 操作数 POP 操作数格式: PUSH r PUSH M PUSH data POP r POP mPUSHF,POPF,PUSHA,POPA功能: 堆栈指令群格式: PUSHF POPF PUSHA POPAADD,ADC功能: 加法指令语法: ADD OP1,OP2 ADC OP1,OP2格式: ADD r1,r2 ADD r,m ADD m,r ADD r,data影响标志: C,P,A,

卷积神经网络(CNN)学习笔记1:基础入门

卷积神经网络(CNN)学习笔记1:基础入门 Posted on 2016-03-01   |   In Machine Learning  |   9 Comments  |   14935  Views 概述 卷积神经网络(Convolutional Neural Network, CNN)是深度学习技术中极具代表的网络结构之一,在图像处理领域取得了很大的成功,在国际标准的ImageNet数据集上,许多成功的模型都是基于CNN的.CNN相较于传统的图像处理算法的优点之一在于,避免了对图像复杂的