首页 > 代码库 > MYSQL总复习

MYSQL总复习

学完mysql之后的总结,如有疑问,欢迎提出,共同进步!
 
1、介绍:
    DDL:数据定义语言(Data Definition Language,DDL)
    基本操作:create drop  alter
    DML:数据操作语言(Data Manipulation Language,DML)
    基本操作:insert、  update 、delete、select。
    DCL:数据控制语言(Data Control Language,DCL)
    基本操作:commit、 rollback(事物) 、grant、revoke(用户角色)
2、对数据库的操作:
    (1)增加数据库:create database 数据库名;
    (2)删除数据库:drop database 数据库名;
3、对表的操作:
    (1)创建表:create table 表名;
    (2)删除表(包括数据和表结构 ):drop table 表名 ;
    (3)删除表(仅数据保留表结构):delete from 表名 where 条件;
    (4)增加数据:insert into 表名(列名1,列名2,.......)values(列值1,列值2,......);
    (5)修改数据:update 表名 set 修改列1=修改值1,修改列2=修改值2,...... where 条件;
    (6)查找数据:select */查找的列 from 表名 where 条件;
    注意:where后面格式:where 条件 [group by 列名 [having 条件]] [order by 列名[asc/desc]];
 
4、约束:
    (1)主键约束:设置主键
    (2)外键约束:设置外键
    (3)为空不为空约束:设置允许为空不为空
    (4)唯一约束:设置唯一,不允许重复
    (5)default约束:设置默认值
 
5、事务
    MySQL 事务主要用于处理操作量大,复杂度高的数据。比如:银行转账时,扣钱和转钱必须都执行完,这就是一个事务。当事务没执行完不允许报错,如果报错可以进行回滚操作。
    操作:
      (1)在mysql中操作:
        set autocommit=0;(mysql默认autocommit=1,这样的话,每执行一句sql语句,对数据库都进行一次操作,设为0,只有当提交时,才对 数据库数据进行操作)
        begin;
        sql语句1;
        sql语句2;
        ......
        rollback;(回滚操作,如事务进行的时候发生错误,回滚到begin时的状态)
        commit;(提交操作,如果进行提交操作,回滚操作便不能进行)
     (2)在java中操作:
        try{
          ql语句1;
          sql语句2;
          ......
          commit;
        }
        catch(Exception e){
          rollback; //如果报错进行回滚
        }
 
6、视图(了解)
    (1)创建视图:create view 视图名 as sql语句;
    (2)修改视图:alter view 已有视图名 as sql语句;
    (3)删除视图:drop view 已有视图名;
 
7、索引
    目的:索引的目的在于提高查询效率,可以类比字典
    (1)普通索引(B+树索引):create index 索引名 on 索引所在的表 (添加索引的列1,添加索引的列2,......)
    (2)唯一索引:create unique index 索引名 on 索引所在的表 (添加索引的列1,添加索引的列2,......)
        不能添加相同的数据,当是主键时回默认添加唯一索引
    (3)全文索引:create fulltext index 索引名 on 索引所在的表 (添加索引的列1,添加索引的列2,......)
        查询的时候会进行分词处理,提高效率
    (4)删除索引:drop forcedure 索引名 on 索引所在的表;
 
8、存储过程
    存储过程简单理解就是java的方法。
    (1)创建存储过程:
      create procedure 存储过程名(in/out类型的参数)
      begin
      select ‘所输出的内容’;
      end
    (2)删除创建过程:
       drop procedure 存储过程名;
    (3)调用存储过程:
      call 存储过程名();
    (4)存储过程也可以定义变量(declare i int)、while、if-else等。
 
9、ER图
    E-R方法是“实体-联系方法”(Entity-Relationship Approach)的简称。它是描述现实世界概念结构模型的有效方法。   
      实体型:用矩形表示,矩形框内写明实体名;   
      属性:用椭圆形或圆角矩形表示,并用无向边将其与相应的实体连接起来;多值属性由双线连接;主属性名称下加下划线;   
      联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型   
      在E-R图中要明确表明1对多关系,1对1关系和多对多关系。   
      1对1关系在两个实体连线方向写1;   
      1对多关系在1的一方写1,多的一方写N;   
      多对多关系则是在两个实体连线方向各写N,M
 
10、三范式
    (1)第一范式(1NF):数据库表中的字段都是单一属性的,不可再分。
    (2)第二范式(2NF):数据库表中不存在非关键字段对任一候选关键字段的部分函数依赖。(在第二范式中组合主键(AB)里面的A或者B 与其他字段不能存在组合重复)
    (3)第三范式(3NF):在第二范式的基础上,数据表中如果不存在非关键字段对任一候选关键字段的传递函数依赖则符合第三范式。(在第三范式中字段与字段之间不能存在组合重复)

MYSQL总复习