TreeMind树图在线AI思维导图
当前位置:树图思维导图模板IT互联网产品结构SQL数据库思维脑图思维导图

SQL数据库思维脑图思维导图

  收藏
  分享
免费下载
免费使用文件
U361021632 浏览量:352024-03-13 16:52:24
已被使用9次
查看详情SQL数据库思维导图

数据库类型,操作等内容讲解

树图思维导图提供 SQL数据库思维脑图 在线思维导图免费制作,点击“编辑”按钮,可对 SQL数据库思维脑图  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:b4d832bfaef5675173094111483a4ce1

思维导图大纲

SQL思维导图模板大纲

SQL语法

所有的 SQL 语法都必须以关键字(也称命令)开头,比如 SELECT、INSERT、UPDATE、DELETE、ALTER、DROP等

所有的 SQL 语句必须以分号;结尾

SQL 关键字不区分大小写

SQL数据类型

字符串类型

CHAR(size) VARCHAR(size) TINYTEXT TEXT(size) MEDIUMTEXT LONGTEXT ENUM(val1, val2, val3,...) SET( val1,val2,val3,....)

整数类型

TINYINT SMALLINT MEDIUMINT INT 或 INTEGER BIGINT BOOL

小数类型

FLOAT(size, d) FLOAT(p) DOUBLE(size, d) DECIMAL(size, d) DEC(size, d)

日期时间类型

DATE DATETIME(fsp) TIMESTAMP(fsp) TIME(fsp) YEAR

二进制类型

BIT(size) BINARY(Size) VARBINARY(Size) TINYBLOB BLOB(size) MEDIUMBLOB LONGBLOB

数据库操作

创建新数据库

CREATE DATABASE DatabaseName

删除新数据库

DROP DATABASE DatabaseName

查看数据库

CREATE DATABASE 数据库名

选择数据库

USE DatabaseName;

表操作

创建表

CREATE TABLE table_name( column1 datatype, column2 datatype, ..... columnN datatype, PRIMARY KEY( one or more columns ) ); 字段约束:NOT NULL /AUTO_INCREMENT /DEFAULT / PRIMARY KEY

查看表的结构

DESC tableName

重命名表

ALTER TABLE old_table_name RENAME TO new_table_name;

RENAME old_table_name TO new_table_name;

向表中插入新数据

按指定的列插入数据:INSERT INTO table_name (column1, column2, column3,...columnN) VALUES (value1, value2, value3,...valueN);

为所有列插入数据,语法如下:INSERT INTO table_name VALUES (value1,value2,value3,...valueN);

从表中选取数据

SELECT column1, column2, columnN FROM table_name;

选取所有列:SELECT * FROM table_name;

SELECT 子句

SELECT 可以结合下面的子句一起使用: WHERE 子句:用来指明筛选条件,只有满足条件的数据才会被选取。 ORDER BY 子句:按照某个字段对结果集进行排序。 GROUP BY 子句:结合聚合函数,根据一个或多个列对结果集进行分组。 HAVING 子句:通常和 GROUP BY 子句联合使用,用来过滤由 GROUP BY 子句返回的结果集。

修改表中现有的记录

UPDATE table_name SET column1 = value1...., columnN = valueN WHERE [condition];

修改表信息

SQL ALTER TABLE 语句用来修改、添加、删除、修改与表相关的各种要素,比如: 给表添加新的字段:ALTER TABLE table_name ADD column_name datatype;LTER TABLE table_name DROP COLUMN column_name;ALTER TABLE table_name MODIFY COLUMN column_name datatype;ALTER TABLE table_name MODIFY column_name datatype NOT NULL; 修改现有字段的名字 修改现有字段的类型 添加约束 删除约束

删除数据表中现有的记录

DELETE FROM table_name WHERE [condition];

清空表

TRUNCATE TABLE table_name;

删除表

DROP tableName

SELECT子句

ORDER BY 子句用于根据一个或者多个字段对查询结果(结果集)进行排序,可以是降序,也可以是升序。 SELECT column_list FROMtable_name [WHERE condition] [ORDER BY column1, column2, .. columnN] [ASC | DESC];

WHERE condition子句:用来指明筛选条件,只有满足条件的数据才会被选取。condition 条件中使用 >、<、= 等比较运算符,或者使用 AND、OR 等逻辑运算符来指定多个条件,或者使用 LIKE、NOT LIKE 等进行模糊匹配,以缩小返回的结果集

GROUP 子句使用说明: GROUP BY 子句需要和 SELECT 语句一起使用; 如果有 WHERE 子句,那么 WHERE 子句需要放在 GROUP BY 子句之前; 如果有 ORDER BY 子句,那么 ORDER BY 子句需要放在 GROUP 子句之后。

借助SQL 聚合函数,您可以对分组的数据进行再次加工,例如: SUM( ) 函数可以对指定字段的值进行求和; COUNT( ) 函数可以计算某个分组内数据的条数; AVG( ) 函数可以对指定字段的值求平均数。

SELECT column1, column2 FROM table_name WHERE [ conditions ] GROUP BY column1, column2 ORDER BY column1, column2

HAVING 子句:通常和 GROUP BY 子句联合使用,用来过滤由 GROUP BY 子句返回的结果集。GROUP BY 子句通常和聚合函数(COUNT()、SUM()、AVG()、MIN()、MAX() 等)一起使用来对结果进行分组,而 WHERE 子句不能和聚合函数一起使用,所以 SQL 又提供了 HAVING 子句,以弥补了 WHERE 子句的不足

SELECT column1, column2 FROM table1, table2 WHERE [ conditions ] GROUP BY column1, column2 HAVING [ conditions ] ORDER BY column1, column2

SQL其它关键字

LIKE 子句用于在 WHERE 语句中进行模糊匹配,它会将给定的匹配模式和某个字段进行比较,匹配成功则选取,否则不选取:SELECT FROM table_name WHERE column LIKE 'pattern'

百分号(%) 代表零个、一个或者多个任意的字符。 下划线(_) 代表单个字符或者数字。 [charlist] 字符列表中的任何单一字符。可以使用连字符(-)根据 ASCII 编码指定一个字符范围,例如: [0-9] 表示从 0 到 9 的任一数字; [a-z] 表示小写英文字母; [a-zA-Z] 表示英文字母,不区分大小写; [a-zA-Z0-9] 表示英文字母和阿拉伯数字。 [^charlist] 或 [!charlist] 不在字符列表中的任何单一字符。同上,也可以使用连字符(-)指定一个字符范围。

SQL TOP 子句用于限定要返回的记录数量,可以是一个具体的数字,也可以是一个百分数。SELECT TOP number|percent column_name(s) FROM table_name WHERE [condition]

SQL DISTINCT 关键字需要和 SELECT 语句一起使用,用来删除结果集中所有重复的记录,仅保留唯一的一条记录:SELECT DISTINCT column1, column2,.....columnN FROM table_name WHERE [condition]

SQL约束

约束(Constraint)是指表的数据列必须强行遵守的规则,这些规则用于限制插入表中的数据类型,这样能够确保每份数据的准确定和可靠性。 约束可以是列级别,也可以是表级别;列级约束仅作用于某一列,而表级约束则作用于整张表。

SQL 常用的一些约束: NOT NULL 非空约束,确保列中不能有 NULL 值。 DEFAULT 默认约束,如果未指定值,那么列将提供默认值。 UNIQUE 唯一约束,确保列中所有的值都不相同。 PRIMARY Key 主键,用来唯一标识数据库中的每一行/记录。 FOREIGN Key 外键,用来唯一标识任何其它数据库中表的行/记录。 CHECK 检查性约束,用于确保列中的所有值都必须满足某些条件。 INDEX 索引,用于快速从数据库中检索或者获取数据。 AUTO_INCREMENT 会在新记录插入表中时生成一个唯一的整数,这些整数是自动增长的,用户还可以指定增长的步长(默认为 1)

创建约束:

CREATE TABLE 语句指定约束规则;创建数据表以后,也可以使用 ALTER TABLE 语句来增加约束规则

删除约束

DROP CONSTRAINT 选项的 ALTER TABLE 语句来删除已经定义的约束。例如,删除 EMPLOYEES 表中的主键可以使用下面的语句: ALTER TABLE EMPLOYEES DROP CONSTRAINT EMPLOYEES_PK; 有些数据库也允许暂时禁用约束

查询约束:SELECT id, name, age, uv, country FROM website WHERE url IS NOT NULL; 修改约束:ALTER TABLE website MODIFY alexa INT UNSIGNED NOT NULL UNIQUE; 添加约束:ALTER TABLE website ADD CONSTRAINT myUniqueConstraint UNIQUE(alexa, url); 删除约束:ALTER TABLE website DROP CONSTRAINT myUniqueConstraint; 添加外键约束:ALTER TABLE `order` ADD FOREIGN KEY (uid) REFERENCES user (id);

SQL索引

索引(Index)用于提高数据表的查询速度。一个表可以创建多个索引,一个索引可以包含一个或者多个字段。从本质上看,索引是根据表的一个或者多个字段生成的子表,该子表中的数据已经进行了排序

创建索引:CREATE INDEX index_name ON table_name ( column1, column2.....);

删除索引: ALTER TABLE website DROP INDEX myIndex;

SQL联合表

联合表时需要在每个表中选择一个字段,并对这些字段的值进行比较,值相同的两条记录将合并为一条。联合表的本质就是将不同表的记录合并起来,形成一张新表。当然,这张新表只是临时的,它仅存在于本次查询期间

语法:SELECT table1.column1, table2.column2... FROM table1 JOIN table2 ON table1.common_column1 = table2.common_column2 [WHERE condition ];

不同的连接类型

SQL 允许在 JOIN 左边加上一些修饰性的关键词,从而形成不同类型的连接,如下所示: INNER JOIN (默认连接方式)只有当两个表都存在满足条件的记录时才会返回行。(默认) LEFT JOIN 返回左表中的所有行,即使右表中没有满足条件的行也是如此。 RIGHT JOIN 返回右表中的所有行,即使左表中没有满足条件的行也是如此。 FULL JOIN 只要其中有一个表存在满足条件的记录,就返回行。 SELF JOIN 将一个表连接到自身,就像该表是两个表一样。为了区分两个表,在 SQL 语句中需要至少重命名一个表。 CROSS JOIN 交叉连接,从两个或者多个连接表中返回记录集的笛卡尔积。

SQL视图

视图(View)是一个由 SELECT 查询所定义出来的虚拟表。创建视图其实就是给 SELECT 查询起了一个名字而已,并不会真的执行 SELECT 语句,更不会产生结果集。除非您为视图添加索引(Index),否则视图就是一段存储在内存中的 SELECT 语句的文本,它没有任何数据(记录)存储到物理数据库中。只有当使用视图时,数据库引擎才会真正执行 SELECT 查询,产生一个结果集。

语法:CREATE VIEW view_name AS SELECT column1, column2..... FROM table_name WHERE [condition];

SQL事务

我们将一条 SQL 语句称为一次基本的操作。将若干条 SQL 语句“打包”在一起,共同执行一个完整的任务,这就是事务。事务( Transaction)由一次或者多次基本操作构成,或者说,事务由一条或者多条 SQL 语句构成。

事务具有四个标准属性,分别是原子性(Atomicity,或称不可分割性)、一致性(Consistency)、隔离性(Isolation,又称独立性)、持久性(Durability),简称 ACID

事务执行流程

与事务控制有关的 SQL 命令包括: BEGIN 或者 START TRANSACTION:开始事务; COMMIT:提交事务; ROLLBACK:回滚事务; SAVEPOINT:在事务内部设置回滚标记点; RELEASE SAVEPOINT:删除回滚标记点; ROLLBACK TO:将事务回滚到标记点(ROLLBACK 命令的一种变形写法)。

子主题 2

临时表

关系型数据库支持临时表,这是一项很棒的功能。临时表的概念由 SQL Server 引入,用来存储和处理中间结果。 临时表在会话期间创建,会话结束后自动被删除。临时表可以和普通表一样执行各种操作,比如 SELECT、UPDATE、INSERT、JOIN 等。

创建临时表的基本语法如下: CREATE TEMPORARY TABLE table_name( column1 datatype, column2 datatype, column3 datatype, ..... columnN datatype, PRIMARY KEY( one or more columns ) );

删除临时表:DROP TABLE table_name

克隆表

步骤 1:获取表的完整结构。SHOW CREATE TABLE TUTORIALS_TBL \G; 步骤2:重命名并创建一个新表。CREATE TABLE newTableName (步骤1中获取的内容) 步骤3:从旧表中复制数据,使用 INSERT INTO ... SELECT 语句来完成。INSERT INTO CLONE_TBL (columnN SELECT columnN FROM TUTORIALS_TBL

SQL子查询/嵌套查询

WHERE子句的子查询(语法): SELECT column_name [, column_name ] FROM table1 [, table2 ] WHERE column_name OPERATOR (SELECT column_name [, column_name ] FROM table1 [, table2 ] [WHERE])

FROM子句的子查询(语法): SELECT column_name [, column_name ] FROM (SELECT column_name [, column_name ] FROM table1 [, table2 ] [WHERE]) AS temp_table_name WHERE condition

相关思维导图模板

1107文家市玉萍思维导图思维导图

树图思维导图提供 1107文家市玉萍思维导图 在线思维导图免费制作,点击“编辑”按钮,可对 1107文家市玉萍思维导图  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:ed943ef641f6dc874860eb6095857ed6

种子思维脑图思维导图

树图思维导图提供 种子思维脑图 在线思维导图免费制作,点击“编辑”按钮,可对 种子思维脑图  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:86f8307a40ea24607c6c79354e09377f