SQL基础知识大全
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SQL基础知识
SQL语言由命令、子句、运算和集合函数等构成。在SQL中,数据定义语言DDL(用来建立及定义数据表、字段以及索引等数据库结构)包含的命令有CREATE、DROP、ALTER;数据操纵语言DML (用来提供数据的查询、排序以及筛选数据等功能)包含的命令有SELECT、INSERT、UPDATE、DELETE。
一、SQL语句
(1)Select 查询语句
语法:SELECT [ALL|DISTINCT] <目标列表达式> [AS 列名]
[,<目标列表达式> [AS 列名] ...] FROM <表名> [,<表名>…] [WHERE <条件表达式> [AND|OR <条件表达式>...]
[GROUP BY 列名[HA VING <条件表达式>]]
[ORDER BY 列名[ASC | DESC]]
解释:[ALL|DISTINCT] ALL:全部;DISTINCT:不包括重复行
<目标列表达式> 对字段可使用A VG、COUNT、SUM、MIN、MAX、运算符等
<条件表达式>
查询条件谓词
比较=、>,<,>=,<=,!=,<>,
确定范围BETWEEN AND、NOT BETWEEN AND
确定集合IN、NOT IN
字符匹配LIKE(“%”匹配任何长度,“_”匹配一个字符)、NOT LIKE 空值IS NULL、IS NOT NULL
子查询ANY、ALL、EXISTS
集合查询UNION(并)、INTERSECT(交)、MINUS(差)
多重条件AND、OR、NOT
[HA VING <条件表达式>] 分组筛选条件
[ORDER BY 列名[ASC | DESC]] 对查询结果排序;ASC:升序DESC:降序
例1:select student.sno as 学号, as 姓名, course as 课程名, score as 成绩from score,student where student.sid=score.sid and score.sid=:sid
例2:select student.sno as 学号, as 姓名,A VG(score) as 平均分from score,student where student.sid=score.sid and student.class=:class and (term=5 or term=6) group by student.sno, having count(*)>0 order by 平均分DESC
例3:select * from score where sid like '9634'
例4:select * from student where class in (select class from student where name='陈小小')
(2)INSERT插入语句
语法:INSERT INTO <表名> [(<字段名1> [,<字段名2>, ...])] V ALUES (<常量1> [,<常量2>, ...])
语法:INSERT INTO <表名> [(<字段名1> [,<字段名2>, ...])] 子查询
例子:INSERT INTO 借书表(rid,bookidx,bdate)V ALUES (edit1.text,edit2.text,date)
例子:INSERT INTO score1(sno,name) SELECT sno,name FROM student WHERE class=’9634’
(3)UPDATE-SQL
语法:UPDATE 〈表名〉
SET 列名1 = 常量表达式1[,列名2 = 常量表达式2 ...]
WHERE <条件表达式> [AND|OR <条件表达式>...]
例子:update score set credithour=4 where course='数据库'
(4)DELETE-SQL
语法:DELETE FROM〈表名〉[WHERE <条件表达式> [AND|OR <条件表达式>...]]
例子:Delete from student where sid='003101'
(5)CREATE TABLE
CREATE TABLE | DBF TableName1 [NAME LongTableName] [FREE] (FieldName1 FieldType [(nFieldWidth [, nPrecision])]
[NULL | NOT NULL]
[CHECK lExpression1 [ERROR cMessageText1]]
[DEFAULT eExpression1]
[PRIMARY KEY | UNIQUE]
[REFERENCES TableName2 [TAG TagName1]] [NOCPTRANS]
[, FieldName2 ...]
[, PRIMARY KEY eExpression2 TAG TagName2
|, UNIQUE eExpression3 TAG TagName3]
[, FOREIGN KEY eExpression4 TAG TagName4 [NODUP] REFERENCES TableName3 [TAG TagName5]]
[, CHECK lExpression2 [ERROR cMessageText2]])
| FROM ARRAY ArrayName
(6)ALTER TABLE
ALTER TABLE TableName1
ADD | ALTER [COLUMN] FieldName1
FieldType [(nFieldWidth [, nPrecision])]
[NULL | NOT NULL]