SQL 30分钟极速入门

常见的数据库有MySQL、SQL Server、Access、Oracle、Sybase、DB2等 ,SQL就是用来操作这些数据库的语言,这里我们用很短的时间对SQL 的最基础和常用部分做一下总结,帮助你快速入门,学会使用SQL.至于使用哪种数据库软件基于实际情况,如何进入SQL 视图可以参考百度结果。

在学习SQL过程中我的感觉是这是一门 “ 逻辑清晰 ” 的语言。其语言在使用中总体呈以下形式

我要干什么事            eg:  SELECT *
在哪里干这件事               FROM  Customers
对事情的要求是什么            WHERE customers_city = 'china'
希望结果是什么               ORDER BY  customers_id  

这里的例子 :
第一行表示打算检索出所有(*代表所有)的数据
第二行说明了打算从 Customers 表中检索这些数据
第三行表示 我希望检索出来的用户都是中国的
第四行代表希望满足要求的数据按照 id 排列
这是最简单的例子 实际中的要求会更复杂一些,接下来我们具体学习这门语言。

一、语法规则

  • SQL语句总是以关键字开始。
  • SQL语句以分号结尾。
  • SQL不区分大小写。
  • SQL自动忽略空格

这里虽然不区分大小写,但是在使用过程中为了代码的易读性,对于关键字我们一般大写,对于列名和表名一般使用小写。

二、 检索数据

用法

SELECT column1, column2, column3.....
FROM   Table_name 

这里column1,column2等代表需要检索的列,多行时候用逗号隔开,如果需要检索出所有的列,可以使用 星号(*)

示例数据:
这里写图片描述

 SELECT  ContactName, Address
 FROM    Customers;       将返回名字和地址两列所有数据

这里如果我们想得到每一列中的unique 值,比如其 中有两个墨西哥的但是我们只是想知道有多少种不同的国家,这里可以在列明前加上关键字 DISTINCT

SELECT DISTINCT Country 
FROM Customers;             这样就只会返回4个不同的国家

三、过滤数据

如果我们需要某一列数据中满足特定条件的行 ,那么就需要用到WHERE 语句对结果进行过滤。

SELECT column1, column2....
FROM table_name
WHERE condition;

那上面的数据为例 ,如果要检索出所有来自墨西哥的用户

SELECT * FROM Customers
WHERE Country='Mexico';

对于其他常见的操作符也支持
这里写图片描述

要是需要满足的条件不止一个这么简单 ,那么还可以在各个条件之间使用AND 、OR 以及NOT 这样的逻辑语句 ,在使用多个OR 时候可以用IN 代替,选择范围时候可以使用 BETWEEN AND 。
注意注意注意: (a OR b) 表示满足a,或者b 或者同时满足a,b
如果 我们不希望出现同时满足ab 的情况 可以使用 XOR !!

四、结果排序

为了比较友好的顺序展现结果,需要在最后用ORDER BY 进行排序,这里注意因为SQL本身不会对结果进行排序,所以应该**在最后总是编写**ORDER BY 语句,以保证每次打开数据排序相同。

SELECT column1, column2, ....
FROM table_name
ORDER BY column1, column2,.....

ORDER BY 默认是按照升序(ASC)排列的,如果需要按降序排列,在对应的列名后面加上关键字 (DESC)

示例:

SELECT * FROM Customers
ORDER BY Country ASC, CustomerName DESC;

五、插入数据

INSERT INTO 用于插入数据

INSERT INTO table_name (column1, column2, column3,.....)
VALUES (value1, value2, value3,....);

注意column 要和 value 一一对应 ,如果没有传入column 值 ,默认对所有列进行插入,这里就要确保value的值和表中的顺序是一样的 ,如果只插入了某些列的值,那么其他列会自动传入默认值(NULL)代表值缺失。

缺失值(NULL)表示没有数据,并不是指0或者空白(space)在之前的查询过程中默认是跳过NULL值的,要查询NULL值,需要使用IS NULL 或者 IS NOT NULL.

SELECT column_names
FROM table_name
WHERE column_name IS NULL;

六、更新数据

更新数据,也就是修改已经存在的数据,用UPDATE 语句

UPDATE table_name
SET column1 = value1, column2 = value2,....
WHERE condition;

这里需要注意,每一次都要传入WHERE 选定特定的行尽心更新,否则会修改所有行的数据。

七、删除数据

删除原来数据库中已经有的行用到DELETE 语句

DELETE FROM table_name
WHERE condition;

WHERE 限定了要删除的行,如果省略WHERE 在DELETE 后面出入* 代表删除所有行,但是索引还在。如果我们只需要删除表中的数据,而不删除表本身,使用TRUNCATE TABLE语句:

TRUNCATE TABLE table_name

八、总结

这篇文章将SQL 中使用率最高的几组语句:增(INSERT INTO)、删(DELETE FROM)、改(UPDATE)、查(SELETE)做了简单的介绍,算是对SQL有了基础的认识,对于更加深入的用法会在后续文章中补充。

展开阅读全文

没有更多推荐了,返回首页