1、2023-6-1114.3 关系型数据库标准语言SQL SQL是是Structured Query Language(结构化查询语言)的英文缩写,(结构化查询语言)的英文缩写,它是关系型数据库的标准操作语言,几乎所有的数据库产品都采用和支持该它是关系型数据库的标准操作语言,几乎所有的数据库产品都采用和支持该语言。语言。SQL是一种综合的、通用的、功能强大的关系数据库语言,它包括数据是一种综合的、通用的、功能强大的关系数据库语言,它包括数据定义语言(定义语言(DDL)、数据操纵语言()、数据操纵语言(DML)、数据控制语言()、数据控制语言(DCL)、数据)、数据查询语言(查询语言(DSL)四大
2、部分。)四大部分。数据定义语言数据定义语言:用于定义、修改和撤消数据库、表对象等。:用于定义、修改和撤消数据库、表对象等。数据操纵语言数据操纵语言:用于数据库中表记录的修改等。:用于数据库中表记录的修改等。数据控制语言数据控制语言:用于数据访问权限的控制等。:用于数据访问权限的控制等。数据查询语言数据查询语言:用于从数据表中查询数据:用于从数据表中查询数据2023-6-1124.3.1 SQL数据定义命令1.建立表建立表2.修改表的结构修改表的结构3.删除表删除表2023-6-1131.1.建立表建立表命令格式:命令格式:CREATE TABLE|DBF NAME FREE(,)NULL|NO
3、T NULL CHECK ERROR DEFAULT PRIMARY KEY|UNIQUEREFERENCES TAG NOCPTRANS ,PRIMARY KEY TAG|,UNIQUE TAG,FOREIGN KEY TAG NODUPREFERENCES TAG,CHECK ERROR)|FROM ARRAY 数组名数组名功能:由给定的字段参数建立一个数据表。功能:由给定的字段参数建立一个数据表。2023-6-114 例例4-34-3建立人事管理数据库建立人事管理数据库rsgl.dbcrsgl.dbc,并用,并用SQLSQL命令建立命令建立rs.dbfrs.dbf(编号编号C(4)C(4
4、),姓名,姓名C(8)C(8),身份证号,身份证号C(18)C(18),性别,性别C(2)C(2),出生日期,出生日期D D,基本工资,基本工资N(9,2),N(9,2),简历简历M)M)。代码如下:代码如下:CLOSE DATABASES ALLCLOSE DATABASES ALL&关闭所有数据库关闭所有数据库CREATE DATABASES rsglCREATE DATABASES rsgl&建立建立rsglrsgl数据库数据库CREATE TABLE rsCREATE TABLE rs(编号编号 C(4),C(4),姓名姓名 C(8),C(8),身份证号身份证号 C(18),C(18)
5、,性别性别 C(2),;C(2),;出生日期出生日期 D,D,基本工资基本工资 N(9,2),N(9,2),简历简历 M)M)&在在rsglrsgl数据库中创建表数据库中创建表rsrsMODIFY DATABASEMODIFY DATABASE&打开打开“数据库设计数据库设计”窗口窗口2023-6-1152.修改表的结构(1)增加或修改字段)增加或修改字段 命令格式:命令格式:ALTER TABLE ADD|ALTER COLUMN (,)NULL|NOT NULLCHECK ERROR DEFAULT PRIMARY KEY|UNIQUEREFERENCES TAG NOCPTRANSNOV
6、ALIDATE功能:增加或修改字段功能:增加或修改字段 增加新的字段 修改原有的字段 2023-6-116例例4-4 继续给上例表继续给上例表rs.dbf完成下列操作:完成下列操作:增加增加1个个“籍贯籍贯C(8)”字段。字段。将原来的将原来的“编号编号”字段的宽度由字段的宽度由4改为改为6。修改修改“基本工资基本工资”字段的有效性规则,要求基本工资不小于字段的有效性规则,要求基本工资不小于200,出错信息提示为,出错信息提示为“最低最低工资额为工资额为200元元”。将将“编号编号”字段设置成主索引字段。字段设置成主索引字段。代码如下:代码如下:OPEN DATABASES rsglALTER
7、 TABLE rs ADD 籍贯籍贯 C(8)&增加字段增加字段MODIFY STRUCTURE&查看结构的变化查看结构的变化ALTER TABLE rs ALTER 编号编号 C(6)&修改字段的宽度修改字段的宽度MODIFY STRUCTURE ALTER TABLE rs ALTER 基本工资基本工资 n(9,2)CHECK 基本工资基本工资=200;ERROR 最低工资额为最低工资额为200元元MODIFY STRUCTURE ALTER TABLE rs ADD PRIMARY KEY 编号编号 TAG bh&设置成主索引字段设置成主索引字段MODIFY STRUCTURE CLOS
8、E DATABASES ALL2023-6-117(2)设置字段属性)设置字段属性命令格式:命令格式:ALTER TABLE ALTER|DROP COLUMN NULL|NOT NULLSET DEFAULT SET CHECK ERROR DROP DEFAULTDROP CHECKNOVALIDATERENAME COLUMN TO 功能:定义、修改、删除字段及有效性规则和默认值。功能:定义、修改、删除字段及有效性规则和默认值。修改字段 删除字段 字段改名 2023-6-118例例4-5 继续对表继续对表rs.dbf完成下列操作:完成下列操作:修改修改“性别性别”字段的默认值为字段的默认
9、值为“男男”。删除删除“基本工资基本工资”字段的有效性规则。字段的有效性规则。删除删除“籍贯籍贯”字段。字段。将将“基本工资基本工资”字段改名为字段改名为“工资工资”字段。字段。代码如下:代码如下:OPEN DATABASES rsglALTER TABLE rs ALTER 性别性别 SET DEFAULT 男男MODIFY STRUCTUREALTER TABLE rs ALTER 基本工资基本工资 DROP CHECKMODIFY STRUCTUREALTER TABLE rs DROP 籍贯籍贯MODIFY STRUCTUREALTER TABLE rs RENAME COLUMN 基
10、本工资基本工资 TO 工资工资MODIFY STRUCTURECLOSE DATABASES ALL2023-6-1193.删除表删除表(1)将数据库表从数据库中移出)将数据库表从数据库中移出 命令格式:命令格式:REMOVE TABLE|?DELETE RECYCLE功能:从数据库中移去表。功能:从数据库中移去表。例例4-6 在在rsgl数据库中移去数据库中移去rs.dbf表。表。OPEN DATABASES rsglREMOVE TABLE rs&将表将表rs.dbf从从rsgl.dbc中移去,成为自由表中移去,成为自由表MODIFY DATABASES将表删除到回收站 表示从磁盘上删除数
11、据表 2023-6-1110(2)将表从数据库和磁盘上删除的)将表从数据库和磁盘上删除的DROP TABLE命令。命令。命令格式:命令格式:DROP TABLE|?RECYCLE功能:从数据库和磁盘上将表直接删除掉。功能:从数据库和磁盘上将表直接删除掉。例例4-7 将将rs.dbf表复制表复制rs1.dbf,然后将,然后将rs1.dbf添加到添加到rsgl数据库中,然后数据库中,然后再将其从数据库和磁盘中一起删除。再将其从数据库和磁盘中一起删除。代码如下:代码如下:CLOSE ALLUSE rsCOPY TO rs1&复制成表复制成表rs1.dbfOPEN DATABASES rsglADD
12、TABLE rs1&添加表添加表rs1.dbf到到rsgl.dbcMODIFY DATABASES&显示数据库显示数据库DROP TABLE rs1&将表从数据库和磁盘上一起删除将表从数据库和磁盘上一起删除CLOSE DATABASESDIR*.dbf2023-6-11114.3.2 SQL数据操纵命令SQL的数据操纵命令主要包括三个部分:的数据操纵命令主要包括三个部分:记录的插入记录的插入记录的更新记录的更新记录的删除记录的删除 2023-6-11121.1.插入记录插入记录命令格式:命令格式:INSERT INTO (,.)VALUES(,.)或或INSERT INTO FROM ARRA
13、Y|FROM MEMVAR功能:在表的末尾追加一条新的记录。功能:在表的末尾追加一条新的记录。例例4-8 向表向表rs.dbf表插入一条记录。表插入一条记录。代码如下:代码如下:OPEN DATABASES rsglINSERT INTO rs(编号编号,姓名姓名,性别性别,出生日期出生日期);VALUE(0101,李明李明,男男,1965/05/06)LISTCLOSE DATABASES2023-6-11132.2.更新记录更新记录命令格式:命令格式:UPDATE SET =,=.WHERE 功能:更新满足条件的记录,该记录指定字段值由相对应的表达式值来功能:更新满足条件的记录,该记录指定
14、字段值由相对应的表达式值来代替。代替。例例4-9 将表将表rsb.dbf复制成复制成rsb1.dbf,然后对表,然后对表rsb1.dbf中的职称为中的职称为“讲师讲师”的职工基本工资都增加的职工基本工资都增加35元。元。代码如下:代码如下:USE RSB LISTCOPY TO rsb1UPDATE rsb1 SET 基本工资基本工资=基本工资基本工资+35 WHERE 职称职称=讲师讲师SELECT rsb1LISTUSE2023-6-11143.删除记录删除记录命令格式:命令格式:DELETE FROM WHERE 功能:逻辑删除表中满足条件的记录,即对满足条件的记录做删除标志。功能:逻辑删除表中满足条件的记录,即对满足条件的记录做删除标志。例例4-10 将表将表rsb1.dbf中姓名是中姓名是“陈宏陈宏”的记录删除。的记录删除。代码如下:代码如下:DELETE FROM rsb1 WHERE 姓名姓名=陈宏陈宏&做删除标记做删除标记SELECT rsb1LISTPACK&彻底删除有删除标记的记录彻底删除有删除标记的记录LISTUSE