SQL常见考点及问题
- 格式:doc
- 大小:102.00 KB
- 文档页数:9
数据操纵(表记录):INSERT,UPDATE,DELETE1.表记录的插入(INSERT)格式:INSERT INTO 表名(字段1,字段2,。
)V ALUES(值1,值2,。
)例1:往选课表中插入一条选课记录(“190101”,“01101”,65)INSERT INTO 选课(学号,课程号,成绩)V ALUES(“190101”,“01101”,65)格式:INSERT INTO 表名FROM ARRAY 数组名2.表记录的更新(UPDATE)格式:UPDATE 表名SET 字段名1=值1[,字段名2=值2][WHERE 条件]一般使用WHERE子句指定条件,以更新满足条件的记录的字段值,并且一次可以更数据操纵(表记录):INSERT,UPDATE,DELETE1.表记录的插入(INSERT)格式:INSERT INTO 表名(字段1,字段2,。
)V ALUES(值1,值2,。
)例1:往选课表中插入一条选课记录(“190101”,“01101”,65)INSERT INTO 选课(学号,课程号,成绩)V ALUES(“190101”,“01101”,65)格式:INSERT INTO 表名FROM ARRA Y 数组名2.表记录的更新(UPDATE)格式:UPDATE 表名SET 字段名1=值1[,字段名2=值2][WHERE 条件] 一般使用WHERE子句指定条件,以更新满足条件的记录的字段值,并且一次可以更新多个字段;如果不使用WHERE子句,则更新全部记录。
例2:将学生表中所有云南省学生的入学成绩加上10分,性别都改为“女”。
UPDA TE 学生SET 入学成绩=入学成绩+10,性别=“女”WHERE 籍贯=“云南”3.表记录的删除(DELETE)格式:DELETE FROM 表名[WHERE 条件]例3:逻辑删除学生表中所有云南省学生的信息。
DELETE FROM 学生WHERE 籍贯=“云南”注意:SQL语言中的DELETE命令同样是逻辑删除记录,如果要物理删除记录,则需继续使用PACK命令数据定义(表结构):create ,alter,drop1.表结构的定义(CREATE)CREATE TABLE命令除了建立表的基本功能外,它还包括满足实体完整性的主关键字(主索引)PRIMARY KEY、定义域完整性的CHECK约束及出错提示信息ERROR、定义默认值的DEFAULT等关键词,另外还有描述表之间联系的FOREIGN KEY和REFERENCES关键词。
注意:(1)用SQL CREATE命令新建的表自动在最低可用工作区打开,并可以通过别名引用。
新表的打开方式为独占方式(忽略SET EXCLUSIVE的当前设置);(2)如果建立自由表(当前没有打开的数据库或使用了FREE),则很多选项在命令中不能使用,如NAME、CHECK、DEFAULT、FOREIGN KEY、PRIMARY KEY和REFERENCES等。
①定义一个基本的学生表。
CREA TE TABLE ST(XH C(4) ,XM C(10),XB C(2),RXCJ I,CSRQ D)②定义一个基本的学生表,并给XH字段建立一个主索引标识XH。
CREA TE TABLE ST(XH C(4) PRIMARY KEY,XM C(10),XB C(2),RXCJ I,CSRQ D)注意:要用PRIMARY KEY建立主索引,在CREA TE命令执行之前先打开一个数据库文件。
PRIMARY KEY————主索引类型新多个字段;如果不使用WHERE子句,则更新全部记录。
例2:将学生表中所有云南省学生的入学成绩加上10分,性别都改为“女”。
UPDA TE 学生SET 入学成绩=入学成绩+10,性别=“女”WHERE 籍贯=“云南”3.表记录的删除(DELETE)格式:DELETE FROM 表名[WHERE 条件]例3:逻辑删除学生表中所有云南省学生的信息。
DELETE FROM 学生WHERE 籍贯=“云南”注意:SQL语言中的DELETE命令同样是逻辑删除记录,如果要物理删除记录,则需继续使用PACK命令数据定义(表结构):create ,alter,drop1.表结构的定义(CREATE)CREATE TABLE命令除了建立表的基本功能外,它还包括满足实体完整性的主关键字(主索引)PRIMARY KEY、定义域完整性的CHECK约束及出错提示信息ERROR、定义默认值的DEFAULT等关键词,另外还有描述表之间联系的FOREIGN KEY和REFERENCES关键词。
注意:(1)用SQL CREATE命令新建的表自动在最低可用工作区打开,并可以通过别名引用。
新表的打开方式为独占方式(忽略SET EXCLUSIVE的当前设置);(2)如果建立自由表(当前没有打开的数据库或使用了FREE),则很多选项在命令中不能使用,如NAME、CHECK、DEFAULT、FOREIGN KEY、PRIMARY KEY和REFERENCES等。
①定义一个基本的学生表。
CREA TE TABLE ST(XH C(4) ,XM C(10),XB C(2),RXCJ I,CSRQ D)②定义一个基本的学生表,并给XH字段建立一个主索引标识XH。
CREA TE TABLE ST(XH C(4) PRIMARY KEY,XM C(10),XB C(2),RXCJ I,CSRQ D)注意:要用PRIMARY KEY建立主索引,在CREA TE命令执行之前先打开一个数据库文件。
PRIMARY KEY————主索引类型UNIQUE ————候选索引类型FOREIGN KEY————普通索引类型③定义一个选课表XK,给其中XH字段建立一个普通索引标识XH,并和学生表ST建立关系。
CREA TE TABLE XK(XH C(4) ,KCH C(10),CJ N(5,1),FOREIGN KEY XH TAG XH REFERENCES ST)④定义一个数据库表,并同时给“性别”字段加上字段的规则有效性。
CREA TE TABLE ST(XH C(4) ,XM C(10),XB C(2) CHECK(性别$“男女”) ERROR“性别只能是男或女”DEFAULT “男”,RXCJ I,CSRQ D)⑤视图的定义格式:CREATE VIEW 视图名AS SELECT语句CREA TE VIEW myview;AS SELECT * FROM 学生WHERE 性别=”男”注意:1、视图中的内容是通过SELECT语句从其他表或视图中抽取出来的。
2、SELECT语句格式和前面讲述的用法一致。
3、在执行CREA TE VIEW语句定义视图之前,一定要把数据库打开(OPENDA TABASE命令),因为定义视图不会产生自己的视图文件,视图是存放在数据库中。
⑥视图的删除格式:DROP VIEW 视图名DROP VIEW myview注意:删除视图之前,先打开数据库(OPEN DA TABASE命令)2.表结构的修改(ALTER)①增加新的字段,同时也可以给该字段增加字段的规则有效性、错误提示信息、默认值,用法和CREATE命令中的用法一致。
例1:给学生表增加一个“英语”字段。
ALTER TABLE 学生ADD英语N(3) CHECK 英语>=0 ERROR “英语成绩大于零”;DEFAULT 0例2:给学生表增加一个“奖学金”字段。
ALTER TABLE 学生ADD奖学金Y①修改已有字段的类型、宽度。
例3:修改学生表中“英语”字段,改为N(5,1)。
ALTER TABLE 学生ALTER英语N(5,1)③定义、修改、删除已有字段的规则有效性、错误提示信息、默认值。
例4:定义(修改)学生表中“奖学金”字段的规则有效性、错误提示信息、默认值。
ALTER TABLE 学生;ALTER奖学金SET DEFAULT10 SET CHECK(奖学金>=0) ERROR “奖学金>=0”注意:如果有默认值的话SET DEFAULT一定要放在SET CHECK语句的前面。
例5:删除学生表中“奖学金”字段的规则有效性、错误提示信息。
ALTER TABLE 学生ALTER奖学金DROP CHECK例6:删除学生表中“奖学金”字段的默认值。
ALTER TABLE 学生ALTER奖学金DROP DEFAULT④删除字段。
例7:删除学生表中的“英语”字段。
ALTER TABLE 学生DROP [COLUMN] 英语⑤给字段改名。
例8:将学生表中的“奖学金”字段改为“助学金”。
ALTER TABLE 学生RENAME COLUMN 奖学金TO助学金⑥给已有字段增加主索引(PRIMARY KEY)和候选索引(UNIQUE)。
例9:将选课表中的“学号”字段和“课程号”定义为候选索引(候选关键字)。
ALTER TABLE 选课ADD UNIQUE学号+课程号TAG XHKCH⑦删除已有字段的主索引(PRIMARY KEY)和候选索引(UNIQUE)。
例10:删除选课表中的候选索引标识XHKCH。
ALTER TABLE 选课DROP UNIQUE TAG XHKCH3.表结构的删除(DROP)DROP TABLE 表名注意:1、DROP TABLE直接从磁盘上删除表文件。
2、如果删除的是数据库表,在执行DROP TABLE命令之前一定要把数据库打开,这样才能既把表文件删除了同时又把该表文件在数据库中的链接信息删掉。
常用VFP专用命令:(1)增加纪录的命令◆APPEND 该命令需要立刻交互输入新的记录值,一次可以连续输入多条新的纪录。
◆APPEND BLANK 该命令在表的尾部增加一条空白记录,然后再用浏览窗口修改该空白记录。
◆INSERT [BEFORE]|[BLANK] 该命令可以在表的任意位置插入新的记录。
(2)删除纪录的命令Visual FoxPro对部分记录的删除分两步进行:首先对想要删除的记录加上删除标志(*),这时被标记的记录并没有真正被删除,需要时仍可以恢复。
然后对加了删除标志的记录真正地从表中删除掉。
①给记录加删除标志命令格式是:DELETE [<范围>] [FOR<条件>] [WHILE <条件>]该命令给指定的记录加上删除标志。
若不选择可选项,则仅对当前记录加上删除标志。
②取消删除标记命令格式是:RECALL [<范围>] [FOR<条件>] [WHILE<条件>]该命令取消指定记录上的删除标志,若不选择可选项,则仅取消当前记录的删除标志。
③真正删除记录命令格式是:PACK该命令清除所有带删除标志的记录。