欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

SQL 30分钟极速入门

程序员文章站 2024-03-15 17:32:54
...

常见的数据库有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等代表需要检索的列,多行时候用逗号隔开,如果需要检索出所有的列,可以使用 星号(*)

示例数据:
SQL 30分钟极速入门

 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';

对于其他常见的操作符也支持
SQL 30分钟极速入门

要是需要满足的条件不止一个这么简单 ,那么还可以在各个条件之间使用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有了基础的认识,对于更加深入的用法会在后续文章中补充。

相关标签: SQL