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位定长


发布评论