SQL 入门

简介: SQL 入门

数据库基本概念

数据库是将大量数据保存起来,通过计算机加工而成的可以进行高效访问的数据集合。该数据集合称为数据库(Database,DB)。用来管理数据库的计算机系统称为数据库管理系统(Database Management System,DBMS)。


数据库管理系统(DBMS)的分类

层次数据库(Hierarchical Database,HDB)

关系数据库(Relational Database,RDB)

面向对象数据库(Object Oriented Database,OODB)

XML数据库(XML Database,XMLDB)

键值存储系统(Key-Value Store,KVS)

常见的如Oracal,SQL server,MySQL等都是关系数据库的代表,其特点是由行和列组成的二维表来管理数据,这种类型的DBMS称为关系数据库管理系统(Relational Database Management System,RDBMS)


SQL 语句

SQL语句是为了操作数据库而开发的语言,按照功能不同可以将SQL语句分为三类:


DDL(Data Definition Language,数据定义语言) 。主要用来创建或删除数据,包括:

CREAT :创建数据库和表等对象

DROP  : 删除数据库和表等对象

ALTER : 修改数据库和表等对象的结构

DML(Data Manipulation Language,数据操纵语言)。主要用来查询和变更数据

SELECT :查询表中的数据

INSERT :向表中插入新数据

UPDATE :更新表中的数据

DELETE :删除表中的数据

DCL(Data Control Language,数据控制语言)。主要用来确认或取消对数据的变更。

COMMIT      : 确认对数据库中的数据进行的变更

ROLLBACK : 取消对数据库中的数据进行的变更

GRANT        : 赋予用户操作权限

REVOKE     : 取消用户的操作权限

创建、删除、更新操作

下面介绍一些常用的SQL语句


创建数据库(CREAT DATABASE)

CREAT DATABASE <数据库的名称>

创建表<CREAT TABLE>

CREAT TABLE <表的名称>

删除表<DROP TABLE>

DROP TABLE <表的名字>

更新表<ALTER TABLE>

可以对选中的表内增加一列,列的具体信息从列定义中给出。


ALTER TABLE <表的名字> ADD COLUMN <列定义>

也可以将表中的某列删除。注意增加和删除的不同。


ALTER TABLE<表的名字> DROP COLUMN <列名>

注意:ALTER TABLE 语句和 DROP TABLE 语句一样,执行之后无法恢复。


查询、筛选操作

在实际应用SQL过程中,从表中选取合适的数据占了非常重要的一部分,通过SELECT语句将我们需要的数据选取出来的过程称为匹配查询或查询(query)。


选取数据<SELECT>

--最基础的SELECT语句

SELECT <列名>

FROM <表名> ;

SELECT * FROM <表名>

SELECT 语句用来选择数据。当不需要指定某列时,用符号 *表示对所有列


选取唯一值<SELECT DISTINCT>

当数据有很多重复值,但只需要返回不同值时,DISTINCT 用来返回唯一不同值


SELECT DISTINCT <列名>

FROM <表名> ;

筛选条件<WHERE>

当我们需要给筛选的数据加上一些限定条件时,WHERE语句用来筛选满足条件的记录。


SELECT <列名>

FROM <表名>

WHERE <表达式> ;

分组、筛选、排序操作

分组(GROUP BY)

有的时候我们需要对数据以某列进行分组,这时候就需要使用GROUP BY 操作。


-- 最基本的GROUP BY

SELECT <列名>

FROM <表名>

WHERE <条件>

GROUP BY <列名>

GROUP BY的子句书写顺序有严格要求,不按要求会导致SQL无法正常执行,子句顺序为:


1 SELECT → 2. FROM → 3. WHERE → 4. GROUP BY → 5.HAVING → 6.ORDER BY


但注意,书写顺序和执行顺序是不同的,执行顺序为:


1.FROM → 2.WHERE → 3.GROUP BY → 4.HAVING → 5.SELECT → 6.ORDER BY


所以执行顺序不同,GROUP BY 在SELECT 的前面,则 SELECT中定义的别名 不能在GROUP BY 中使用。



相关文章
|
5月前
|
SQL 关系型数据库 MySQL
【MySQL入门到精通-黑马程序员】MySQL基础篇-SQL概述及DDL
(精度指数的所有位数;标度指小数点后数的位数) 字符串类型
62 0
|
6月前
|
SQL 关系型数据库 MySQL
数据库基础入门 — SQL运算符
数据库基础入门 — SQL运算符
50 0
|
6月前
|
SQL 分布式计算 大数据
黑马程序员-大数据入门到实战-分布式SQL计算 Hive 入门
黑马程序员-大数据入门到实战-分布式SQL计算 Hive 入门
73 0
|
6月前
|
SQL 存储 关系型数据库
【MySQL系列】SQL语句入门(创建删除操作)、字符集和数据类型详解
哈喽,大家好💓,在上一篇博客中,大致讲解了数据库的相关知识,它的作用、定义、分类等等。从本篇博客开始,将详细讲解关系型数据库MySQL的操作与使用,以及SQL语句的讲解。
|
8月前
|
SQL 编解码 网络安全
网络安全CTF流量分析-入门1-流量分析中的Sql注入
从分析Sql流量入门CTF流量分析
327 0
|
8月前
|
SQL 关系型数据库 数据库连接
【Python入门系列】第七篇:Python数据库操作和SQL语言
本文介绍了使用Python进行数据库操作的基本知识,包括连接数据库、执行SQL查询和更新操作等。同时,还介绍了SQL语言的基本语法和常用的查询语句。通过学习本文,读者将能够使用Python与各种类型的数据库进行交互,并掌握基本的SQL语言知识。
117 0
|
6月前
|
SQL 存储 大数据
黑马程序员-大数据入门到实战-分布式SQL计算 Hive 语法与概念
黑马程序员-大数据入门到实战-分布式SQL计算 Hive 语法与概念
78 0
|
3天前
|
SQL Java 数据库连接
Java从入门到精通:2.3.2数据库编程——了解SQL语言,编写基本查询语句
Java从入门到精通:2.3.2数据库编程——了解SQL语言,编写基本查询语句
|
6月前
|
SQL 数据库 索引
数据库基础入门 — SQL
数据库基础入门 — SQL
42 0
|
6月前
|
SQL 缓存 大数据
大数据技术之Clickhouse---入门篇---SQL操作、副本
大数据技术之Clickhouse---入门篇---SQL操作、副本