Part01_MySQL数据库的基本操作

Part01_MySQL数据库的基本操作

------------------------------------------------------------------------------------
内容大纲:
1. 对数据库的操作(创建数据库、删除数据库、数据库的存储引擎)
2. 对的操作(创建、修改、删除和查看表)
3. 索引(创建、删除、查看索引)
4. 视图(创建、删除、查看、修改视图)
5. 触发器(创建、删除、查看、使用触发器)


------------------------------------------------------------------------------------

 

正文:

------------------------------- [ 我是每章的分界线 ] -------------------------------
00. 登录进去数据库


01. WIN + CMD -> mysql –u –root -p


------------------------------- [ 我是每章的分界线 ] -------------------------------
00. 第01章:数据库概述

 

01. 数据库_是指长期存储在计算机内、有组织、可共享的数据集合。

 

02. 数据库泛型_是指数据库应遵循的规则。(最低要求的范式是第一范式(1NF),然后2NF...)

 

03. 数据库系统(DataBase System,DBS)_ 由数据库、数据库管理系统、应用开发工具等构成。

 

04. 数据库管理系统(DataBase Management System, DBS)_定义数据、管理和维护数据的软件。

 

05. SQL语言(Structured Query Language 结构化查询语言)_ 用于存储数据、管理数据、更新数据和管理关系数据库系统。

    00.SQL分为三个部分数据定义语言(Data Definition Language, DDL)
    01.数据库定义语言(Data Definition Language, DDL)_定义数据库、表、视图、索引和触发器等。
    02.数据库操作语言(Data Manipulation Language, DML)_ 插入数据、查询数据、更新数据和删除数据。
    03.数据库控制语言(Data Control Language, DCL) _ 控制用户的访问权限。


------------------------------- [ 我是每章的分界线 ] -------------------------------
00. 第05章:创建数据库

 

01. 创建数据库:           CREATE DATABASE 数据库名;

 

02. 展示数据库列表:       SHOW DATABASES;

 

03. 删除数据库:           DROP DATABASE 数据库名;

 

04. 显示数据库存储引擎:   SHOW ENGINES;

 

05. 显示数据库支持的引擎: SHOW VARIABLES LIKE ‘have%’;

 

06. 查询默认存储引擎:     SHOW VARIABLES LIKE ‘storage_engine’;

 

07. 使用数据库:           USE 数据库名;


------------------------------- [ 我是每章的分界线 ] -------------------------------
00. 第06章:创建、修改和删除表

 

--------------> 我是小节的小小分界线 <--------------(创建表)
01. 创建表:
    CREATE TABLE 表名(属性名 数据类型 [完整性约束条件], 属性名 数据类型 [完整性约束条件], ...);

 

02. 设置表的主键:
    概念_主键是表的能唯一标识表中的每条信息的一个特殊字段。
    作用_帮助MySQL以最快速度查找到表中的某一条信息。
    单字段主键: 属性名 PRIMARY KEY;
    多字段主键: PRIMARY KEY(属性名1, 属性名2, ... 属性名n);

 

03. 设置表的外键:
    概念_通过外键为该子表(外键)建立与父表(主键)的联系。
    原则_必须依赖于与其父表的关联关系。
    语法_CONSTRAINT 外键别名 FOREIGN KEY (属性名, 属性名...)
                    REFERENCES 表名(父表主键对应的属性名,父表主键对应的属性名)

 

04. 设置表的非空约束
    概念_非空性是指字段的值不能为空值(NULL)。
    作用_保证所有记录中该字段都有值。
    语法_属性名 数据类型 NOT NULL

 

05. 设置表的唯一性约束
    概念_唯一性是指所有记录中该字段的值不能重复出现。
    作用_保证所有记录中该字段的值不能重复出现。
    语法_属性名 数据类型 UNIQUE

 

06. 设置表的属性的值自动增加
    作用_为表中插入的新记录自动生成唯一的ID。
    使用注意_一个表中只能有一个作为主键一部分的字段使用AUTO_INCREMENT约束。
             默认情况下,该字段的值是从1开始自增的。
    语法_属性名 数据类型 AUTO_INCREMENT

 

07. 设置表的默认值。
    语法1_属性名 数据类型 DEFAULT 默认值
    语法2_属性名 数据类型 某约束条件 DEFAULT 默认值

 

08. 查看表的结构
    查看表基本结构语句:DESCRIBE 表名;
                        DESC 表名;
    查看表详细结构语句:SHOW CREATE TABLE 表名;
                        SHOW CREATE TABLE 表名 \G;
                        SHOW CREATE TABLE 表名 \g;

 

--------------> 我是小节的小小分界线 <--------------(修改表)
09. 修改表名
    ALTER TABLE 旧表名 RENAME [TO] 新表名;(在使用时[TO]不用写上)

 

10. 修改字段的数据类型
   ALTER TABLE 表名 MODIFY 属性名 数据类型;

 

11. 修改字段名
    ALTER TABLE 表名 CHANGE 旧属性名 新属性名 新数据类型;

 

12. 修改字段的排列位置
    00. 通用语句  
        ALTER TABLE 表名 MODIFY 属性名1 数据类型 FIRST | AFTER 属性名2;
    01. 字段修改到第一个位置
        ALTER TABLE 表名 MODIFY 属性名1 数据类型 FIRST;
    02. 字段修改到指定位置(属性名2的后面)
        ALTER TABLE 表名 MODIFY 属性名1 数据类型 AFTER 属性名2;

 

13. 增加字段
    00. 通用语句
        ALTER TABLE 表名 ADD 属性名1 数据类型 [完整性约束条件] [FIRST | AFTER 属性名2];
    01. 在表的最后位置增加字段
        ALTER TABLE 表名 ADD 属性名1 数据类型 [完整性约束条件];
    02. 在表的第一位置增加字段
        ALTER TABLE 表名 ADD 属性名1 数据类型 [完整性约束条件] FIRST;
    03. 在表的某一位置增加字段:(排列在属性名2后面加上字段)
        ALTER TABLE 表名 ADD 属性名1 数据类型 [完整性约束条件] AFTER 属性名2;

 

14. 删除字段
    ALTER TABLE 表名 DROP 属性名;

 

15. 更改表的存储引擎
    ALTER TABLE 表名 ENGINE=存储引擎名;

 

16. 删除表的外键约束
    ALTER TABLE 表名 DROP FOREIGN KEY 外键别名;


--------------> 我是小节的小小分界线 <--------------(删除表)
17. 删除没有被关联的普通表
    DROP TABLE 表名;

 

18. 删除被其他表关联的父表
    00. 有两步骤:
    01. 删除该表的外键约束:     ALTER TABLE 表名 DROP FOREIGN KEY 外键别名;
    02. 以删除普通表的方法删除: DROP TABLE 表名;

 


------------------------------- [ 我是每章的分界线 ] -------------------------------
00. 第07章:索引

 

01. 索引的含义及特点
    概念_索引是创建在表上的,是对数据库表中一列或多列的值进行排序的一种结构。
  作用_提高对表中数据的查询速度。(通过索引,查询数据时可不必读完记录的所有信息,而只是查询索引列。)
  约束_不同的存储引擎定义了每个表中的最大索引数和最大索引长度。所有存储引擎对每个表至少支持16个索引,总索引长度至少为256字节。
  优点_提高检索数据的速度。
  缺点_创建和维护索引需要耗费时间,增加、删除和修改数据时,要动态维护索引。

 

02. 索引的分类
        1.普通索引_创建普通索引时,不附加任何限制条件。这类索引可以创建在任何数据类型中,其值是否唯一和非空由字段本身的完整性约束条件决定。
  2.唯一性索引_UNIQUE_限制该索引的值必须是唯一的,主键就是一种特殊唯一性索引。
  3.全文索引_FULLTEXT_查询数据量较大的字符串类型的字段时,使用全文索引可以提高查询速度。全文索引只能创建在CHAR、VARCHAR或TEXT的字段上。
  4.单列索引_在表中的单个字段上创建索引。单列索引可以是普通索引,也可以是唯一必性索引,还可以是全文索引。
  5.多列索引_在表的多个字段上创建一个索引,该索引指向创建时对应的多个字段,可以通过这几个字段进行查询。(只有查询条件使用了这些字段中第一个字段时,索引才会被使用。
  6.空间索引_SPATIAL_空间索引只能建立在空间数据类型上,这样可以提高系统获取空间数据的效率。

 

03.创建表的时候创建索引
   CREATE TABLE 表名(属性名 数据类型 [完整性约束条件],
           属性名 数据类型 [完整性约束条件],
           ...
                                            属性名 数据类型 [完整性约束条件],
           [UNIQUE|FULLTEXT|SPATIAL] INDEX|KEY [别名] (属性名1 [(长度)] [ASC|DESC])
                                           );

 

04.创建普通索引_INDEX(属性名);

 

05.创建唯一性索引_UNIQUE INDEX  别名(属性名 ASC|DESC);

 

06.创建全文索引_FULLTEXT INDEX 别名(属性名); (目前只有MyISAM存储引擎支持全文索引)

 

07.创建单列索引_INDEX(属性名);

 

08.创建单列索引_INDEX(属性名1, 属性名2...);

 

09.创建空间索引_SPATIAL INDEX 别名(属性名)

 

10.在已存在的表上创建索引
  方法1: CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX 索引名 ON 表名 (属性名[(长度)] [ASC|DESC]);
  方法2: ALTER TABLE 表名 ADD [UNIQUE|FULLTEXT|SPATIAL] INDEX 索引名(属性名[(长度)] [ASC|DESC]);

 

11.删除索引
  DROP INDEX 索引名 ON 表名;

 


------------------------------- [ 我是每章的分界线 ] -------------------------------
00. 第08章:视图

 

01. 视图相关概念
    定义_视图是一种虚拟的表,是从数据库中一个或多个表中导出来的表。
  特点_数据库中只存放了视图的定义,而并没有存放视图中的数据。视图中的数据是依赖于原来的表中的数据的。
    作用_使操作简单化、增加数据的安全性、提高表的逻辑独立性。

 

02. 创建视图的语法形式
    CREATE [ALGORITHM = {UNDEFINED|MERGE|TEMPTABLE}]
            VIEW 视图名 [(属性清单)]
            AS SELECT 语句
            [WITH [CASCADED|LOCAL] CHECK OPTION];

 

03.查看用户是否有权限使有视图
    SELECT Select_priv, Create_view_priv FROM mysql.user WHERE user = '用户名';

 

04.在单表上创建视图
    CREATE
    VIEW 视图名(字段...)
    AS SELECT (表字段...) * FROM 表名;

 

05.在多表上创建视图
    CREATE ALGORITHM = MERGE
    VIEW 视图名(视图字段...)
    AS SELECT(表字段...)
    FROM 表名,表名 WHERE
    WITH LOCAL CHECK OPTION;

 

06.查看视图的基本信息
  DESCRIBE 视图名;
        DESC 视图名;
  SHOW TABLE STATUS LIKE '视图名';[\G \g]
        SHOW CREATE VIEW 视图名;[\G \g]

 

07.在表中查看视图的详细信息
    SELECT * FROM 数据库名.表名;[\G \g]

 

08.修改或创建视图语句
  CREATE OR REPLACE [ALGORITHM = {UNDEFINED|MERGE|TEMPTABLE}]
                   VIEW 视图名 [(属性清单)]
                   AS SELECT 语句
                   [WITH [CASCADED|LOCAL] CHECK OPTION];

 

09.修改视图语句
           ALTER [ALGORITHM = {UNDEFINED|MERGE|TEMPTABLE}]
          VIEW 视图名[(属性清单)]
          AS SELECT 语句
   [WITH [CASCADED|LOCAL] CHECK OPTION];

 

10.更新视图(通过视图来插入,更新和删除表中的数据)
  UPDATE 视图名 SET 属性名 = 值, 属性名 = 值...;

 

11.删除视图
    DROP VIEW [IF EXISTS] 视图名列表 [RESTRICT|CASCADE];

 


------------------------------- [ 我是每章的分界线 ] -------------------------------
00. 第09章:触发器

 

01.触发器的基本概念
  定义_触发器(TRIGGER)是由事件来触发某个操作。满足触发器的触发条件时,数据库系统就会执行触发器中定义的程序语句。

 

02.创建只有一个执行语句的触发器
  CREATE TRIGGER 触发器名 BEFORE|AFTER 触发事件
          ON 表名 FOR EACH ROW 执行语句

 

03.创建有多个执行语句的触发器
  CREATE TRIGGER 触发器名 BEFORE|AFTER 触发事件
           ON 表名 FOR EACH ROW
           BEGIN
                执行语句列表
           END

 

04.查看触发器信息_SHOW TRIGGERS;

 

05.在triggers表中查看触发器信息_ SELECT * FROM information_schema.triggers;

 

06.查询指定触发器的详细信息_ SELECT * FROM information_schema.triggers WHERE TRIGGER_NAME = '触发器名';

 

07.删除触发器 DROP TRIGGER 触发器名;

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值