• MySQL入门


    1.什么是数据库?

           通其意,数据库数据的集合,但是,在计算机编程之中,数据库的定义和生活中有一定的区别。计算机中的数据库是“按照数据结构来组织、存储和管理数据的仓库”

                1.数据库中的数据它都是有一定规律结构,相同类型的数据放在一起,不同类型的数据之间相互隔离

                2.数据库由统一的规则来读写,它有专门的SQL语言用来对数据库中的数据进行增加,修改,删除及查询操作。

    每个数据库中储存着许多的表,每一个表里面的数据的结构它都是一样的,这非常类似我们常用的Excel表格,但是数据库的本质就是文件系统


    2.什么是MySQL?

             MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。

            关系数据库它是将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。由于MySQL是开放源码软件,对于一般的个人使用者和中小型企业来说,MySQL提供的功能绰绰有余,可以大大降低开发成本。

    • SQL

               SQL全称Structured Query Language,简称SQL,中文叫结构化查询语言。

    • SQL语句分类

        数据定义语言:简称DDL(Data Definition Language),用来定义数据库对象:数据库,表,列等。关键字:create,alter,drop等

        数据操作语言:简称DML(Data Manipulation Language),用来对数据库中表的记录进行更新。关键字:insert,delete,update等

        数据控制语言:简称DCL(Data Control Language),用来定义数据库的访问权限和安全级别,及创建用户;关键字:grant等

        数据查询语言:简称DQL(Data Query Language),用来查询数据库中表的记录。关键字:select,from,where等

    • 关于SQL语句的使用

             1.针对库操作

                  1.1.创建数据库:create database 数据库名;

                  1.2.查看数据库:show create database 数据库名

              2.针对表操作

                  2.1查看表

                         查看数据库中的所有表:show tables;

                         查看表结构:desc 表名;

                 2.2删除表

                        drop table 表名;

                 2.3修改表

                       alter table 表名 add 列名 类型(长度) 约束; --修改表添加列.

                       alter table 表名 modify 列名 类型(长度) 约束; --修改表修改列的类型长度及约束.

                       alter table 表名 change 旧列名 新列名 类型(长度) 约束; --修改表修改列名.

                       alter table 表名 drop 列名; --修改表删除列.

                      rename table 表名 to 新表名; --修改表名

                     alter table 表名 character set 字符集; --修改表的字符集

               2.4新增表数据

                     insert into 表 (列名1,列名2,列名3..) values  (值1,值2,值3..); -- 向表中插入某些列

                     insert into 表 values (值1,值2,值3..); --向表中插入所有列

                     insert into 表 (列名1,列名2,列名3..) values select (列名1,列名2,列名3..) from 表

                     insert into 表 values select * from 表

                2.5修改表数据

                     update 表名 set 字段名=值,字段名=值;

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

                2.6删除表数据

                   delete from 表名 [where 条件];(删除表数据)

    • cmd乱码

                     修改my.ini文件,然后重启mysql服务器即可

                  

    • SQL执行顺序

                  示例:SELECT * FROM user LEFT JOIN order ON user.id = order.uid WHERE order.price > 1000 GROUP BY user.name HAVING count(1) > 5 ORDER BY user.name LIMIT 0,10

               1.  FROM(将最近的两张表,进行笛卡尔积)---VT1

               2.ON(将VT1按照它的条件进行过滤)---VT2

               3.  LEFT JOIN(保留左表的记录)---VT3

               4.   WHERE(过滤VT3中的记录)--VT4…VTn

               5.  GROUP BY(对VT4的记录进行分组)---VT5

               6.  HAVING(对VT5中的记录进行过滤)---VT6

               7. SELECT(对VT6中的记录,选取指定的列)--VT7

               8.ORDER BY(对VT7的记录进行排序)--游标

               9. LIMIT(对排序之后的值进行分页)

     在我们写带有WHERE条件的SQL语句时,优先级高的部分要去编写过滤力度最大的条件语句。

    • 表与表之间存在的关系

                   一对一关系 (例如:一个身份证只对应这一个人)

                   一对多关系(例如:一个年级中有多名学生)

                   多对多关系(同一个商品对应多个订单,一个订单对应多个商品)

  • 相关阅读:
    ThreadLocal垮线程池传递数据解决方案:TransmittableThreadLocal
    java steam 使用指南groupingBy进阶用法
    微言Netty:百万并发基石上的epoll之剑
    ES聚合查询详解(一)
    肝了一个月的Netty知识点(上)
    kafka 如何保证消息不丢失
    IO多路复用
    Java 重入锁
    Kotlin中的协程和多线程比较实验
    mysql性能排查思路
  • 原文地址:https://www.cnblogs.com/grow001/p/12097555.html
Copyright © 2020-2023  润新知