1、SQL数据库的体系结构要点以下:数据库
一、一个SQL模式(Scheme)是表和约束的集合; ----->SQL模式(scheme)又名数据库(database)dom
二、一个表由行集构成,一行是列的序列,每列对应一个数据项;测试
三、表有三种类型:基本表、视图、导出表。基本表是实际存储在数据库中的表,视图是由若干基本表或其余视图构成的表的定义,而导出表是执行查询时产生的表。spa
2、SQL的组成:索引
核心SQL主要四个部分:事务
一、数据定义语言:即SQL DDL,用于定义SQL模式,基本表、视图、索引等结构。域名
二、数据操纵语言:即SQL DML。数据库操做分红数据查询和数据更新两类,而数据更新又分为插入、删除、修改。table
三、嵌入式SQL语言的使用规定,语法
四、数据控制语言:即SQL DCL。这一部分包括对基本表和视图的受权、完整性规则的描述、事务控制等内容。引用
3、数据库的语句(语句测试数据库用的是MySQL)
数据库建立:create database <数据库名>
删除数据库:drop database <数据库名>[CASCADE][RESTRICT]
CASCADE(级联式)方式:执行DROP语句时,只要SQL模式(数据库)及其下属的基本表,视图、索引等全部元素所有撤销。
RESTRICT(约束式)方式:执行DROP语句时,只有当SQL模式(数据库)中没有任何下属元素时,才能撤销SQL模式,不然拒绝执行DROP语句。
SQL容许用户使用“create domain”语句定义新的域,好比定义一个新的域PERSON_NAME:
CREATE DOMAIN PERSON_NAME CHAR(8);
这样就能够像使用基本类型同样,用域名PERSON_NAME来定义属性的类型。
基本表的建立:
CREATE TABLE <表名>
( <列名 类型>,
。。。
<完整性约束>,
。。。
)
eg: create table c
( C# CHAR(4),
CNAEM CHAR(10) NOT NULL,
T# CHAR(4),
PRIMARY KEY(C#),
FOREIGN KEY(T#) REFERENCES T(T#)
);
在基本表 C 的定义中说明了主键是C#,外键是T#。并指出看外键T#和基本表T中的T#类对应,此处对应的列名刚好相同,
实际上也能够不一样名,只要指出其对应性便可(也就是说C表中的T#能够改为M等等,只要指出他,和其余表中的那个属性对应便可),
外键体现了关系数据库的参照完整性。外键的取值:空或者主键值。
基本表的修改:
一、增长新的列用“alter ...add...”语句,其句法以下:
alter table <基本表名> add<列名><类型>
eg:在基本表S中添加一个地址(address)列
alter table S add address varchar(30);
应该注意:新增长的列不能定义为“not null” 。基本表在增长一列后,原有元组在新增长的列上的值都是被定义为空值(null);
二、删除原有的列用“alter ... drop...”语句,其句语法以下:
alter table <基本表名> drop <列名>[CASCADE][RESTRICT]
此处的CASCADE方式表示:在基本表中删除某列时,全部引用到该列的视图和约束也要一块儿自动的被删除,而RESTRICT方式表示,
在没有视图或约束引用该属性时,才能在基本表中删除该列,不然拒绝删除操做。
三、修改基本表S中S#的长度修改成6 能够下列语句:
alter table S modify S# char(6);