一、结构化查询语言(Structured Query Language)是一个综合的,通用的,功能极强的语言
SQL功能 | 核心动词 |
数据查询 | SELECT |
数据定义 | CREATE,DROP,ALTER |
数据操纵 | INSERT,UPDATE,DELETE |
数据控制 | GRANT,REVOKE |
二、SQL支持关系数据库的三级模式,外模式(对应视图和部分查询表),模式(基本表),内模式(存储文件),用户可以通过SQL对视图和表进行查询。而数据库的三层结构:<目录名><模式名><表名>;目录是所有SQL模式的集合,每个数据库含一个目录
三、数据库操作(增,删,改,查)
1. 创建数据表course
-- Table: test.course
-- DROP TABLE test.course;
CREATE TABLE test.course
(
cno character(3),
cname character(20) NOT NULL,
credit numeric(2,0),
pcno character(3)
)
WITH (
OIDS=FALSE
);
ALTER TABLE test.course
OWNER TO postgres;
2. 创建数据表student
CREATE TABLE test.student
(
sno numeric(6,0) NOT NULL,
sname character(8) NOT NULL,
age numeric(3,0),
sex character(5),
dept character(20),
CONSTRAINT student_pkey PRIMARY KEY (sno)
)
WITH (
OIDS=FALSE
);
ALTER TABLE test.student
OWNER TO postgres;
3.创建选课表
CREATE TABLE test.sc
(
sno numeric(6,0) NOT NULL,
cno character(3) NOT NULL,
grade numeric(3,0),
CONSTRAINT sc_pkey PRIMARY KEY (sno, cno)
)
WITH (
OIDS=FALSE
);
ALTER TABLE test.sc
OWNER TO postgres;
4.表的删除
DROP TABEL test.sc CASCEDE
5.表的修改
ALTER TABEL student
ADD addr CHAR(10);
DROP addr RESTRICT
MODIFY addr CHAR(8)
ADD PRIMARY KEY(cno)
SQL Server中,如果目标表存在:
insert
into
目标表
select
*
from
原表;
SQL Server中,,如果目标表不存在:
select
*
into
目标表
from
原表;
Oracle中,如果目标表存在:
insert
into
目标表
select
*
from
原表;
commit
;
Oracle中,如果目标表不存在:
create
table
目标表
as
select
*
from
原表;