2017-05-03-SQL语句
知识点1:
数据库结构:
1、连接
2、数据库
3、数据表
4、数据(数据行,数据列(字段:包括字段名和数据类型))
SQL语句分类
DML和DDL
DML:Data Manipulation Language 数据操作语言
DDL:Data Definiation Language 数据定义语言
DML主要是对数据进行操作,对数据内容进行操作。
DDL主要是对数据上级结构进行操作(比如说数据表,索引,存储过程,视图,数据库等进行操作),对数据结构进行操作。
对数据内容的操作:
增删改查
insert into 表名(列名) values(每一列的数据);
delete from 表名 where
update 表名 set 字段名=“”,字段名=“”;
selecte 字段名 from 表名 where
对数据结构的操作:
创建、修改、删除
create
alter
drop
一行数据就是一个对象的所有的属性。
数据库的数据表可以和面向对象的类来进行类比
数据库中的数据表相当于一个类,数据表中的每一行数据相当于一个类的实例对象,
每一行的数据和每一个实例对象的区别,实例对象通过对象的名字来区分,所以每个对象都是唯一的,
在数据表中的每一行数据如果没有定义主键的话,每一行的数据没有唯一性。
SQL语句真的是很神奇,SQL语言是第四代语言,比面向过程和面向对象的语言都还要高级。
distinct 修饰字段(列名)会影响后面所有的列名,会将其中重复的变为一行,而且distinct只能放在列名前面,如果其他的列名放在distinct前面的话语法是不支持的,
distinct会将直接修饰所有列名,对每一列的数据进行去重,如果每一行的数据的查询字段不完全相同,则就是两行不同的数据,不会合并为一行。
具体内容参考w3c的语法介绍。
具体还要多练才行。
SQL查询语句的核心在于脑子里面建立模型,还有语句执行顺序,一般是通过from表名来加载一个表,然后通过限定来进行数据行的筛选,最后通过选择列名进行显示数据行。
其中最重要的是执行顺序,然后执行之后对模型产生的影响,只要抓住这两点,基本上所有的查询语句都能够看懂了,自己写语句按照这个思路来思考基本上绝大多数的SQL语句
很容易写出来,还有就是有些特殊的用法和例子需要在实际操作中去进行积累。
基本上SQL的核心结构就是这些了,其他的细枝末节,在实战中慢慢积累。现在的心态很浮躁,重要的是自己去总结实践模型,对实践模块和专题进行训练。
实例专题总结和训练,就像做题一样来敲代码。
实例1:
显示多列数据,同时又使多列数据中的每行数据不重复
思路:
去重复:1.select distinct 字段来选出不同的字段的列的不同 ,2.通过group by 来将所有多列显示地同时并去重
核心代码:
1 | select xs_name,xs_id from xs group by xs_name; |
实例2:
– 作业:1 select xs_id as ‘学号’,avg(kc_cj) as ‘平均成绩’ from xs_kc group by xs_id;
– 修改上面的语句,使之能显示ID,名字,平均成绩
– 2 查询学生的成绩,xs_id ,xs_name,avg(kc_cj)
– 查询选修了“计算机基础”课程并且成绩在80分以上的学生学号、姓名、课程名及成绩
– 3 查询数据库中课程不同、成绩相同的学生的学号、课程号及成绩
1 | -- 1 |
- 本文标题:2017-05-03-SQL语句
- 本文作者:Xplorist
- 创建时间:2017-05-03 14:23:01
- 本文链接:https://xplorist.tech/2017/05/03/4fad2622aa3a/
- 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!