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):在第二范式的基础上,数据表中如果不存在非关键字段对任一候选关键字段的传递函数依赖则符合第三范式。(在第三范式中字段与字段之间不能存在组合重复)

时间: 2024-08-02 00:15:36

MYSQL总复习的相关文章

EF6 在原有数据库中使用 CodeFirst 总复习(五、生成发帖页面)

有点与在原有数据库中使用 CodeFirst 远了,不过是总复习吗,总得全面点. 一.在用户表(Users)中插入两个用户 二.生成发帖界面 MVC生成的界面很多,也没使用Ajax,实际开发中很少会使用,这里只是为了演示. 但无论用什么生成,特性.实体对象等都是要用到的. 生成之前要编译一下. 三.先试试看能不能运行 空空如也 应该显示用户名,显示成登陆名了(其实预想的是不在新增和修改时显示,未考虑到列表),删除标记怎么也显示出来了,还有内容,能显示的下吗... 四.列显示问题 让列表显示用户,

[家里蹲大学数学杂志]第240期钟玉泉编复变函数总复习纲要

第240期_钟玉泉编复变函数总复习纲要 下载后请自行打印.预览或学习, 不要到处传播于网络, 更不要用于商业用途.

mysql的复习与进阶

--  mysql的复习与进阶--  创建一个结构完整的表create table tab1(id int(5) not null auto_increment primary key comment "这是ID",name varchar(20) not null default "ran",age int(2) not null);--  在id不能加default --  复制表create  table tab2 select * from tab1; --

2016年初中数学知识点中考总复习总结归纳

2016年初中数学知识点中考总复习总结归纳 http://wenku.baidu.com/link?url=NbEiI_Ld2TO3zEH8d5oDxTux2IBWJ5HqNmZ467MGchJTV2G0pyG4_TauOsYhjL6Ybyqp8MxUKM_wtofUqMTc7ePR3gJv3zIY27sTuSGOaRW

实验十八 总复习

实验十八  总复习 实验时间 2018-12-30 1.实验目的与要求 (1) 综合掌握java基本程序结构: (2) 综合掌握java面向对象程序设计特点: (3) 综合掌握java GUI 程序设计结构: (4) 综合掌握java多线程编程模型: (5) 综合编程练习. 2.实验内容和步骤 任务1:填写课程课后调查问卷,网址:https://www.wjx.cn/jq/33108969.aspx. 任务2:综合编程练习 练习1:设计一个用户信息采集程序,要求如下: (1)  用户信息输入界面

P2 总复习

目录 0531总复习 数据类型内置方法 整形类型内置方法 浮点型类型内置方法 字符串类型内置方法 优先掌握 需要掌握 了解 列表类型内置方法 优先掌握 需要掌握 元组类型内置方法 优先掌握 字典类型内置方法 优先掌握 需要掌握 集合类型内置方法 优先掌握 需要掌握 数据类型总结 可变or不可变 有序or无需 存一个值or多个值 拷贝 浅拷贝 深拷贝 字符编码 Python3解释器编码 文件操作 打开文件的流程 with管理上下文 打卡文件的三种模式 同时打开两个文件 文件复制 打开文件file后

0505.Net基础班第二十一天(基础加强总复习)

1.取消播放器的自动播放功能 2.播放或者暂停按钮 3.下一曲.上一曲 4.多选删除 5.静音和放音 6.选择列表中的音乐文件,单击播放按钮直接播放 7.自动进行下一曲 15秒  44秒 当我和世界不一样 44.--47 那就让我不一样 lblInfomation.Text = musicPlayer.currentMedia.duration.ToString() + "\r\n" + musicPlayer.currentMedia.durationString + "\

面试被问MySQL总回答不好:总结100道MySQL面试题和21题MySQL性能优化

前一阵系统的学习了一下MySQL,也有一些实际操作经验,偶然看到一篇和MySQL相关的面试文章,发现其中的一些问题自己也回答不好,虽然知识点大部分都知道,但是无法将知识串联起来 因此决定搞一个MySQL灵魂100问,试着用回答问题的方式,让自己对知识点的理解更加深入一点 主要针对的是开发人员需要知道的一些MySQL的知识点,主要包括索引,事务,优化等方面,以在面试中高频的问句形式给出答案 索引相关 什么是索引? 索引是个什么样的数据结构呢? Hash索引和B+树所有有什么区别或者说优劣呢? 上面

Java面向对象总复习-QuickHit

1.创建玩家级别类Level.java 1 package com.bdqn; 2 /** 3 * 1.玩家级别类 4 * @author pc 5 * 6 */ 7 public class Level { 8 /** 9 * 级别号 10 */ 11 private int levelNo; 12 /** 13 * 各级别一次输出字符串的长度 14 */ 15 private int strLength; 16 /** 17 * 各级别输出字符串的次数 18 */ 19 private in