• Mysql数据库


    1.什么是mysql?

    数据:数:数字信息 据:属性 对一系列对象的具体属性的描述的集合

    数据库:数据库就是用来组织(各个数据之间是有关联,是按照规则组织起来的),存储和管理(对数据的增删改查)数据的仓库。

    数据库是企业的重要信息资产,在使用数据库时,要注意(查和增 无所谓 但是删和改要谨慎

    数据库管理系统(DBMS):实现对数据的有效组织,管理和存取的系统软件

    数据库是一个系统,是一个人机系统,硬件,os数据库,DBMS和数据库的用户共同组成

    用户是通过DBMS(各种数据库软件)来对数据库进行操作。

    2.数据库的分类

    mysql:关系型数据库

    redis:非关系型数据库 es

    3.关系型数据库

    关系型数据库:存储数据的结构是一个二维表格

    表:行 列

    行:记录,用来描述一个对象信息

    列:字段,用来描述对象的一个属性

    关系型数据库:mysql(中小类型的数据并发请求 免费) oracle(大数据量还是用他) sql-server mariaDB postgresql

    关系型数据库当中,表里面的数据是关联的,表和表之间的数据也是关联起来。

    4.非关系型数据库

    非关系型数据库:保存不是一张表格,key--------value 键值对来保存数据。

    redis:缓存性的数据库

    es:索引型数据库

    文档型:MongoDB

    既然有关联,查询速度相对来说,关系型数据查询速度更慢一些,非关系型数据库可以支持高并发读写。对海量数据依旧保持着高效率的存储和访问。

    5.mysql数据库的存储引擎

    5.5之前:MYISAM 不支持事物和外键的存储引擎,适用于读的多,写的少。

    5.6之后默认的存储引擎:Innodb 可以支持事务,外键,行级锁定的存储引擎

    支持高并发性能的应用

    6.事务

    事务:在数据库当中,一个或者多个操作组成的数据操作的序列

    这些操作要么全部成功,失败一个就全部不执行。确保数据的一致性和完整性。

    6.1 事务的特点:

    原子性。最小的单位,数据库最小工作单元,要么全部执行成功,要么全部不执行,只要有一个操作时间,整个执行的序列都会被回滚,完成的操作也会被撤销

    一致性:事务执行前后,数据库的完整性约束不能被破坏。只有在满足所有的约束条件情况下,事务才能被提交

    隔离性:事务的执行是相互隔离,一个事务的执行不能受到其他执行事务的干扰,并发事务之间相互隔离,防止数据不一致的情况发生

    持久性:事务一旦提交,他所做的所有修改会被永久保存在数据库中。即使系统崩溃,提交的数据也不会丢失。

    确保数据库始终处于一致性的状态,确保数据的完整和一致

    7.mysql的语句规范

    在数据库系统中,sql不区分大小写,但是建议大写。语句不区分,但是表名是严格区别大小写

    sql语句可以单行也可以多行书写。但是默认都是以;结尾

    关键词不能跨行或者简写

    子语句通常位于多行,便于编辑,提供可读性

    8.数据库的命名规则

    必须已字母开头,后面包含数据,特殊字符:#_$

    不要使用mysql的保留字:table select

    数据库名 表名 用户名严格区分大小写。

    9.数据库的字符类型

    int:4个字节,用来存储整数,

    char:固定长度的字符串,用来存储定长的字符串

    varchar:可变长度的字符类型,存储可变长度的字符串(无限制的可以随便写,也要根据类型的长度)

    float (m,d):单精度浮点存储浮点数 ,表示总位数,d表示小数

    double(m,b)双精度浮点数,存储浮点数,表示总位数 ,d表示小数

    test 用于存储大本文数据,文档,或者长字符串

    image 二进制存储图像,图片,多媒体

    decimal (5,2)用于存储固定精度的小数,其实5,表示总位数,2表示小位数

    date:存储日期yyy-mm-dd

    datetime 存储日志 YYY-MM-DD HH:MM:SS

    timestamp 和datetime 格式一致,可以自动的更新为当前时间钻

    10.sql语句的分类

    DDL:数据定义语言,用于创建数据的对象,创建库,表 索引 (对库)

    CREATE 创建

    DROP 删除

    ALTER 修改

    DML:数据操作语言,对表中的数据进行管理(对表进行操作)

    update 更新

    insert 添加

    delete 删除

    DQL:查询数据记录

    select 查看

    DCL:数据控制语言,设置或者更改数据库用户或者用户的权限

    GRANT 赋权

    REVOKE 取消赋权

    TCL:事务控制语句,管理数据库当中的事务。

    commit 确认提交事务

    ROLLBACK,事务提交之后没有办法回滚

    savepoint 保存点,可以回滚

    11.语句总结

    show global variables like 'port'; 查看数据库的端口

    show databases; 查看数据库

    use mysql;使用mysql数据库

    show tables; 查看mysql有哪些表

    describe user\G;纵向查看表结构 简写:desc user\G;

    create database guoqi;创建数据库

    create table guoqi666(id int(4) not null,name varchar(12) not null,sroce decimal(5,2),passwd char(48),primary key(id)); 创建表

    select * from guoqi666 查看表的内容

    truncate table guoqi666; 清空表的内容

    insert into guoqi666 (id,name,sroce,passwd) values(1,'郭旗',90,'123');增加表的内容

    insert into guoqi666 values(2,'韩文升','95','456');增加表的内容

    insert into guoqi666 values(3,'王浩','91',password('hyde')); 加密处理密码

    update guoqi666 set passwd=password('456') where id = 2;加密处理密码

    delete from guoqi666 where id = 10;删除表的内容

    select * from guoqi666 where id=5;查询表为id-5的内容

    select * from guoqi666 limit 3,5;查询4-6行的表的内容

    select * from guoqi666 limit 2;查询头两行

    select distinct sroce from guoqi666; distinct 去重复

    select distinct id,name,sroce from guoqi666;去重复

    alter table guoqi666 rename guoqi999;修改表名

    alter table guoqi666 add birth date; 表中增加一列

    update guoqi666 set birth=date('2020-1-1') where id =6;添加内容

    alter table guoqi666 change birth birthday datetime;修改birth为birthday

    alter table guoqi666 drop birthday; 删除birthday

    alter table guoqi666 modify column passwd varchar(52);修改字段类型

  • 相关阅读:
    LNMP及论坛搭建
    python总是安装模块失败?这次教你学会镜像安装~
    Cookie对象和HttpSession对象
    如何利用 RPA 实现自动化获客?
    软考知识点之需求管理
    Android HAL机制的深入理解及在Linux上移植和运行的一个好玩的HAL小例子
    为什么3ds max渲染效果图有噪点?点进来,CG Magic告诉您!
    FormatterRegistry配置应用的格式转换功能
    第0次 序言
    浅学Nginx学习笔记
  • 原文地址:https://blog.csdn.net/qq_59980732/article/details/134077093