码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2015-07-31 01:15:36      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:

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

提升:

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

标签:

原文地址:http://www.cnblogs.com/newstar87/p/4690998.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!