sql必须掌握的基础知识


SQL 必须掌握的基础知识 说明:SQL 是操作数据库内容的,可以进行 select 查询检索,update 修改,insert into 添加,delete 删除 以下内容举例,均参考下表: 新闻表:NEWS ,表里面的字段分别是:id(编号),leiid(分类),biaoti(标题),neirong,shijian, jishu(计数) 常用关键词含义的简单说明(不区分大小写) SELECT ---------查询,检索数据库,从数据库表中检索数据行和列 INSERT --------添加数据,向数据库表添加新数据行 DELETE --------删除数据,从数据表中删除数据行 UPDATE --------更新数据库表中的数据 WHERE --------设置条件 以下内容都是在 WHERE 内使用 LIKE --------模糊查询 IN --------包含 BETWEEN --------在两者之间 TOP -----------前几条信息 LIMIT --------用于在 MYSQL 中设置显示的记录位置和数量 以上内容在 WHERE 内使用 ORDER BY --------设置排序规则,以下两个是它的两个规则 ASC --------排序规则为升序(默认),123456 DESC -------- 排序规则为降序,654321 SELECT 基本语句 主要被用来对数据库进行查询并返回符合用户查询标准的结果集。最基本的 SELECT 语句格式为: SELECT [ALL|DISTINCT] select_list FROM table_list [WHERE search_condition] [GROUP BY group_by_expression] [HAVING search_condition] [ORDER BY order_list[ASC|DESC]] 其中[]内是可选内容,详细使用方法介绍如下: [ALL|DISTINCT]:ALL 显示表中满足条件的所有记录,DISTINCT 删除查询结果中重复的记录,只返回满足 条件的第一条记录。 [WHERE search_condition]:设置筛选条件,过滤掉不需要的记录。WHERE 子句可以包含以下各种运算符: 1. 比较运算符(大小比较):>、>=、=、<、<=、<>、!>、!< 2. 范围运算符(表达式值是否在指定范围内):BETWEEN……AND……、NOT… BETWEEN……AND…… 3. 列表运算符(判断表达式是否为列表中指定的项):IN(项 1,项 2,……)、NOT IN(项 1,项 2,……) 4.模糊判断符 (判断值是否与指定的字符匹配格式相符):LIKE、NOT LIKE 5.空值判断符 (判断表达式是否为空):IS NULL、IS NOT NULL 6.逻辑运算符 (用于多个条件的逻辑连接):NOT 、AND、OR GROUP BY group_by_expression 根据 group_by_expression 列中的值将结果集分成组。 HAVING search_condition 通常与 GROUP BY 配合使用,对结果集进行附加筛选。如果不使用 GROUP BY子 句,HAVING 与 WHERE 的作用一样。HAVING 与 WHERE 区别在于:WHERE 子句搜索条件在进行分组操作之前应 用,而 HAVING 搜索条件在进行分组之后应用。HAVING 通常作为 SQL 语句的最后一句。 ORDER BY order_list[ASC|DESC] 排序 以下内容[ ]中括号里面是可选内容,书写时不用带[ ]中括号 select * 解释:*代表所有字段 from 数据表 where 条件表达式 order by 字段名 [ASC/DESC] 例如:显示数据库表 NEWS 里面分类等于 1 的所有内容,并进行倒序排列 答案如下: Select * 注释:检索显示所有的字段 From NEWS 注释:来自表 NEWS Where leiid=1 注释:条件是分类 leiid 等于 1 Order by id DESC 注释:排序进行倒序,654321 的排列方法即为倒序。 select * from 数据表 where 字段名 like %字段值% order by 字段名 [ASC/DESC] 例如:在表单 FORM1 里有文本域 titles 输入框,查询新闻的表单,要求实现在数据库表 NEWS 中,显示满 足查询条件的内容,并进行倒序排列。 答案如下: 先设置一个变量:aaa=request.form(“titles”) 取得表单文本域 titles 传过来的值 select * 注释:检索显示所有字段 from NEWS 注释:来自表 NEWS where biaoti like %aaa% 注释:数据库字段 biaoti 包含变量 aaa(AAA 上面有解释),%所有字符 order by id DESC select * from 数据表 where 字段名 in(值 1,值 2,值 3) select * from 数据表 where 字段名 between 值 1 and 值 2 在 MYSQL 中取得前 10 条记录不能用 TOP,而用 select * from 数据表 where 字段名=字段值 order by 字段名 [desc] limit 0,10 SELECT 多表的基本语句 FROM 可以读取两个或多个表,当用到字段的时候,写法是表名.字段名,中间用句点链接,公式如下: 两个表或是多个表的联合 Select 表 A.字段名 1,表 B.字段名 1[,…….] From 表 A,表 B[,…….] Where 表 A.字段名 1=表 B.字段名 1[AND/OR 表 A.字段名 2=表 B.字段名 2] [,…….] UPDATE 更新数据基本语句 只要是提到更新数据,就要用到 UPDATE。以下是关于 UPDATE 的写法及实例 1. 更新数据记录 (1)update 数据表 set 字段名=字段值 where 条件表达式 (2)update 数据表 set 字段 1=值 1,字段 2=值 2……字段 n=值 n where 条件表达式 例子:update score set jishu=jishu+1 where id=1 DELETE 删除数据基本语句 只要是提到删除数据,就要用到 delete。以下是关于 DELETE 的写法及实例 删除数据记录 (1)delete from 数据表 where 条件表达式 (2)delete from 数据表 (将数据表中所有记录删除) 例子:Delete from news where id=3101 INSERT INTO 添加数据基本语句 只要是提到添加数据,就要用到 insert into。以下是关于 insert into 的写法及实例 添加数据记录 (1)insert into 数据表(字段 1,字段 2,字段 3…)values(值 1,值 2,值 3…) (2)insert into 目标数据表 select * from 源数据表 (把源数据表的记录添加到目标数据表) 例子: INSERT INTO news(biaoti,neirong) VALUES (‘学习编程’,’学习编程重要的是学会分析’) Where id=1 聚合函数的用法 AVG([ALL|DISTINCT]字段名)得出一个表格栏平均值 COUNT([ALL|DISTINCT]*|字段名)对数据行数的统计或对某一栏有值的数据行数统计 MAX(字段名)取得一个表格栏最大值 MIN(字段名)取得一个表格栏最小值 SUM([ALL|DISTINCT]字段名)把数据栏的值相加 解释[ALL|DISTINCT]:ALL 显示表中满足条件的所有记录,DISTINCT 删除查询结果中重复的记录,只 返回满足条件的第一条记录。 聚合函数用法举例如下: 1. 在 FILM 表中查询每个影院总的票款 Select sum(单价*卖出票数) as 票款,影院 From film Group by 影院 2. 统计 FILM 中有几家影院 Select count(didtinct 影院) as 影院个数 From film 3. 统计片名为 A1 的影片在各影院平均卖出的票数 Select AVG(卖出票数) AS 平局卖出票数,影院 From film Where 片名=”A1” GROUP BY 影院 4. 统计片名为 A1 的影片在各个影院卖出票数的最大值。 Select AVG(卖出票数) AS 卖出票数 From film Where 片名=”A1”
还剩4页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 10 金币 [ 分享pdf获得金币 ] 1 人已下载

下载pdf

pdf贡献者

zhuyz0602

贡献于2017-09-11

下载需要 10 金币 [金币充值 ]
亲,您也可以通过 分享原创pdf 来获得金币奖励!
下载pdf