• MySQL基本知识学习笔记


    一、下载安装

    如下地址查看https://www.cnblogs.com/LiuChengGang/p/13217839.html

     

    二、DDL、DML、DCL、TCL概述

    DDL(data definition language)数据定义语言:定义或改变表结构、数据类型、约束、表之间链接

    DML(data manipulation language)数据操作语言:操作数据表中的数据,如增删改查

    DCL(data control language)数据控制语言:设置或更改数据库用户和角色

    TCL(transaction control language)事务控制语言:控制事务

     

    三、DDL部分

    1、语法

    创建数据库:create database (if not exits) 数据库名;

    删除数据库:drop database (if exists) 数据库名;

    修改数据库:alter database 数据库名 character set utf8;    注:MySQL中“utf-8”都不需要“-”

    查看数据库:show databases ;

    使用或更换数据库:use 数据库名;

     

    创建表:create table 表名 (字段1 字段类型 约束,字段2 字段类型 约束...);

    删除表:drop table 表名;

    修改表:alter table 表旧名 rename to 表新名;

        alter table 表名 (add 字段 类型..);

        alter table 表名 drop 字段;

        alter table 表名 modify 字段 新类型;

        alter table 表名 change 列旧名 列新名 类型; 

    查询表:show tables;      desc/describe 表名;

    2、数据类型

    想细看,可查看该网址:https://www.cnblogs.com/-xlp/p/8617760.html

    数值型:int 、float、double

    字符串:char、varchar、text

    日期型:date、datatime、timestamp(时间戳)

    3、约束

    主键约束 primary key 非空且唯一    联合主键 primary key(字段1,字段2)

      添加主键 alter table user add primary key(id);

      删除主键 alter table user drop primary key;

      修改主键 alter table user modify id int primary key;

    自增约束 auto_increment

    外键约束 foreign key(class_id) references class(id)

    唯一约束 unique

    非空约束 not null

    默认约束 default

    操作约束的通用方法:

    a.建表时,字段类型后面添加约束

    b.建表时,约束字段

    c.建表后,alter修改表结构

    4、三范式

    第一范式:字段不可拆分

    第二范式:满足第一范式前提下,除主键外所有字段完全依赖于主键。如果不完全依赖(这 种情况只可能出现在联合主键),就需要拆表

    第三范式:满足第二范式前提下,不能出现传递依赖

     四、DML部分

    增:insert into 表名(字段...) values(值...);

    删:delete 表名 where 条件;

    改:update 表名 set 字段 = 值 where 条件;

    查:将查询需要用到的多数语法集合为一个语法(此句子不一定符合语法,只是方便记忆): 

      select distinct/聚合函数(avg、count、sum、max、min)/case when 条件 then 结果1 else 结果2 end       查询字段

      from 表1 a,表2 b

      left join/right join/inner join 表3 c on

      where and/or/between...and/in/like

      group by  分组字段  having 分组后条件 with rollup

      order by 排序字段1 desc/asc , 排序字段2 desc/asc

      limit 偏移量,行数;

     查询语句执行顺序:基本从上到下,select的句子除外,select句子仅仅在order by 之前。

    可去该网址练习一下:https://www.cnblogs.com/jike1219/p/9252582.html

    五、DCL部分

     一般开发人员使用较少,简单了解

    授权:grant 权限1,权限2... on 数据库名.* to 用户名@IP

    撤权:revoke 权限1,权限2... on 数据库名.* from 用户名@IP

    删除用户:drop user 用户名@IP

    查看权限:show grants for 用户名@IP

    六、TCL部分

    存储引擎innoDB支持事务

    事务四大特性(ACID):原子性、一致性、隔离性、持久性

    原子性:一个事务是一个整体,事务内操作要么全执行,要么全不执行

    一致性:一个事务整体的效果符合逻辑和客观事实

    隔离性:事务之前不能相互干扰

    持久性:一旦提交事务,数据库中数据永久改变

  • 相关阅读:
    【笔记】 寻址方式
    今日思考之 20200614:java 中 null 是否对 gc 有帮助?
    分布式唯一ID生成方案对比分析 笔记
    请不要再称数据库是CP或者AP——CAP的误导(短板)和它的使命
    延迟初始化中的 双重检查模式 和 延迟占位类模式 你都用对了吗?
    redis bitmap
    RabbitMQ 使用 Policies HTTP API 绑定和解绑 DLX
    spring boot 自动装配的实现原理和骚操作,不同版本实现细节,debug 到裂开......
    netty 学习笔记三:大跃进,使用 netty 实现 IM 即时通讯系统
    一道 Java 方法传值面试题——Java方法传值的值传递概念和效果 + Integer 缓存机制 + 反射修改 private final 域
  • 原文地址:https://www.cnblogs.com/LiuChengGang/p/13218346.html
Copyright © 2020-2023  润新知