SQL建立数据库
- 一、关系演算的安全性
- 二、利用SQL建立数据库
- 1.SQL-DDL
- 1.1创建Datebase
- 1.2向表中追加元组
- 2.利用SQL语言进行简单查询
- 2.1结果唯一性问题
一、关系演算的安全性
不产生无限关系和无穷验证的运算被称为是安全的。
- 关系代数是一种集合运算,是安全的。
集合本身是有限的,有限元素集合的有限次运算依旧是有限的。 - 关系演算不一定是安全的
二、利用SQL建立数据库
1.SQL-DDL
建立数据库
1.包括两件事:定义数据库和表(使用DLL),向表中追加元组(使用DML)。
2.DDL:
- 创建数据库—Create Database。
- 创建DB中的Table(定义关系模式)— Create Table。
3.DLL通常由DBA来使用,也有经DBA授权后由应用程序员来使用。
1.1创建Datebase
1.语法形式:
create database 数据库名;
示例:创建课程学习数据库SCT
create database SCT;
2.create table简单语法形式:
Create table 简单语法形式:
Create table 表名(列名 数据类型[Primary key | Unique][Not null][,列名 数据类型 [Null],…]);
- "[]"表示其括起来的的内容可以省略,“|”表示其隔开的两项可取其一。
3.在SQL-92标准中定义的数据类型 - char(n):固定长度的字符串。
- varchar(n):可变长字符串。
- int :整数//有时不同系统也可写作integer。
- numeric(p,q):固定精度数字,小数点左边p位,右边p-q位。
- real :浮点精度数字,有时可以写成float(n),小数点保留n位。
- data:日期(如2003-10-30)。
- time:时间(如23:15:003)。
- …
例:
1.2向表中追加元组
向Table中追加新的元组:Insert。
1.insert into 简单语法形式:
insert into 表名 [(列名[,列名]…)]
values (值 [,值], …);
注:1.values 后面值的排列,须与into子句后面的列名排列一致。
2.若表名后的所有列名省略,则values后面的值排列,须与该表存储的列名一致。
例:
2.利用SQL语言进行简单查询
1.Select 的简单语法形式:
Select 列名 [[,列名]…]
From 表名
[Where 检索条件];
例:
2.检索条件的书写
其逻辑运算符用and,or,not来表示,同时还有括弧。
例:
2.1结果唯一性问题
在检索结果中要求无重复元组,是通过DISTINCT保留字的使用来实现的。
示例:在选课列表中,检索成绩大于80分的所有学号。