SQL语句学习

想吃鱼~喵

上次写的爬淘宝评论爬虫还没解决数据存储不全的问题,后来想想,这样的几十行代码,问题挺多 的,一是速度太慢,二是数据可能也太多。

所以想着提升效率的方法,上框架吧,要不开线程,都是要学;

存储方面,数据库,有一个能熟练应用就应该能满足,先学学SQL语句。

学习内容来自w3school。

注:SQL语句对大小写不敏感。

一:组成:
SQL语句由DML(data manage language)和DDL(data define language)组成。
DML:

SELECT: 选取
UPDATE: 更新
DELETE: 删除
INSERT INTO: 插入
DDL:
CREATE DATABASE - 创建新数据库
ALTER DATABASE - 修改数据库
CREATE TABLE - 创建新表
ALTER TABLE - 变更(改变)数据库表
DROP TABLE - 删除表
CREATE INDEX - 创建索引(搜索键)
DROP INDEX - 删除索引

①SELECT:
选取某一列内容:

SELECT A FROM SHEET1

选取全部的列:

SELECT * FROM SHEET1

对于由重复名称的列,若是不想重复选择,可以:

SELECT DISTINCT A FROM SHEET1
sheet1

如图:

select Company from sheet1

结果:

IBM
W3School
Apple
W3School

不想要重复的W3School,可以用:

select distinct Company from sheet1

结果:

IBM
W3School
Apple
W3School

select 语句可以添加where语句,这样能够更加方便地从表中有条件地删选数据:

select a from sheet1 where  列 运算符 值

例子:


person

选择person表中,FirstName = Bill的内容:

select * from person where FirstName = 'John'

结果:


out

注意,用where语句筛选,需要用单引号,没有引号和双引号都是错误的。
但是,对于数字则不需要引号:

错误的: select * from person where Firstname = John
正确的: select * from person where Firstname = 'John'

错误的: select * from person where Year = '1970'
正确的: select * from person where Year = 1970

②逻辑运算AND&OR:
就是简单的高中数学“或并且交”,或 并集,且 交集。

select * from person where city = 'Beijing' and Year = '1985'

结果:


out
select * from person where city = 'New York' or city = 'London'

结果:


out

③order by语句:
对结果集合进行排序:默认升序,若降序可用DESC关键字
例子:


chart

以Company一列的内容元素的起始字母进行排序:

selecet Company, orderNumber from chart order by Company

结果略

以orderNumber进行排序:

selecet Company, orderNumber from chart order by orderNumber

结果略

④INSERT INTO 语句:
用于在表格中插入数据,基本语法为:

insert into 表名称 (列1名, 列2名,......) values (内容1, 内容2, ......)

例子:


chart1

不指定添加数据的位置:

insert into chart1 values('a', 'b', 'c', 'd')

结果略。

指定添加数据的位置:

insert into chart1 (LastName, FirstName) values ('a', 'b')

结果略。

⑤UPDATE 语句用于修改表中的数据:
基本语法为:

update 表名称 set 列1名称 = 某值 where 列2名称 = 某值

其中where语句是用于限定单元格的位置

例子:


chart2
update chart2 FirstName = 'Dash' where LastName = 'Wilson'

如果说 FirstName = 'Dash' 确定了我们要修改的数据单元的纵坐标,那么 LastName = 'Wilson' 就确定了数据单元的行坐标。

可以在同一句语句中修改多个内容:

update chart2 FirstName = 'Dash', city = 'beijing' where LastName = 'Wilson'

你可能感兴趣的:(SQL语句学习)