From 17327fe66a213ae80d06bc29021e69c1132f151b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8D=B1=E6=8C=AF=E5=B1=B1?= <2959232105@qq.com> Date: Wed, 21 Sep 2022 11:22:13 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AC=94=E8=AE=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../9.14\347\264\242\345\274\225.md" | 93 +++++++++++++++++++ .../9.15\350\247\206\345\233\276.md" | 26 ++++++ .../9.19\344\272\213\345\212\241.md" | 19 ++++ .../9.20\346\270\270\346\240\207.md" | 42 +++++++++ 4 files changed, 180 insertions(+) create mode 100644 "36\345\215\261\346\214\257\345\261\261/\347\254\224\350\256\260/9.14\347\264\242\345\274\225.md" create mode 100644 "36\345\215\261\346\214\257\345\261\261/\347\254\224\350\256\260/9.15\350\247\206\345\233\276.md" create mode 100644 "36\345\215\261\346\214\257\345\261\261/\347\254\224\350\256\260/9.19\344\272\213\345\212\241.md" create mode 100644 "36\345\215\261\346\214\257\345\261\261/\347\254\224\350\256\260/9.20\346\270\270\346\240\207.md" diff --git "a/36\345\215\261\346\214\257\345\261\261/\347\254\224\350\256\260/9.14\347\264\242\345\274\225.md" "b/36\345\215\261\346\214\257\345\261\261/\347\254\224\350\256\260/9.14\347\264\242\345\274\225.md" new file mode 100644 index 0000000..38a60cb --- /dev/null +++ "b/36\345\215\261\346\214\257\345\261\261/\347\254\224\350\256\260/9.14\347\264\242\345\274\225.md" @@ -0,0 +1,93 @@ +### 一、索引的用途: + +1、索引的主要目的是提高查询的效率;一张表可以创建多个索引; + +2、索引的效率取决于数据的值相同程度的高度,**值相同的越多,索引的效率就会越低;**反之,**值如果不一样,索引效率就越高。** + +3、**索引的缺点**是插入、修改和删除记录是要同时修改索引; + +### 二、索引的语法: + +#### 1、索引的创建 + +**1.1 CREATE 创建索引** + +1)普通索引:MySQL中没有什么特殊要求,可以包括重复值和空值; + +基本语法 + +```sql +create index index_name on table_name; +``` + +单列索引 + +```sql +create index index_name on table_name(column_name); +``` + +多列索引(聚簇索引) + +```sql +create index index_name on table_name(column1,column2,......); +``` + +2)唯一索引(UNIQUE):索引列中的值必须是唯一的,可以存在空值; + +```sql +create unique index index_name on table_name(column_name); +``` + +3)全文索引(FULLTEXT): + +```sql +create fulltext index index_name on table_name(column_name); +``` + +4)主键索引:索引列的值必须是唯一的,且不能是空值。关系数据库会自动创建主键索引。 + +**1.2 ALTER 创建索引** + +基本语法,其他CREATE + +```sql +alter table table_name add index index_name(column_name); +``` + +#### 2、索引的修改 + +1)可以通过删除原来的索引,再创建新索引来修改索引; + +2)使用ALTER来修改索引 + +```sql +alter table table_name +drop index index_name; +create index index_name_new on table_name(column); +``` + +#### 3、索引的删除 + +**2.1 DROP 删除索引** + +```sql +drop index index_name on table_name; +``` + +**2.2 ALTER 删除索引** + +```sql +alter table table_name drop index index_name; +``` + +#### 4、索引的查看 + +```sql +show index from table_name; +``` + +#### 5、索引的使用 + +```sql +explain select column1,,column2,......from `index_name` table_name where table_name.column_name = 'value' +``` \ No newline at end of file diff --git "a/36\345\215\261\346\214\257\345\261\261/\347\254\224\350\256\260/9.15\350\247\206\345\233\276.md" "b/36\345\215\261\346\214\257\345\261\261/\347\254\224\350\256\260/9.15\350\247\206\345\233\276.md" new file mode 100644 index 0000000..2e57ed8 --- /dev/null +++ "b/36\345\215\261\346\214\257\345\261\261/\347\254\224\350\256\260/9.15\350\247\206\345\233\276.md" @@ -0,0 +1,26 @@ +### 1.创建视图 + +create view 视图名 +as +查询语句 + +### 2.修改视图 + +方式一: +create or replace view 视图名 +as +查询语句 +方式二 +alter view 视图名 +as +查询语句 + +### 3.删除 + +drop view 视图名 + +### 4.查看 + +desc 视图名 +或者 +show create view 视图名 \ No newline at end of file diff --git "a/36\345\215\261\346\214\257\345\261\261/\347\254\224\350\256\260/9.19\344\272\213\345\212\241.md" "b/36\345\215\261\346\214\257\345\261\261/\347\254\224\350\256\260/9.19\344\272\213\345\212\241.md" new file mode 100644 index 0000000..9da1f96 --- /dev/null +++ "b/36\345\215\261\346\214\257\345\261\261/\347\254\224\350\256\260/9.19\344\272\213\345\212\241.md" @@ -0,0 +1,19 @@ +### 1.事务的ACID特性: + +**1.原子性(Atomicity):**原子性是指在事务结束时,其中所包含的更新处理要么全部执行,要么完全不执行。 + +**2.一致性(Consistency):**一致性指的是事务中包含的处理要满足数据库提前设置的约束,也就是事务将数据库从一种状态转变为下一种一致的状态。在事务的前后,数据库的完整性约束没有被破坏。同时。保证在一个事务中的多次操作的数据中间状态对其他事务不可见的。 + +**3.隔离性(Isolation):**隔离性指的是保证不同事务之间互不干扰的特性。该特性保证了事务之间不会互相嵌套。此外,在某个事务中进行的更改,在该事务结束之前,对其他事务而言是不可见的。 + +**4.持久性(Durability):**事务一旦提交,那么就是永久性的,不会因为宕机等故障导致数据丢失。 + +### 2.基本语句 + +1.Begin Transaction: 开始事务。 + +2.Rollback Transaction: 回滚事务,当数据处理中出错时,回滚到没有开始处理前的状态,或者回滚到事务的保存点。 + +3.Save Transaction: 保存点,事务回滚时不会全部回滚而是回滚到保存点处。 + +4.Commit Transaction: 提交事务。 diff --git "a/36\345\215\261\346\214\257\345\261\261/\347\254\224\350\256\260/9.20\346\270\270\346\240\207.md" "b/36\345\215\261\346\214\257\345\261\261/\347\254\224\350\256\260/9.20\346\270\270\346\240\207.md" new file mode 100644 index 0000000..091ca77 --- /dev/null +++ "b/36\345\215\261\346\214\257\345\261\261/\347\254\224\350\256\260/9.20\346\270\270\346\240\207.md" @@ -0,0 +1,42 @@ +### 游标定义 + +游标是SQL 的一种数据访问机制。它可以定位到结果集中的某一行,多数据进行读写,也可以移动游标定位到你所需要的行中进行操作数据。 + +### 基本语法 + +**声明游标** + +```sql +declare游标名称cursosr for select 列 from 表名 +``` + +**打开游标** + +```sql +open游标名称 +``` + +**读取游标数据** + +```sql +fetch[nect/prior/frist/last/abnsoute n/relative n] from 游标名 +``` + +**关闭游标** + +```sql +close游标名称 +``` + +**释放游标** + +```sql +deallocate 游标名称 +``` + +Frist:结果集的第一行 +Prior:当前位置的上一行 +Next:当前位置的下一行 +Last:最后一行 +Absoute n:从游标的第一行开始数,第n行。 +Relative n:从当前位置数,第n行。 \ No newline at end of file -- Gitee