2024年4月10日发(作者:)

SQL命令全集

一、SQL命令介绍

SQL是 Structured Quevy Language(结构化查询语言)的缩写。SQL是专为数据库而建立

的操作命令集,是一种功能齐全的数据库语言。在使用它时,只需要发出“做什么”的命 令,

“怎么做”是不用使用者考虑的。SQL功能强大、简单易学、使用方便,已经成为了数据

库操作的基础,并且现在几乎所有的数据库均支持SQL。

二、SQL数据库数据体系结构

SQL数据库的数据体系结构基本上是三级结构,但使用术语与传统关系模型术语不同。

在SQL中,关系模式(模式)称为“基本表”(base table);存储模式(内模式)称为“存储文

件”(stored file);子模式(外模式)称为“视图”(view);元组称为“行”(row);属性称为

“列”(column)。名称对称如 ^00100009a^:

三、SQL语言的组成

在正式学习SQL语言之前,首先让我们对SQL语言有一个基本认识,介绍一下SQL语

言的组成:

1.一个SQL数据库是表(Table)的集合,它由一个或多个SQL模式定义。

2.一个SQL表由行集构成,一行是列的序列(集合),每列与行对应一个数据项。

3.一个表或者是一个基本表或者是一个视图。基本表是实际存列名为用户自定义的易于

理解的名称,列名中不能使用空格;

数据类型为上面所介绍的几种标准数据类型;

[NOT NULL/NULL]指出该列是否允许存放空值,SQL语言支持空值的概念,所谓

空值是“不知道”或“无意义”的值,值得注意的是数据“0”和空格都不是空值,系统一

般默认允许为空值,所以当不允许为空值时,必须明确使用NOT NULL;

[,UNIQUE]将列按照其规定的顺序进行排列,如不指定排列顺序,则按列的定义顺

序排列;

[PRIMARY KEY]用于指定表的主键(即关系中的主属性),实体完整性约束条件规定:

主键必须是唯一的,非空的;

[,FOREIGN KEY (列名[,列名]......) REFERENCE<表名>(列名[,列名]......)]

是用于指定外键参照完整性约束条件,FOREIGN KEY指定相关列为外键,其参照对象为

另外一个表的指定列,即使用REFERENCE引入的外表中的列,当不指定外表列名时,系统

将默认其列名与参照键的 列名相同,要注意的是:使用外键时必须使用参照,另外数据的

外键参照完整性约束条件规定:外键的值要么与相对应的主键相同,要么为空值(具体由实

现系统不 同而异)

[,CHECK]用于使用指定条件对存入表中的数据进行检查,以确定其合法性,提高数据

的安全性。

(1、)基本表的建立: 命令格式为:

CREATE TABLE|DBF <表名1> [NAME <长文件名>] [FREE]

(列名1 类型(宽度,小数)

[NULL| NOT NULL ]

[CHECK <条件1> [ERROR <出错信息1>]]

[DEFAULT <表达式1> ]

[PEIMARY KEY| UNIQUE] //建立主索引|候选索引

[REFERENCE <表名2> [TAG <索引名1>]]

[NOCPTRANS]

[, 列名2 …]

[, PEIMARY KEY <表达式2> TAG <索引名2>]

| UNIQUE <表达式3> TAG <索引名3>]

[, FOREIGN KEY <表达式4> TAG <索引名4> [NODUP] REFERENCE <表名3> [索引名

5]]

[, CHECK <条件2> ERROR <出错信息2>]

|FROM ARRAY 数组名)

注意:1、用SQL CREATE 命令新建的表自动在最低可用工作区打开,并可以通过别名引

用,新表的打开方式为独占方式,忽略 SET EXCLUSIVE 的当前设置。

2、如果建立自由表(当前没有打开的数据库或者使用了 FREE),则很多选项在命令中不

能使用,如NAME 、CHECK 、FOREIGN KEY、PRIMARY KEY和REFERENCE等。

例:要建立一个学生情况表(student)

CREATE TABLE student //创建基本表student

(st_class CHAR(8),// 定义列st_class班级,数据类型为8位定长字符串

st_no CHAR(10) NOT NULL,//定义列st_no学号,类型为10位定长字符串,非

st_name CHAR(8) NOT NULL,//定义列st_name姓名,类型为8位定长字符串,

非空

st_sex CHAR(2),//定义列st_sex性别,类型为2位定长字符串

st_age SMALLINT,//定义列st_age年龄,类型为短整型

PRIMARY KEY (st_no))//定义st_no学号为主键。

例:要建立课程设置表(subject)

CREATE TABLE subject//创建基本表subject

(su_no CHAR(4) NOT NULL,// 定义列su_no课号,类型为4位定长字符串,非空

su_subject CHAR(20) NOT NULL,// 定义列su_subject课程名,类型为20位定长