数据库语言---SQL基本用法1

1.SQL:Structured Query Language 结构化查询语言

2.数据查询(Data Query)QL

数据操纵(Data Manipulation)DML

数据定义(Data Definition)DDL

数据控制(Data Control)DCL

3.SQL的主要特点综合统一,高度非过程化,面向集合的操作方式,既是独立的语言又是嵌入式语言,语言简洁,易学易用

4.外模式:视图和部分基本表模式:基本表内模式:存储文件

5.模式

模式定义:

CREATE  SCHEMA <模式名> AUTHORIZATION <用户名>

如果没有指定模式名,模式名隐含为用户名

模式的删除:

DROP
 SCHEMA <模式名> <CASCADE | RESTRICT>

CASCADE(级联):删除模式的同时把该模式中所有的数据库对象全部一起删除

RESTRICT(限制):如果该模式中已经定义了下属的数据库对象,则拒绝该删除语句的执行。只有在该模式下没有任何下属的对象时才能执行DROP
SCHEMA 语句。

例子:

CREATE
 SCHEMA TEST AUTHORIZATION ZHANG
 CREATE TABLE TAB1(COL1 SMALLINT,
 COL2 INT,
COL3 CHAR(20));

该语句为用户ZHANG创建了一个模式TEST,并且在其中定义了一个表TAB1.

6.基本表

定义基本表:

CREATE TABLE <表名> (<列名> <数据类型> [列级完整性约束条件],

<列名>  <数据类型> [列级完整性约束条件]);

CREATE TABLE Student

(SoneCHAR (9) PRIMARY KEY, /*主码*/

Sname CHAR (20) UNIQUE,
 /*唯一性*/

Ssex CHAR (2),

Sage SMALLINT,

Sdept CHAR(20)

);

7.模式与表

每一个基本表都属于某一个模式,一个模式包含多个基本表。

例如定义了学生–课程模式,包含Student,Cource,SC等基本表。

方法一:在表名中明显的给出模式名

CREATE TABLE “S-T”.Student(….);

方法二:创建模式语句中同时创建表

例子:

CREATE  SCHEMA TEST AUTHORIZATION ZHANG
 CREATE TABLE TAB1(COL1 SMALLINT,
 COL2 INT,

COL3 CHAR(20));

方法三:设置所属的模式,这样在创建表时表名中不必给出模式名。

当用户创建基本表时若没有指定模式,系统根据搜索路径来确定对象所属的模式。

8.修改基本表

ALERT TABLE <表名>

[ADD <新列名> <数据类型> [完整性约束]]
/增加新列和完整性约束条件/

[DROP <完整性约束名>]/删除指定的完整性约束条件/

[ALTER COLUMN <列名> <数据类型>];/修改原有列定义,包括修改列名和数据类型/

例子:增加入学时间列,数据类型为日期型

ALTER  TABLE Student ADD S_entrance DATA;

9.删除基本表

DROP  TABLE <表名> [RESTRICT|CASCADE];

若选择RESTRICT,删除表是有限制的。欲删除的基本表不能被其他表的约束所引用(CHECK,FOREIGN KEY等约束),不能又视图,不能有触发器,不能又存储过程或函数。如果存在依赖该表的对象,则此表不能删除。

若选择CASCADE,没有限制,在删除基本表的同时,相关依赖对象都将被一起删除。

缺省的情况下为RESTRICT

例子:删除Student表

DROP TABLE Student CASCADE;

10.建立索引 :为了加快查询的速度

CREATE [UNIQUE] [CLUSTER] INDEX <索引名> ON <表名><列名> [<次序>],<列名> [<次序>])

索引可以建立在表的一列或者多列上,各列名之间用逗号分隔,次序可以选择升序ASC或者降序DESC,缺省为ASC

UNIQUE:说明每一个索引值只对应唯一的数据记录

CLUSTER:要建立的索引是聚簇索引。聚簇索引是索引项的顺序与表中记录的物理顺序一致的索引组织

例子:

CREATE CLUSTER INDEX Stusname ON Student (Sname);

注意:一个基本表只能建立一个聚簇索引,建立聚簇索引后,更新该索引列上的数据时,往往导致表中物理顺序的改变,所以不适合经常更新的表。

11.删除索引

DROP INDEX <索引名>

例子:删除Student表的Stusname索引

 DROP INDEX Stusname;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值