结构化查询语言(SQL)学习一:基本概念

近些日子在学习数据库,操作数据库(MySQL)需要使用SQL,在此将笔记展示一下,希望能够对有这方面需求的技术朋友有所帮助,展示的为一些具体操作:

                                        SOL学习(一、基本概念)

1、 SHOW TABLES 命令用于显示当前选定的 MySQL 数据库中的所有表。

2、 SHOW COLUMNS 显示有关给定表中的列的信息。

SHOW COLUMNS FROM customers(显示customers表的信息)

SHOW COLUMNS 显示每个表列的以下值:

Field:列名称

Type:列数据类型

Key:指示列是否被索引

Default:分配给列的默认值

Extra:可能包含任何有关给定列的附加信息

3、SELECT 语句用于从数据库中选取数据。

结果存储在结果表中,称为结果集。

查询可以从表中的所选列或所有列中检索信息。

要创建一个简单的 SELECT 语句,请从表中指定所需列的名称。

SQL SELECT 语句的语法:

SELECT column_list

FROM table_name

column_list:包含从中检索数据的一个或多个列。

table_name:是从中检索信息的表的名称

例如:SELECT FirstName FROM customers(查找Firstname这一列)

4、USE语句用于选择SQL模式中的任何现有数据库。

语法:

USE database_name;
SQL

数据库名称在RDBMS中必须是唯一的。

5、SQL 允许同时运行多个查询或命令。

下面的 SQL 语句从 “customers” 表中选择 “FirstName” 和 “City” 列:

SELECT FirstName FROM customers;
SELECT City FROM customers;

6、提示:记住用分号结束每个 SQL 语句,以表示语句是完整的并且可以被解释

7、SQL 不区分大小写。

以下语句是等效的,执行输出相同的结果:

select City from customers;
SELECT City FROM customers;
sElEct City From customers;

提示:通常的做法是用大写编写所有 SQL 命令

8、一个 SQL 语句可以放在一个或多个文本行上。另外,多个 SQL 语句可以组合在一个文本行上。

在 SQL 中,会忽略空格和换行。

例如,以下 SQL 语句是绝对正确的。

SELECT        City
 
 
FROM customers;

但是,建议避免不必要的空格和空行。

9、如前面所述,SQL SELECT 语句从 SQL 数据库的表中检索记录。

你可以一次选择多个列,只需列出列名称,然后用逗号分隔。

SQL 语句如下所示:

SELECT FirstName, LastName, City 
FROM customers;

  提示:不要在最后一个列名后面加逗号。

10、要检索表中包含的所有信息,请在 SELECT 命令之后放置一个 *(星号),而不是单独输入每个列名。

下面的 SQL 语句选择 "customers" 表中的所有列:

SELECT * FROM customers; 

在 SQL 中,*(星号)表示所有。

11、在表中,一个列可能会包含多个重复值,有时你也许希望仅仅列出不同的值。

DISTINCT 关键词用于返回唯一不同的值。

DISTINCT 关键字与 SELECT 结合使用,以去掉所有重复的记录,仅返回唯一的记录。

DISTINCT 关键字的基本语法如下:

SELECT DISTINCT column_name1, column_name2
FROM table_name;

  (返回的结果中相同的值将会被删除)

12、LIMIT 关键字

默认情况下,将返回所有符合 SQL 语句中指定条件的结果。

但是,有时候我们只需要检索记录的一个子集。在 MySQL 中,这是通过使用 LIMIT 关键字来完成的。

LIMIT 关键字的语法如下:

SELECT column list

FROM table_name

LIMIT [number of records];

例如,我们可以从 “customers” 表中选择前 6 个记录。

SELECT ID, FirstName, LastName, City

FROM customers LIMIT 6;

(结果将返回前六行)

13、你也可以从特定的偏移量中选取一组记录。

在下面的例子中,我们从第三个位置开始选取四条记录:

SELECT ID, FirstName, LastName, City
    FROM customers LIMIT 3, 4;

    以上输出结果是从 ID4 开始,输出五行,而不是从 ID3 开始,这是因为 MySQL 是从零开始计数的,意味着第一行的偏移量是 0,而不是 1。

14、完全限定名称

在 SQL 中,你可以在列名之前提供表名,通过用点分隔。

以下语句是等效的:

SELECT City FROM customers;
 
SELECT customers.City FROM customers;

上述语法的术语称为该列的 “完全限定名称”

当使用多个可能共享相同列名的表时,这种写法是特别有用的

15、Order By

ORDER BY 关键字用于对结果集进行排序。

下面的 SQL 语句从 "customers" 表中选取所有客户,并按照 "FirstName" 列排序:

SELECT * FROM customers
ORDER BY FirstName;

      提示:ORDER BY 关键字默认按照升序(ASC)对记录进行排序。如果需要按照降序对记录进行排序,你可以使用 DESC 关键字。

16、多列排序

ORDER BY 关键字可用于对结果集按照多个列进行排序。将对多个列使用 ORDER BY 时,请使用逗号分隔列的列表以跟随 ORDER BY。

       我们按 “LastName” 和 "Age" 列排序:

SELECT * FROM customers

ORDER BY LastName, Age;

      ORDER BY 命令按照与列相同的顺序开始排序。它将按列出的第一列排序,然后按第二列排序,依此类推。

(更详细内容参见"W3school  SQL微课")

   

猜你喜欢

转载自www.cnblogs.com/ldzbky/p/12245154.html